github.com/cloudflare/circl@v1.5.0/pki/pki_test.go (about) 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 t.Run(scheme.Name(), func(t *testing.T) { 13 if scheme == nil { 14 t.Fatal() 15 } 16 17 _, ok := scheme.(pki.CertificateScheme) 18 if !ok { 19 return 20 } 21 22 pk, sk, err := scheme.GenerateKey() 23 if err != nil { 24 t.Fatal(err) 25 } 26 27 packedPk, err := pki.MarshalPEMPublicKey(pk) 28 if err != nil { 29 t.Fatal(err) 30 } 31 32 pk2, err := pki.UnmarshalPEMPublicKey(packedPk) 33 if err != nil { 34 t.Fatal(err) 35 } 36 if !pk.Equal(pk2) { 37 t.Fatal() 38 } 39 40 packedSk, err := pki.MarshalPEMPrivateKey(sk) 41 if err != nil { 42 t.Fatal(err) 43 } 44 45 sk2, err := pki.UnmarshalPEMPrivateKey(packedSk) 46 if err != nil { 47 t.Fatal(err) 48 } 49 50 if !sk.Equal(sk2) { 51 t.Fatal() 52 } 53 }) 54 } 55 }