X509Certificate2.CreateFromEncryptedPemFile 方法

定义

用 RFC 7468 PEM 编码的证书的文件内容和受密码保护的私钥创建新的 X509 证书。

public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPemFile (string certPemFilePath, ReadOnlySpan<char> password, string? keyPemFilePath = default);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPemFile (string certPemFilePath, ReadOnlySpan<char> password, string? keyPemFilePath = default);
static member CreateFromEncryptedPemFile : string * ReadOnlySpan<char> * string -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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

参数

certPemFilePath
String

PEM 编码的 X509 证书的路径。

password
ReadOnlySpan<Char>

加密 PEM 的密码。

keyPemFilePath
String

如已指定,则为受密码保护的 PEM 编码的私钥的路径。 如果未指定,则将使用 certPemFilePath 文件来加载私钥。

返回

带私钥的新证书。

属性

例外

certPemFilePath 的文件路径的内容不包含 PEM 编码的证书,或者格式不正确。

keyPemFilePath 文件路径的内容不包含受密码保护的 PEM 编码的私钥,或者格式不正确。

keyPemFilePath 的文件路径的内容所包含的密钥与证书中的公钥不匹配。

证书使用未知公钥算法。

为私钥指定的密码不正确。

certPemFilePathnull

注解

有关可引发的异常的其他文档,请参阅 ReadAllText(String)

受密码保护的 PEM 编码密钥应始终具有 PEM 标签“ENCRYPTED PRIVATE KEY”。

忽略具有不同标签的 PEM 编码项。

组合 PEM 编码的证书和密钥不需要特定顺序。 对于证书,将加载具有 CERTIFICATE 标签的第一个证书。 对于私钥,将加载标签为“ENCRYPTED PRIVATE KEY”的第一个私钥。 加载证书和私钥的更高级方案可以利用 PemEncoding 枚举 PEM 编码的值并应用任何自定义加载行为。

对于没有密码的 PEM 编码密钥,请使用 CreateFromPemFile(String, String)

适用于