Source file
src/crypto/x509/x509_test_import.go
1
2
3
4
5
6
7
8
9
10
11 package main
12
13 import (
14 "crypto/rand"
15 "crypto/x509"
16 "crypto/x509/pkix"
17 "encoding/pem"
18 "math/big"
19 "strings"
20 "time"
21 )
22
23 func main() {
24 block, _ := pem.Decode([]byte(pemPrivateKey))
25 rsaPriv, err := x509.ParsePKCS1PrivateKey(block.Bytes)
26 if err != nil {
27 panic("Failed to parse private key: " + err.Error())
28 }
29
30 template := x509.Certificate{
31 SerialNumber: big.NewInt(1),
32 Subject: pkix.Name{
33 CommonName: "test",
34 Organization: []string{"Σ Acme Co"},
35 },
36 NotBefore: time.Unix(1000, 0),
37 NotAfter: time.Unix(100000, 0),
38 KeyUsage: x509.KeyUsageCertSign,
39 }
40
41 if _, err = x509.CreateCertificate(rand.Reader, &template, &template, &rsaPriv.PublicKey, rsaPriv); err != nil {
42 panic("failed to create certificate with basic imports: " + err.Error())
43 }
44 }
45
46 var pemPrivateKey = testingKey(`-----BEGIN RSA TESTING KEY-----
47 MIIBOgIBAAJBALKZD0nEffqM1ACuak0bijtqE2QrI/KLADv7l3kK3ppMyCuLKoF0
48 fd7Ai2KW5ToIwzFofvJcS/STa6HA5gQenRUCAwEAAQJBAIq9amn00aS0h/CrjXqu
49 /ThglAXJmZhOMPVn4eiu7/ROixi9sex436MaVeMqSNf7Ex9a8fRNfWss7Sqd9eWu
50 RTUCIQDasvGASLqmjeffBNLTXV2A5g4t+kLVCpsEIZAycV5GswIhANEPLmax0ME/
51 EO+ZJ79TJKN5yiGBRsv5yvx5UiHxajEXAiAhAol5N4EUyq6I9w1rYdhPMGpLfk7A
52 IU2snfRJ6Nq2CQIgFrPsWRCkV+gOYcajD17rEqmuLrdIRexpg8N1DOSXoJ8CIGlS
53 tAboUGBxTDq3ZroNism3DaMIbKPyYrAqhKov1h5V
54 -----END RSA TESTING KEY-----
55 `)
56
57 func testingKey(s string) string { return strings.ReplaceAll(s, "TESTING KEY", "PRIVATE KEY") }
58
View as plain text