Pkcs8PrivateKeyInfo Constructor
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the Pkcs8PrivateKeyInfo class.
public Pkcs8PrivateKeyInfo (System.Security.Cryptography.Oid algorithmId, ReadOnlyMemory<byte>? algorithmParameters, ReadOnlyMemory<byte> privateKey, bool skipCopies = false);
new System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo : System.Security.Cryptography.Oid * Nullable<ReadOnlyMemory<byte>> * ReadOnlyMemory<byte> * bool -> System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo
Public Sub New (algorithmId As Oid, algorithmParameters As Nullable(Of ReadOnlyMemory(Of Byte)), privateKey As ReadOnlyMemory(Of Byte), Optional skipCopies As Boolean = false)
Parameters
- algorithmId
- Oid
The Object Identifier (OID) identifying the asymmetric algorithm this key is for.
- algorithmParameters
- Nullable<ReadOnlyMemory<Byte>>
The BER-encoded algorithm parameters associated with this key, or null
to omit algorithm parameters when encoding.
- privateKey
- ReadOnlyMemory<Byte>
The algorithm-specific encoded private key.
- skipCopies
- Boolean
true
to store algorithmParameters
and privateKey
without making a defensive copy; otherwise, false
. The default is false
.
Exceptions
The algorithmId
parameter is null
.
The algorithmParameters
parameter is not null
, empty, or a single BER-encoded value.
Remarks
No validation is done on the privateKey
parameter; not all algorithms require a BER-encoded value.
The default behavior of this constructor is to make a defensive copy of both the algorithmParameters
and the privateKey
parameters.
When the skipCopies
parameter is true
, this defensive copy is skipped.
If the defensive copy is skipped and the contents of either algorithmParameters
or privateKey
change during the lifetime of the returned value or of any object produced by its
methods or properties, then methods and properties on those objects may produce nonsense results or throw exceptions due to the corrupted state.
Callers are therefore advised to only use a true
value for the skipCopies
parameter when they can be reasonably assured that the data will stay intact.