DSA.TryExportEncryptedPkcs8PrivateKey 方法

定义

重载

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

尝试使用基于字节的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

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

尝试使用基于字符的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导入所提供的缓冲区。Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

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

尝试使用基于字节的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导出到所提供的缓冲区。Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

public:
 override bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<System::Byte> passwordBytes, System::Security::Cryptography::PbeParameters ^ pbeParameters, Span<System::Byte> destination, [Runtime::InteropServices::Out] int % bytesWritten);
public override bool TryExportEncryptedPkcs8PrivateKey (ReadOnlySpan<byte> passwordBytes, System.Security.Cryptography.PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten);
override this.TryExportEncryptedPkcs8PrivateKey : ReadOnlySpan<byte> * System.Security.Cryptography.PbeParameters * Span<byte> * int -> bool

参数

passwordBytes
ReadOnlySpan<Byte>

加密密钥材料时用作密码的字节。The bytes to use as a password when encrypting the key material.

pbeParameters
PbeParameters

加密密钥材料时使用的基于密码加密 (PBE) 参数。The password-based encryption (PBE) parameters to use when encrypting the key material.

destination
Span<Byte>

接收 PKCS#8 EncryptedPrivateKeyInfo 数据的字节范围。The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.

bytesWritten
Int32

此方法返回时,包含一个指示写入 destination 的字节数的值。When this method returns, contains a value that indicates the number of bytes written to destination. 该参数未经初始化即被处理。This parameter is treated as uninitialized.

返回

如果 destination 具有足够的大小以接收输出,则为 true;否则为 falsetrue if destination is big enough to receive the output; otherwise, false.

异常

未能导出密钥。The key could not be exported.

-or-

pbeParameters 指示应使用需要基于 Char 密码的 TripleDes3KeyPkcs12pbeParameters indicates that TripleDes3KeyPkcs12 should be used, which requires Char-based passwords.

注解

密码字节直接传递到 pbeParameters所指示算法使用的密钥派生函数(KDF)。The password bytes are passed directly into the Key Derivation Function (KDF) used by the algorithm indicated by pbeParameters. 这样,就可以与使用 PBKDF2 (基于密码的密钥派生函数2)处理密码时使用 UTF-8 以外文本编码的其他系统兼容。This enables compatibility with other systems which use a text encoding other than UTF-8 when processing passwords with PBKDF2 (Password-Based Key Derivation Function 2).

另请参阅

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

尝试使用基于字符的密码以 PKCS#8 EncryptedPrivateKeyInfo 格式将当前密钥导入所提供的缓冲区。Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

public:
 override bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, System::Security::Cryptography::PbeParameters ^ pbeParameters, Span<System::Byte> destination, [Runtime::InteropServices::Out] int % bytesWritten);
public override bool TryExportEncryptedPkcs8PrivateKey (ReadOnlySpan<char> password, System.Security.Cryptography.PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten);
override this.TryExportEncryptedPkcs8PrivateKey : ReadOnlySpan<char> * System.Security.Cryptography.PbeParameters * Span<byte> * int -> bool

参数

password
ReadOnlySpan<Char>

加密密钥材料时使用的密码。The password to use when encrypting the key material.

pbeParameters
PbeParameters

加密密钥材料时使用的基于密码加密 (PBE) 参数。The password-based encryption (PBE) parameters to use when encrypting the key material.

destination
Span<Byte>

接收 PKCS#8 EncryptedPrivateKeyInfo 数据的字节范围。The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.

bytesWritten
Int32

此方法返回时,包含一个指示写入 destination 的字节数的值。When this method returns, contains a value that indicates the number of bytes written to destination. 该参数未经初始化即被处理。This parameter is treated as uninitialized.

返回

如果 destination 具有足够的大小以接收输出,则为 true;否则为 falsetrue if destination is big enough to receive the output; otherwise, false.

异常

未能导出密钥。The key could not be exported.

注解

如果 pbeParameters 指示使用 PBKDF2 (基于密码的密钥派生函数2)的算法,则密码将通过 UTF-8 编码转换为字节。When pbeParameters indicates an algorithm that uses PBKDF2 (Password-Based Key Derivation Function 2), the password is converted to bytes via the UTF-8 encoding.

另请参阅

适用于