mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	fix subrepo break change
This commit is contained in:
		
							
								
								
									
										64
									
								
								modules/crypto/ssh/test/testdata_test.go
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										64
									
								
								modules/crypto/ssh/test/testdata_test.go
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| // Copyright 2014 The Go Authors. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // IMPLEMENTOR NOTE: To avoid a package loop, this file is in three places: | ||||
| // ssh/, ssh/agent, and ssh/test/. It should be kept in sync across all three | ||||
| // instances. | ||||
|  | ||||
| package test | ||||
|  | ||||
| import ( | ||||
| 	"crypto/rand" | ||||
| 	"fmt" | ||||
|  | ||||
| 	"golang.org/x/crypto/ssh" | ||||
| 	"golang.org/x/crypto/ssh/testdata" | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	testPrivateKeys map[string]interface{} | ||||
| 	testSigners     map[string]ssh.Signer | ||||
| 	testPublicKeys  map[string]ssh.PublicKey | ||||
| ) | ||||
|  | ||||
| func init() { | ||||
| 	var err error | ||||
|  | ||||
| 	n := len(testdata.PEMBytes) | ||||
| 	testPrivateKeys = make(map[string]interface{}, n) | ||||
| 	testSigners = make(map[string]ssh.Signer, n) | ||||
| 	testPublicKeys = make(map[string]ssh.PublicKey, n) | ||||
| 	for t, k := range testdata.PEMBytes { | ||||
| 		testPrivateKeys[t], err = ssh.ParseRawPrivateKey(k) | ||||
| 		if err != nil { | ||||
| 			panic(fmt.Sprintf("Unable to parse test key %s: %v", t, err)) | ||||
| 		} | ||||
| 		testSigners[t], err = ssh.NewSignerFromKey(testPrivateKeys[t]) | ||||
| 		if err != nil { | ||||
| 			panic(fmt.Sprintf("Unable to create signer for test key %s: %v", t, err)) | ||||
| 		} | ||||
| 		testPublicKeys[t] = testSigners[t].PublicKey() | ||||
| 	} | ||||
|  | ||||
| 	// Create a cert and sign it for use in tests. | ||||
| 	testCert := &ssh.Certificate{ | ||||
| 		Nonce:           []byte{},                       // To pass reflect.DeepEqual after marshal & parse, this must be non-nil | ||||
| 		ValidPrincipals: []string{"gopher1", "gopher2"}, // increases test coverage | ||||
| 		ValidAfter:      0,                              // unix epoch | ||||
| 		ValidBefore:     ssh.CertTimeInfinity,           // The end of currently representable time. | ||||
| 		Reserved:        []byte{},                       // To pass reflect.DeepEqual after marshal & parse, this must be non-nil | ||||
| 		Key:             testPublicKeys["ecdsa"], | ||||
| 		SignatureKey:    testPublicKeys["rsa"], | ||||
| 		Permissions: ssh.Permissions{ | ||||
| 			CriticalOptions: map[string]string{}, | ||||
| 			Extensions:      map[string]string{}, | ||||
| 		}, | ||||
| 	} | ||||
| 	testCert.SignCert(rand.Reader, testSigners["rsa"]) | ||||
| 	testPrivateKeys["cert"] = testPrivateKeys["ecdsa"] | ||||
| 	testSigners["cert"], err = ssh.NewCertSigner(testCert, testSigners["ecdsa"]) | ||||
| 	if err != nil { | ||||
| 		panic(fmt.Sprintf("Unable to create certificate signer: %v", err)) | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user