Marshalling des clés privées PKCS8 dans Go
La question se pose concernant la disponibilité d'une méthode pour rassembler les clés privées PKCS8 dans Go 1.5. Une fonction similaire, telle que x509.MarshalPKCS1PrivateKey, est recherchée.
Solution personnalisée
Fait intéressant, il n'existe pas de fonction standard pour rassembler les clés privées PKCS8 dans Go. Cependant, une solution personnalisée est fournie ci-dessous :
<code class="go">type pkcs8Key struct { Version int PrivateKeyAlgorithm []asn1.ObjectIdentifier PrivateKey []byte } func rsa2pkcs8(key *rsa.PrivateKey) ([]byte, error) { var pkey pkcs8Key pkey.Version = 0 pkey.PrivateKeyAlgorithm = make([]asn1.ObjectIdentifier, 1) pkey.PrivateKeyAlgorithm[0] = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 1} pkey.PrivateKey = x509.MarshalPKCS1PrivateKey(key) return asn1.Marshal(pkey) }</code>
Cette fonction personnalisée, rsa2pkcs8, peut être utilisée pour rassembler les clés privées PKCS8 dans Go 1.5.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!