...

Source file src/github.com/cloudflare/circl/pki/pki_test.go

Documentation: github.com/cloudflare/circl/pki

     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