Język

X509Certificate2.CreateFromEncryptedPemFile Metoda

Definicja

Tworzy nowy certyfikat X509 na podstawie zawartości pliku certyfikatu zakodowanego w standardzie PEM RFC 7468 i klucza prywatnego chronionego hasłem.

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

Parametry

certPemFilePath
String

Ścieżka certyfikatu X509 zakodowanego w standardzie PEM.

password
ReadOnlySpan<Char>

Hasło zaszyfrowanego PEM.

keyPemFilePath
String

W przypadku określenia ścieżki klucza prywatnego zakodowanego przy użyciu hasła chronionego hasłem. Jeśli plik nie zostanie określony, certPemFilePath zostanie użyty do załadowania klucza prywatnego.

Zwraca

Nowy certyfikat z kluczem prywatnym.

Atrybuty

Wyjątki

Zawartość ścieżki pliku w certPemFilePath pliku nie zawiera certyfikatu zakodowanego za pomocą standardu PEM lub jest źle sformułowana.

— lub —

Zawartość ścieżki pliku w keyPemFilePath pliku nie zawiera klucza prywatnego zakodowanego przy użyciu hasła lub jest źle sformułowana.

— lub —

Zawartość ścieżki pliku w keyPemFilePath pliku zawiera klucz, który nie jest zgodny z kluczem publicznym w certyfikacie.

— lub —

Certyfikat używa nieznanego algorytmu klucza publicznego.

— lub —

Hasło określone dla klucza prywatnego jest nieprawidłowe.

Parametr certPemFilePath ma wartość null.

Uwagi

Zobacz ReadAllText(String) dodatkową dokumentację dotyczącą wyjątków, które można zgłaszać.

Klucze zakodowane za pomocą protokołu PEM chronione hasłem zawsze powinny mieć etykietę PEM "ENCRYPTED PRIVATE KEY".

Elementy zakodowane za pomocą standardu PEM, które mają inną etykietę, są ignorowane.

Połączone certyfikaty i klucze zakodowane za pomocą standardu PEM nie wymagają określonej kolejności. W przypadku certyfikatu jest ładowany pierwszy certyfikat z etykietą CERTYFIKAT. W przypadku klucza prywatnego zostanie załadowany pierwszy klucz prywatny z etykietą "ZASZYFROWANY KLUCZ PRYWATNY". Bardziej zaawansowane scenariusze ładowania certyfikatów i kluczy prywatnych mogą być używane PemEncoding do wyliczania wartości zakodowanych za pomocą standardu PEM i stosowania dowolnego niestandardowego zachowania ładowania.

W przypadku kluczy zakodowanych za pomocą standardu PEM bez hasła użyj polecenia CreateFromPemFile(String, String).

Dotyczy