Share via


X509Certificate2.CreateFromEncryptedPem 方法

定义

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

public:
 static System::Security::Cryptography::X509Certificates::X509Certificate2 ^ CreateFromEncryptedPem(ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem, ReadOnlySpan<char> password);
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPem (ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem, ReadOnlySpan<char> password);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static System.Security.Cryptography.X509Certificates.X509Certificate2 CreateFromEncryptedPem (ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem, ReadOnlySpan<char> password);
static member CreateFromEncryptedPem : ReadOnlySpan<char> * ReadOnlySpan<char> * ReadOnlySpan<char> -> System.Security.Cryptography.X509Certificates.X509Certificate2
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateFromEncryptedPem : ReadOnlySpan<char> * ReadOnlySpan<char> * ReadOnlySpan<char> -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Shared Function CreateFromEncryptedPem (certPem As ReadOnlySpan(Of Char), keyPem As ReadOnlySpan(Of Char), password As ReadOnlySpan(Of Char)) As X509Certificate2

参数

certPem
ReadOnlySpan<Char>

PEM 编码的 X509 证书的文本。

keyPem
ReadOnlySpan<Char>

受密码保护的 PEM 编码私钥的文本。

password
ReadOnlySpan<Char>

加密 PEM 的密码。

返回

带私钥的新证书。

属性

例外

certPem 的内容不包含 PEM 编码的证书,或者格式不正确。

keyPem 的内容不包含受密码保护的 PEM 编码的私钥,或者格式不正确。

keyPem 的内容所包含的密钥与证书中的公钥不匹配。

证书使用未知公钥算法。

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

注解

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

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

如果 PEM 编码的证书和私钥位于同一文本中,请对 certPemkeyPem使用相同的字符串, CreateFromEncryptedPem(combinedCertAndKey, combinedCertAndKey, theKeyPassword);例如 。 组合 PEM 编码的证书和密钥不需要特定顺序。 对于证书,将加载具有 CERTIFICATE 标签的第一个证书。 对于私钥,将加载标签为“ENCRYPTED PRIVATE KEY”的第一个私钥。 加载证书和私钥的更高级方案可以利用 PemEncoding 枚举 PEM 编码的值并应用任何自定义加载行为。

对于没有密码的 PEM 编码密钥,请使用 CreateFromPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

适用于