in sec/encrypt.go [86:105]
func parsePubKePem(b []byte) (PubEncKey, error) {
key := PubEncKey{}
itf, err := parsePubPemKey(b)
if err != nil {
return key, err
}
switch pub := itf.(type) {
case *rsa.PublicKey:
key.Rsa = pub
case *ecdsa.PublicKey:
key.Ec = pub
default:
return key, errors.Errorf(
"unknown public encryption key type: %T", pub)
}
return key, nil
}