注意:如果您已經擁有該對象,請跳至#3x509.Certificate
。
您需要執行以下操作:
用 解碼 PEM?pem.Decode()
。
block,?_?:=?pem.Decode([]byte(certPEM))
解析證書x509.ParseCertificate()
。
cert,?_?:=?x509.ParseCertificate(block.Bytes)
用 封送公鑰x509.MarshalPKIXPublicKey()
。
publicKeyDer,?_?:=?x509.MarshalPKIXPublicKey(cert.PublicKey)
使用 PEM 編碼結構對其進行編碼pem.EncodeToMemory()
。
publicKeyBlock := pem.Block{
? ? Type:? "PUBLIC KEY",
? ? Bytes: publicKeyDer,
}
publicKeyPem := string(pem.EncodeToMemory(&publicKeyBlock))
在Go Playground上運行
cert.pem如果使用以下命令將示例中的證書復制到文件中,則可以確認結果:
openssl x509 -inform pem -in cert.pem -pubkey -noout
你應該得到相同的結果!