ECAlgorithm.ImportEncryptedPkcs8PrivateKey 方法

定义

重载

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

使用基于字节的密码解密之后,从 PKCS#8 EncryptedPrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

使用基于字节的密码解密之后,从 PKCS#8 EncryptedPrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Source:
ECAlgorithm.cs
Source:
ECAlgorithm.cs
Source:
ECAlgorithm.cs

使用基于字节的密码解密之后,从 PKCS#8 EncryptedPrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

public:
 override void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<System::Byte> passwordBytes, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public override void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<byte> passwordBytes, ReadOnlySpan<byte> source, out int bytesRead);
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> unit
Public Overrides Sub ImportEncryptedPkcs8PrivateKey (passwordBytes As ReadOnlySpan(Of Byte), source As ReadOnlySpan(Of Byte), ByRef bytesRead As Integer)

参数

passwordBytes
ReadOnlySpan<Byte>

解密密钥材料时用作密码的字节。

source
ReadOnlySpan<Byte>

ASN.1-BER 编码中 PKCS#8 EncryptedPrivateKeyInfo 结构的字节。

bytesRead
Int32

此方法返回时,包含一个指示从 source 中读取的字节数的值。 该参数未经初始化即被处理。

例外

密码不正确。

source 的内容表示要应用的密钥派生功能 (KDF) 是旧的 PKCS#12 KDF,需要基于 char 的密码。

source 的内容不表示 ASN.1-BER 编码的 PKCS#8 EncryptedPrivateKeyInfo 结构。

source 的内容指示密钥用于此实例表示的算法以外的算法。

source 的内容表示密钥采用的格式不受支持。

特定于算法的密钥导入失败。

派生类未提供 的 ImportParameters(ECParameters)实现。

注解

密码字节直接传递到密钥派生函数 (KDF) 由 EncryptedPrivateKeyInfo 内容指示的算法使用。 当使用 PBKDF2 (基于密码的密钥派生函数 2) 处理密码时,这样可以与使用 UTF-8 以外的文本编码的其他系统兼容。

          This method only supports the binary (BER/CER/DER) encoding of EncryptedPrivateKeyInfo.
          If the value is Base64-encoded, the caller must Base64-decode the contents before calling this method.
          If the contents are PEM-encoded, <xref:System.Security.Cryptography.ECAlgorithm.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})>
          should be used.

适用于

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Source:
ECAlgorithm.cs
Source:
ECAlgorithm.cs
Source:
ECAlgorithm.cs

使用基于字节的密码解密之后,从 PKCS#8 EncryptedPrivateKeyInfo 结构中导入公/私钥对,以替换此对象的密钥。

public:
 override void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] int % bytesRead);
public override void ImportEncryptedPkcs8PrivateKey (ReadOnlySpan<char> password, ReadOnlySpan<byte> source, out int bytesRead);
override this.ImportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * ReadOnlySpan<byte> * int -> unit
Public Overrides Sub ImportEncryptedPkcs8PrivateKey (password As ReadOnlySpan(Of Char), source As ReadOnlySpan(Of Byte), ByRef bytesRead As Integer)

参数

password
ReadOnlySpan<Char>

解密密钥材料时使用的密码。

source
ReadOnlySpan<Byte>

ASN.1-BER 编码中 PKCS#8 EncryptedPrivateKeyInfo 结构的字节。

bytesRead
Int32

此方法返回时,包含一个指示从 source 中读取的字节数的值。 该参数未经初始化即被处理。

例外

source 的内容不表示 ASN.1-BER 编码的 PKCS#8 EncryptedPrivateKeyInfo 结构。

source 的内容指示密钥用于此实例表示的算法以外的算法。

source 的内容表示密钥采用的格式不受支持。

特定于算法的密钥导入失败。

派生类未提供 的 ImportParameters(ECParameters)实现。

注解

当 的内容 source 指示使用 PBKDF1 (基于密码的密钥派生函数 1) 或 PBKDF2 (基于密码的密钥派生函数 2) 的算法时,密码将通过 UTF-8 编码转换为字节。

          This method only supports the binary (BER/CER/DER) encoding of EncryptedPrivateKeyInfo.
          If the value is Base64-encoded, the caller must Base64-decode the contents before calling this method.
          If the contents are PEM-encoded, <xref:System.Security.Cryptography.ECAlgorithm.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})>
          should be used.

适用于