Conversion des clés RSA du format PKCS#1 au format X.509
Dans OpenSSL, les clés RSA peuvent être enregistrées dans deux formats :
.NET peut gérer à la fois les clés codées ASN.1/DER (PKCS#1) et les clés codées PEM (X.509). Pour convertir une clé PKCS#1 en clé X.509 :
1. Utilisez PEM_write_bio_PUBKEY au lieu de PEM_write_bio_RSAPublicKey :
2. Convertissez la clé RSA en EVP_PKEY à l'aide de EVP_PKEY_set1_RSA :
Exemple de code :
<code class="c++">#include <openssl/pem.h> #include <openssl/rsa.h> #include <openssl/evp.h> int main() { RSA *rsa = RSA_new(); BN_set_word(BN_new(), RSA_F4); RSA_generate_key_ex(rsa, 2048, NULL, NULL); EVP_PKEY *pkey = EVP_PKEY_new(); EVP_PKEY_set1_RSA(pkey, rsa); BIO *pem = BIO_new_file("rsa-public.pem", "w"); PEM_write_bio_PUBKEY(pem, pkey); RSA_free(rsa); EVP_PKEY_free(pkey); return 0; }</code>
Ce programme génère une paire de clés RSA, convertit la clé publique au format X.509 et l'enregistre dans le fichier "rsa-public.pem".
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!