| 72 | } |
| 73 | |
| 74 | func TestCertificateVerifyCommand(t *testing.T) { |
| 75 | ca, err := minica.New(minica.WithName("TestCertificateVerify")) |
| 76 | require.NoError(t, err) |
| 77 | signer, err := keyutil.GenerateDefaultSigner() |
| 78 | require.NoError(t, err) |
| 79 | tmpl := &x509.Certificate{ |
| 80 | Subject: pkix.Name{CommonName: "test-cert"}, |
| 81 | PublicKey: signer.Public(), |
| 82 | } |
| 83 | crt, err := ca.Sign(tmpl) |
| 84 | require.NoError(t, err) |
| 85 | |
| 86 | testscript.Run(t, testscript.Params{ |
| 87 | Files: []string{"testdata/certificate/verify.txtar"}, |
| 88 | Setup: func(e *testscript.Env) error { |
| 89 | _, err := pemutil.Serialize(crt, pemutil.WithFilename(filepath.Join(e.Cd, "test.crt"))) |
| 90 | require.NoError(t, err) |
| 91 | _, err = pemutil.Serialize(ca.Intermediate, pemutil.WithFilename(filepath.Join(e.Cd, "intermediate.pem"))) |
| 92 | require.NoError(t, err) |
| 93 | |
| 94 | return nil |
| 95 | }, |
| 96 | }) |
| 97 | |
| 98 | testscript.Run(t, testscript.Params{ |
| 99 | Files: []string{"testdata/certificate/verify-bad-pem.txtar"}, |
| 100 | Setup: func(e *testscript.Env) error { |
| 101 | err := os.WriteFile(filepath.Join(e.Cd, "bad.pem"), []byte("bogus"), 0644) |
| 102 | require.NoError(t, err) |
| 103 | |
| 104 | return nil |
| 105 | }, |
| 106 | }) |
| 107 | } |
| 108 | |
| 109 | func TestCertificateFingerprintCommand(t *testing.T) { |
| 110 | b, err := os.ReadFile("./testdata/intermediate_ca.crt") |