AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKey 方法

定义

重载

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

在派生的类中替代时,尝试使用基于字节的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

在派生的类中替代时,尝试使用基于字符的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

在派生的类中替代时,尝试使用基于字节的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。

public:
 virtual bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<System::Byte> passwordBytes, System::Security::Cryptography::PbeParameters ^ pbeParameters, Span<System::Byte> destination, [Runtime::InteropServices::Out] int % bytesWritten);
public virtual bool TryExportEncryptedPkcs8PrivateKey (ReadOnlySpan<byte> passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten);
abstract member TryExportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * System.Security.Cryptography.PbeParameters * Span<byte> * int -> bool
override this.TryExportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * System.Security.Cryptography.PbeParameters * Span<byte> * int -> bool
Public Overridable Function TryExportEncryptedPkcs8PrivateKey (passwordBytes As ReadOnlySpan(Of Byte), pbeParameters As PbeParameters, destination As Span(Of Byte), ByRef bytesWritten As Integer) As Boolean

参数

passwordBytes
ReadOnlySpan<Byte>

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

pbeParameters
PbeParameters

加密密钥材料时使用的基于密码加密 (PBE) 参数。

destination
Span<Byte>

接收 PKCS#8 EncryptedPrivateKeyInfo 数据的字节范围。

bytesWritten
Int32

此方法返回时,包含一个指示写入 destination 的字节数的值。 该参数未经初始化即被处理。

返回

Boolean

如果 destination 具有足够的大小以接收输出,则为 true;否则为 false

例外

未能导出密钥。

  • 或 -

pbeParameters 指示应使用需要基于 Char 密码的 TripleDes3KeyPkcs12

派生的类型未替代此成员。

注解

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

由于需要特定于算法的支持才能生成此数据格式, TryExportEncryptedPkcs8PrivateKey 因此默认情况下会 NotImplementedException 引发。

另请参阅

适用于

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

在派生的类中替代时,尝试使用基于字符的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。

public:
 virtual bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, System::Security::Cryptography::PbeParameters ^ pbeParameters, Span<System::Byte> destination, [Runtime::InteropServices::Out] int % bytesWritten);
public virtual bool TryExportEncryptedPkcs8PrivateKey (ReadOnlySpan<char> password, System.Security.Cryptography.PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten);
abstract member TryExportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * System.Security.Cryptography.PbeParameters * Span<byte> * int -> bool
override this.TryExportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * System.Security.Cryptography.PbeParameters * Span<byte> * int -> bool
Public Overridable Function TryExportEncryptedPkcs8PrivateKey (password As ReadOnlySpan(Of Char), pbeParameters As PbeParameters, destination As Span(Of Byte), ByRef bytesWritten As Integer) As Boolean

参数

password
ReadOnlySpan<Char>

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

pbeParameters
PbeParameters

加密密钥材料时使用的基于密码加密 (PBE) 参数。

destination
Span<Byte>

接收 PKCS#8 EncryptedPrivateKeyInfo 数据的字节范围。

bytesWritten
Int32

此方法返回时,包含一个指示写入 destination 的字节数的值。 该参数未经初始化即被处理。

返回

Boolean

如果 destination 具有足够的大小以接收输出,则为 true;否则为 false

例外

未能导出密钥。

派生的类型未替代此成员。

注解

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

由于需要特定于算法的支持才能生成此数据格式, TryExportEncryptedPkcs8PrivateKey 因此默认情况下会引发一个 NotImplementedException

另请参阅

适用于