Heim >Backend-Entwicklung >C++ >Wie konvertiert man RSA-Schlüssel vom PKCS#1- in das X.509-Format in OpenSSL?
Konvertieren von RSA-Schlüsseln vom PKCS#1- in das X.509-Format
In OpenSSL können RSA-Schlüssel in zwei Formaten gespeichert werden:
.NET kann sowohl ASN.1/DER-codierte Schlüssel (PKCS#1) als auch PEM-codierte Schlüssel (X.509) verarbeiten. So konvertieren Sie einen PKCS#1-Schlüssel in einen X.509-Schlüssel:
1. Verwenden Sie PEM_write_bio_PUBKEY anstelle von PEM_write_bio_RSAPublicKey:
2. Konvertieren Sie den RSA-Schlüssel in EVP_PKEY mit EVP_PKEY_set1_RSA:
Beispielcode :
<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>
Dieses Programm generiert ein RSA-Schlüsselpaar, konvertiert den öffentlichen Schlüssel in ein X.509-Format und speichert ihn in der Datei „rsa-public.pem“.
Das obige ist der detaillierte Inhalt vonWie konvertiert man RSA-Schlüssel vom PKCS#1- in das X.509-Format in OpenSSL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!