Verwenden von OpenSSL-RSA-Schlüsseln in .NET
Beim Erstellen eines RSA-Schlüsselpaars mit OpenSSL RSA_generate_key() werden öffentliche und private Schlüssel generiert standardmäßig das pkcs#1-Format. .NET erwartet jedoch, dass sie im x509-Format vorliegen.
PEM-Kodierungsformate
Ein PEM-kodierter Schlüssel kann in zwei Formaten geschrieben werden:
.NET-Unterstützung für Schlüsselformate
.NET unterstützt sowohl ASN.1/DER-codierte Schlüssel als auch PEM-codierte Schlüssel, die die SubjectPublicKeyInfo-Struktur schreiben. nicht nur der öffentliche Schlüssel.
Konvertieren in das Dadurch wird die SubjectPublicKeyInfo-Struktur geschrieben.
Codebeispiel
Zusätzliche Hinweise
<code class="cpp">... // Convert RSA key to PKEY EVP_KEY_ptr pkey(EVP_PKEY_new(), ::EVP_PKEY_free); rc = EVP_PKEY_set1_RSA(pkey.get(), rsa.get()); ASSERT(rc == 1); ... // Write SubjectPublicKeyInfo with OID in PEM // Load with PEM_read_bio_PUBKEY rc = PEM_write_bio_PUBKEY(pem2.get(), pkey.get()); ASSERT(rc == 1); ...</code>
Speichern Sie den privaten Schlüssel sicher, da es zum Entschlüsseln von Nachrichten benötigt wird.
Generieren von privaten RSA-Schlüsseln mit OpenSSL: [Wie erstelle ich einen privaten RSA-Schlüssel mit OpenSSL?](https://stackoverflow.com/questions/26154252/how-to-generate-rsa-private-key -using-openssl)
Das obige ist der detaillierte Inhalt vonWie konvertiert man OpenSSL-RSA-Schlüssel in das X.509-Format für .NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!