Pkcs12KeyBag(ReadOnlyMemory<Byte>, Boolean) 构造函数

定义

从现有的编码 PKCS#8 PrivateKeyInfo 值初始化 Pkcs12KeyBag 的新实例。

public Pkcs12KeyBag (ReadOnlyMemory<byte> pkcs8PrivateKey, bool skipCopy = false);
new System.Security.Cryptography.Pkcs.Pkcs12KeyBag : ReadOnlyMemory<byte> * bool -> System.Security.Cryptography.Pkcs.Pkcs12KeyBag
Public Sub New (pkcs8PrivateKey As ReadOnlyMemory(Of Byte), Optional skipCopy As Boolean = false)

参数

pkcs8PrivateKey
ReadOnlyMemory<Byte>

BER 编码的 PKCS#8 PrivateKeyInfo 值。

skipCopy
Boolean

true 表示存储 pkcs8PrivateKey 而不进行防御性复制;否则为 false。 默认值为 false

例外

pkcs8privateKey 参数不表示单个 ASN.1 BER 编码值。

注解

此方法验证 是否 pkcs8PrivateKey 为单个 BER 编码的值,但不验证该值是否为正确的 PKCS#8 PrivateKeyInfo 值。

PKCS#12 标准允许在 KeyBag 中传输私钥,但并非所有 PFX 读取器都支持将证书与 KeyBag 中的密钥配对。 为获得最佳支持,ShroudedKeyBag 中的传输密钥 (Pkcs12ShroudedKeyBag) 。

此方法的默认行为是创建 的 pkcs8PrivateKey防御副本。 skipCopy当 参数为 true时,将跳过此防御性副本。 如果跳过防御性副本,并在返回值或其方法或属性生成的任何对象的生存期内更改内容 pkcs8PrivateKey ,则这些对象的方法和属性可能会产生无稽之谈的结果,或者由于损坏状态而引发异常。 因此,建议调用方仅在可以合理地确保数据保持不变时,才对参数使用 trueskipCopy

适用于

另请参阅