Use chinese crypto

This commit is contained in:
Liyi Meng
2022-10-08 21:15:47 +02:00
parent 401fafb7e6
commit e425269f0e
4 changed files with 80 additions and 14 deletions

39
cert/cert_test.go Normal file
View File

@@ -0,0 +1,39 @@
package cert
import (
"crypto/ecdsa"
"fmt"
"os"
"testing"
)
func TestCreateAndReadCert(t *testing.T) {
kFile := "service.key"
defer os.Remove(kFile)
key, err := NewPrivateKey()
if err != nil {
t.Errorf("failed to create private key: %v", err)
}
if err := WriteKey(kFile, EncodePrivateKeyPEM(key)); err != nil {
t.Errorf("failed to encode private key to pem: %v", err)
}
keyR, err := PrivateKeyFromFile(kFile)
if err != nil {
t.Errorf("failed to load private key from file: %v", err)
}
switch k := keyR.(type) {
case *ecdsa.PrivateKey:
fmt.Println("loaded back ecdsa private key")
default:
t.Errorf("load back a wrong private key %v", k)
}
buf := EncodePrivateKeyPEM(key)
_, err = ParsePrivateKeyPEM(buf)
if err != nil {
t.Errorf("failed to parse private key from pem: %v", err)
}
}