...
1 package pki_test
2
3 import (
4 "testing"
5
6 "github.com/cloudflare/circl/pki"
7 "github.com/cloudflare/circl/sign/schemes"
8 )
9
10 func TestPEM(t *testing.T) {
11 for _, scheme := range schemes.All() {
12 scheme := scheme
13 t.Run(scheme.Name(), func(t *testing.T) {
14 if scheme == nil {
15 t.Fatal()
16 }
17
18 _, ok := scheme.(pki.CertificateScheme)
19 if !ok {
20 return
21 }
22
23 pk, sk, err := scheme.GenerateKey()
24 if err != nil {
25 t.Fatal(err)
26 }
27
28 packedPk, err := pki.MarshalPEMPublicKey(pk)
29 if err != nil {
30 t.Fatal(err)
31 }
32
33 pk2, err := pki.UnmarshalPEMPublicKey(packedPk)
34 if err != nil {
35 t.Fatal(err)
36 }
37 if !pk.Equal(pk2) {
38 t.Fatal()
39 }
40
41 packedSk, err := pki.MarshalPEMPrivateKey(sk)
42 if err != nil {
43 t.Fatal(err)
44 }
45
46 sk2, err := pki.UnmarshalPEMPrivateKey(packedSk)
47 if err != nil {
48 t.Fatal(err)
49 }
50
51 if !sk.Equal(sk2) {
52 t.Fatal()
53 }
54 })
55 }
56 }
57
View as plain text