1 回答
TA貢獻2037條經驗 獲得超6個贊
您可能會考慮一個類似的庫google/trillian,其中包含一個MustMarshalPublicPEMToDER(keyPEM string) []byte函數。
// MustMarshalPublicPEMToDER reads a PEM-encoded public key and returns it in DER encoding.
// If an error occurs, it panics.
func MustMarshalPublicPEMToDER(keyPEM string) []byte {
block, _ := pem.Decode([]byte(keyPEM))
key, err := x509.ParsePKIXPublicKey(block.Bytes)
if err != nil {
panic(err)
}
keyDER, err := x509.MarshalPKIXPublicKey(key)
if err != nil {
panic(err)
}
return keyDER
}
正如該函數的注釋所示,它讀取的是 PEM 編碼的公鑰。
正如Topaco所指出的,您需要crypto/x509#ParsePKCS8PrivateKey讀取私有 PKCS#8 PEM 編碼密鑰。
元帥部分沒有變化。
- 1 回答
- 0 關注
- 151 瀏覽
添加回答
舉報
