X509Certificate2.CreateFromPemFile(String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nowy certyfikat X509 na podstawie zawartości pliku certyfikatu zakodowanego w standardzie PEM RFC 7468 i klucza prywatnego.
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
Parametry
- certPemFilePath
- String
Ścieżka certyfikatu X509 zakodowanego w standardzie PEM.
- keyPemFilePath
- String
W przypadku określenia ścieżki dla klucza prywatnego zakodowanego za pomocą standardu PEM.
Jeśli nie zostanie określona, certPemFilePath
plik 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 w formacie PEM lub jest źle sformułowana.
-lub-
Zawartość ścieżki pliku w keyPemFilePath
pliku nie zawiera zakodowanego klucza prywatnego PEM 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.
certPemFilePath
to null
.
Uwagi
Zobacz ReadAllText(String) dodatkową dokumentację dotyczącą wyjątków, które można zgłosić.
SubjectPublicKeyInfo z certyfikatu określa, jakie etykiety PEM są akceptowane dla klucza prywatnego. W przypadku certyfikatów RSA akceptowane etykiety PEM klucza prywatnego to "RSA PRIVATE KEY" i "KLUCZ PRYWATNY". W przypadku certyfikatów ECDSA akceptowane etykiety PEM klucza prywatnego to "KLUCZ PRYWATNY EC" i "KLUCZ PRYWATNY". W przypadku certyfikatów DSA akceptowana etykieta PEM klucza prywatnego to "KLUCZ PRYWATNY".
Elementy zakodowane w formacie PEM, które mają inną etykietę, są ignorowane.
Połączone certyfikaty i klucze zakodowane za pomocą standardu PEM nie wymagają określonej kolejności. Dla certyfikatu jest ładowany pierwszy certyfikat z etykietą CERTYFIKAT. W przypadku klucza prywatnego jest ładowany pierwszy klucz prywatny z akceptowalną etykietą. 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 hasłem kluczy zakodowanych za pomocą protokołu PEM użyj polecenia CreateFromEncryptedPemFile(String, ReadOnlySpan<Char>, String) , aby określić hasło.