...
1 package signer
2
3 import (
4 "crypto/ecdsa"
5 "crypto/x509"
6 "encoding/pem"
7 "errors"
8 )
9
10 func parseKey(pemBytes []byte) (*ecdsa.PrivateKey, error) {
11
12 block, _ := pem.Decode(pemBytes)
13 if block == nil || block.Type != "EC PRIVATE KEY" {
14 return nil, errors.New("PEM block type must be EC PRIVATE KEY")
15 }
16 return x509.ParseECPrivateKey(block.Bytes)
17 }
18
19 func parseCert(pemBytes []byte) (*x509.Certificate, error) {
20
21 block, _ := pem.Decode(pemBytes)
22 if block == nil || block.Type != "CERTIFICATE" {
23 return nil, errors.New("PEM block type must be CERTIFICATE")
24 }
25 return x509.ParseCertificate(block.Bytes)
26 }
27
View as plain text