Freigeben über


X509Certificate2.CreateFromPemFile(String, String) Methode

Definition

Erstellt ein neues X509-Zertifikat aus dem Dateiinhalt eines RFC 7468 PEM-codierten Zertifikats und einem privaten Schlüssel.

public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromPemFile (string certPemFilePath, string? keyPemFilePath = default);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromPemFile (string certPemFilePath, string? keyPemFilePath = default);
static member CreateFromPemFile : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateFromPemFile : string * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Shared Function CreateFromPemFile (certPemFilePath As String, Optional keyPemFilePath As String = Nothing) As X509Certificate2

Parameter

certPemFilePath
String

Der Pfad für das PEM-codierte X509-Zertifikat.

keyPemFilePath
String

Falls angegeben, der Pfad für den PEM-codierten privaten Schlüssel. Wenn keine Angabe erfolgt, wird die certPemFilePath-Datei zum Laden des privaten Schlüssels verwendet.

Gibt zurück

Ein neues Zertifikat mit dem privaten Schlüssel.

Attribute

Ausnahmen

Der Dateipfad in certPemFilePath enthält kein PEM-codiertes Zertifikat, oder es ist falsch formatiert.

- oder -

Der Dateipfad in keyPemFilePath enthält keinen PEM-codierten privaten Schlüssel, oder er ist falsch formatiert.

- oder -

Der Dateipfad in keyPemFilePath enthält einen Schlüssel, der nicht mit dem öffentlichen Schlüssel im Zertifikat identisch ist.

- oder -

Das Zertifikat verwendet einen unbekannten Öffentlichen Schlüsselalgorithmus.

certPemFilePath ist null.

Hinweise

Weitere Dokumentationen zu Ausnahmen, die ausgelöst werden können, finden Sie ReadAllText(String) unter.

Das SubjectPublicKeyInfo aus dem Zertifikat bestimmt, welche PEM-Bezeichnungen für den privaten Schlüssel akzeptiert werden. Für RSA-Zertifikate sind die PEM-Bezeichnungen "RSA PRIVATE KEY" und "PRIVATE KEY" zulässig. Für ECDSA-Zertifikate sind die PEM-Bezeichnungen "EC PRIVATE KEY" und "PRIVATE KEY" zulässig. Für DSA-Zertifikate lautet die akzeptierte PEM-Bezeichnung für private Schlüssel "PRIVATE KEY".

PEM-codierte Elemente mit einer anderen Bezeichnung werden ignoriert.

Kombinierte PEM-codierte Zertifikate und Schlüssel erfordern keine bestimmte Reihenfolge. Für das Zertifikat wird das erste Zertifikat mit einer CERTIFICATE-Bezeichnung geladen. Für den privaten Schlüssel wird der erste private Schlüssel mit einer akzeptablen Bezeichnung geladen. Erweiterte Szenarien zum Laden von Zertifikaten und privaten Schlüsseln können zum Auflisten von PEM-codierten Werten und zum Anwenden eines benutzerdefinierten Ladeverhaltens genutzt PemEncoding werden.

Verwenden Sie CreateFromEncryptedPemFile(String, ReadOnlySpan<Char>, String) für kennwortgeschützte PEM-codierte Schlüssel, um ein Kennwort anzugeben.

Gilt für: