package signer import ( "crypto/ecdsa" "crypto/x509" "encoding/pem" "errors" ) func parseKey(pemBytes []byte) (*ecdsa.PrivateKey, error) { // extract PEM from request object block, _ := pem.Decode(pemBytes) if block == nil || block.Type != "EC PRIVATE KEY" { return nil, errors.New("PEM block type must be EC PRIVATE KEY") } return x509.ParseECPrivateKey(block.Bytes) } func parseCert(pemBytes []byte) (*x509.Certificate, error) { // extract PEM from request object block, _ := pem.Decode(pemBytes) if block == nil || block.Type != "CERTIFICATE" { return nil, errors.New("PEM block type must be CERTIFICATE") } return x509.ParseCertificate(block.Bytes) }