|
| 1 | +// Hack up the x509.CertificateRequest in here, run `go run testcsr.go`, and a |
| 2 | +// DER-encoded CertificateRequest will be printed to stdout. |
| 3 | +package main |
| 4 | + |
| 5 | +import ( |
| 6 | + "crypto/rand" |
| 7 | + "crypto/x509" |
| 8 | + "crypto/x509/pkix" |
| 9 | + "encoding/pem" |
| 10 | + "log" |
| 11 | + "os" |
| 12 | +) |
| 13 | + |
| 14 | +// A 2048-bit RSA private key |
| 15 | +var pemPrivateKey = `-----BEGIN RSA PRIVATE KEY----- |
| 16 | +MIIEowIBAAKCAQEA5cpXqfCaUDD+hf93j5jxbrhK4jrJAzfAEjeZj/Lx5Rv/7eEO |
| 17 | +uhS2DdCU2is82vR6yJ7EidUYVz/nUAjSTP7JIEsbyvfsfACABbqRyGltHlJnULVH |
| 18 | +y/EMjt9xKZf17T8tOLHVUEAJTxsvjKn4TMIQJTNrAqm/lNrUXmCIR41Go+3RBGC6 |
| 19 | +YdAKEwcZMCzrjQGF06mC6/6xMmYMSMd6+VQRFIPpuPK/6BBp1Tgju2LleRC5uatj |
| 20 | +QcFOoilGkfh1RnZp3GJ7q58KaqHiPmjl31rkY5vS3LP7yfU5TRBcxCSG8l8LKuRt |
| 21 | +MArkbTEtj3PkDjbipL/SkLrZ28e5w9Egl4g1MwIDAQABAoIBABZqY5zPPK5f6SQ3 |
| 22 | +JHmciMitL5jb9SncMV9VjyRMpa4cyh1xW9dpF81HMI4Ls7cELEoPuspbQDGaqTzU |
| 23 | +b3dVT1dYHFDzWF1MSzDD3162cg+IKE3mMSfCzt/NCiPtj+7hv86NAmr+pCnUVBIb |
| 24 | +rn4GXD7UwjaTSn4Bzr+aGREpxd9Nr0JdNQwxVHZ75A92vTihCfaXyMCjhW3JEpF9 |
| 25 | +N89XehgidoGgtUxxeeb+WsO3nvVBpLv/HDxMTx/IDzvSA5nLlYMcqVzb7IJoeAQu |
| 26 | +og0WJKlniYzvIdoQ6/hGydAW5sKd0qWh0JPYs7uLKAWrdAWvrFAp7//fYKVamalU |
| 27 | +8pUu/WkCgYEA+tcTQ3qTnVh41O9YeM/7NULpIkuCAlR+PBRky294zho9nGQIPdaW |
| 28 | +VNvyqqjLaHaXJVokYHbU4hDk6RbrhoWVd4Po/5g9cUkT1f6nrdZGRkg4XOCzHWvV |
| 29 | +Yrqh3eYYX4bdiH5EhB78m0rrbjHfd7SF3cdYNzOUS2kJvCInYC6zPx8CgYEA6oRr |
| 30 | +UhZFuoqRsEb28ELM8sHvdIMA/C3aWCu+nUGQ4gHSEb4uvuOD/7tQNuCaBioiXVPM |
| 31 | +/4hjk9jHJcjYf5l33ANqIP7JiYAt4rzTWXF3iS6kQOhQhjksSlSnWqw0Uu1DtlpG |
| 32 | +rzeG1ZkBuwH7Bx0yj4sGSz5sAvyF44aRsE6AC20CgYEArafWO0ISDb1hMbFdo44B |
| 33 | +ELd45Pg3UluiZP+NZFWQ4cbC3pFWL1FvE+KNll5zK6fmLcLBKlM6QCOIBmKKvb+f |
| 34 | +YXVeCg0ghFweMmkxNqUAU8nN02bwOa8ctFQWmaOhPgkFN2iLEJjPMsdkRA6c8ad1 |
| 35 | +gbtvNBAuWyKlzawrbGgISesCgYBkGEjGLINubx5noqJbQee/5U6S6CdPezKqV2Fw |
| 36 | +NT/ldul2cTn6d5krWYOPKKYU437vXokst8XooKm/Us41CAfEfCCcHKNgcLklAXsj |
| 37 | +ve5LOwEYQw+7ekORJjiX1tAuZN51wmpQ9t4x5LB8ZQgDrU6bPbdd/jKTw7xRtGoS |
| 38 | +Wi8EsQKBgG8iGy3+kVBIjKHxrN5jVs3vj/l/fQL0WRMLCMmVuDBfsKyy3f9n8R1B |
| 39 | +/KdwoyQFwsLOyr5vAjiDgpFurXQbVyH4GDFiJGS1gb6MNcinwSTpsbOLLV7zgibX |
| 40 | +A2NgiQ+UeWMia16dZVd6gGDlY3lQpeyLdsdDd+YppNfy9vedjbvT |
| 41 | +-----END RSA PRIVATE KEY-----` |
| 42 | + |
| 43 | +func main() { |
| 44 | + block, _ := pem.Decode([]byte(pemPrivateKey)) |
| 45 | + rsaPriv, err := x509.ParsePKCS1PrivateKey(block.Bytes) |
| 46 | + if err != nil { |
| 47 | + log.Fatalf("Failed to parse private key: %s", err) |
| 48 | + } |
| 49 | + |
| 50 | + req := &x509.CertificateRequest{ |
| 51 | + Subject: pkix.Name{ |
| 52 | + CommonName: "CapiTalizedLetters.com", |
| 53 | + }, |
| 54 | + DNSNames: []string{ |
| 55 | + "moreCAPs.com", |
| 56 | + "morecaps.com", |
| 57 | + "evenMOREcaps.com", |
| 58 | + "Capitalizedletters.COM", |
| 59 | + }, |
| 60 | + } |
| 61 | + csr, err := x509.CreateCertificateRequest(rand.Reader, req, rsaPriv) |
| 62 | + if err != nil { |
| 63 | + log.Fatalf("unable to create CSR: %s", err) |
| 64 | + } |
| 65 | + _, err = os.Stdout.Write(csr) |
| 66 | + if err != nil { |
| 67 | + log.Fatalf("unable to write to stdout: %s", err) |
| 68 | + } |
| 69 | +} |
0 commit comments