Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
class System.​Security.​Cryptography.​SlhDsaCng
Assembly: System.Security.Cryptography
Inheritance: object → SlhDsa → SlhDsaCng
<para>Provides a Cryptography Next Generation (CNG) implementation of the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA).</para>
Properties
public
SlhDsaAlgorithm
Algorithm
Gets the specific SLH-DSA algorithm for this key.
Methods
Gets a new <see cref="T:System.Security.Cryptography.CngKey" /> representing the key used by the current instance.
protected
void
SignDataCore​(ReadOnlySpan`1 data,
ReadOnlySpan`1 context,
Span`1 destination)
protected
void
SignPreHashCore​(ReadOnlySpan`1 hash,
ReadOnlySpan`1 context,
string hashAlgorithmOid,
Span`1 destination)
protected
bool
TryExportPkcs8PrivateKeyCore​(Span`1 destination,
Int32& bytesWritten)
protected
bool
VerifyDataCore​(ReadOnlySpan`1 data,
ReadOnlySpan`1 context,
ReadOnlySpan`1 signature)
protected
bool
VerifyPreHashCore​(ReadOnlySpan`1 hash,
ReadOnlySpan`1 context,
string hashAlgorithmOid,
ReadOnlySpan`1 signature)
Releases all resources used by the <see cref="T:System.Security.Cryptography.SlhDsa" /> class.
protected
void
Dispose​(bool disposing)
Inherited from SlhDsa
disposing
<para>
<see langword="true" /> to release managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</para>
<para>Called by the <c>Dispose()</c> and <c>Finalize()</c> methods to release the managed and unmanaged resources used by the current instance of the <see cref="T:System.Security.Cryptography.SlhDsa" /> class.</para>
public
byte[]
ExportEncryptedPkcs8PrivateKey​(ReadOnlySpan`1 passwordBytes,
PbeParameters pbeParameters)
Inherited from SlhDsa
public
byte[]
ExportEncryptedPkcs8PrivateKey​(ReadOnlySpan`1 password,
PbeParameters pbeParameters)
Inherited from SlhDsa
public
byte[]
ExportEncryptedPkcs8PrivateKey​(string password,
PbeParameters pbeParameters)
Inherited from SlhDsa
password
The password to use when encrypting the key material.
pbeParameters
The password-based encryption (PBE) parameters to use when encrypting the key material.
Returns A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.
public
string
ExportEncryptedPkcs8PrivateKeyPem​(ReadOnlySpan`1 passwordBytes,
PbeParameters pbeParameters)
Inherited from SlhDsa
public
string
ExportEncryptedPkcs8PrivateKeyPem​(ReadOnlySpan`1 password,
PbeParameters pbeParameters)
Inherited from SlhDsa
public
string
ExportEncryptedPkcs8PrivateKeyPem​(string password,
PbeParameters pbeParameters)
Inherited from SlhDsa
password
The password to use when encrypting the key material.
pbeParameters
The password-based encryption (PBE) parameters to use when encrypting the key material.
Returns A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
<p>Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo representation of this key, using a char-based password.</p>
public
byte[]
ExportPkcs8PrivateKey​()
Inherited from SlhDsa
Returns A byte array containing the PKCS#8 PrivateKeyInfo representation of the this key.
Exports the current key in the PKCS#8 PrivateKeyInfo format.
public
string
ExportPkcs8PrivateKeyPem​()
Inherited from SlhDsa
Returns A string containing the PEM-encoded representation of the PKCS#8 PrivateKeyInfo.
Exports the current key in a PEM-encoded representation of the PKCS#8 PrivateKeyInfo format.
public
byte[]
ExportSlhDsaPrivateKey​()
Inherited from SlhDsa
Returns The FIPS 205 private key.
Exports the current key in the FIPS 205 private key format.
public
byte[]
ExportSlhDsaPublicKey​()
Inherited from SlhDsa
Returns The FIPS 205 public key.
Exports the public-key portion of the current key in the FIPS 205 public key format.
public
byte[]
ExportSubjectPublicKeyInfo​()
Inherited from SlhDsa
Returns A byte array containing the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.
Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.
public
string
ExportSubjectPublicKeyInfoPem​()
Inherited from SlhDsa
Returns <para>A string containing the PEM-encoded representation of the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.</para>
<para>Exports the public-key portion of the current key in a PEM-encoded representation of the X.509 SubjectPublicKeyInfo format.</para>
public
byte[]
SignData​(byte[] data,
byte[] context = null)
Inherited from SlhDsa
data
The data to sign.
context
<para>An optional context-specific value to limit the scope of the signature.</para> <para>The default value is <see langword="null" />.</para>
Signs the specified data.
public
void
SignData​(ReadOnlySpan`1 data,
Span`1 destination,
ReadOnlySpan`1 context = null)
Inherited from SlhDsa
public
byte[]
SignPreHash​(byte[] hash,
string hashAlgorithmOid,
byte[] context = null)
Inherited from SlhDsa
hash
The hash to sign.
hashAlgorithmOid
The OID of the hash algorithm used to create the hash.
context
<para>An optional context-specific value to limit the scope of the signature.</para> <para>The default value is <see langword="null" />.</para>
Signs the specified hash using the FIPS 205 pre-hash signing algorithm.
public
void
SignPreHash​(ReadOnlySpan`1 hash,
Span`1 destination,
string hashAlgorithmOid,
ReadOnlySpan`1 context = null)
Inherited from SlhDsa
public
bool
TryExportEncryptedPkcs8PrivateKey​(ReadOnlySpan`1 passwordBytes,
PbeParameters pbeParameters,
Span`1 destination,
Int32& bytesWritten)
Inherited from SlhDsa
public
bool
TryExportEncryptedPkcs8PrivateKey​(ReadOnlySpan`1 password,
PbeParameters pbeParameters,
Span`1 destination,
Int32& bytesWritten)
Inherited from SlhDsa
public
bool
TryExportEncryptedPkcs8PrivateKey​(string password,
PbeParameters pbeParameters,
Span`1 destination,
Int32& bytesWritten)
Inherited from SlhDsa
public
bool
TryExportPkcs8PrivateKey​(Span`1 destination,
Int32& bytesWritten)
Inherited from SlhDsa
public
bool
TryExportSubjectPublicKeyInfo​(Span`1 destination,
Int32& bytesWritten)
Inherited from SlhDsa
public
bool
VerifyData​(byte[] data,
byte[] signature,
byte[] context = null)
Inherited from SlhDsa
data
The data to verify.
signature
The signature to verify.
context
<para>The context value which was provided during signing.</para> <para>The default value is <see langword="null" />.</para>
Returns <see langword="true" /> if the signature validates the data; otherwise, <see langword="false" /> .
Verifies that the specified signature is valid for this key and the provided data.
public
bool
VerifyData​(ReadOnlySpan`1 data,
ReadOnlySpan`1 signature,
ReadOnlySpan`1 context = null)
Inherited from SlhDsa
public
bool
VerifyPreHash​(byte[] hash,
byte[] signature,
string hashAlgorithmOid,
byte[] context = null)
Inherited from SlhDsa
hash
The hash to verify.
signature
The signature to verify.
hashAlgorithmOid
The OID of the hash algorithm used to create the hash.
context
<para>The context value which was provided during signing.</para> <para>The default value is <see langword="null" />.</para>
Returns <see langword="true" /> if the signature validates the hash; otherwise, <see langword="false" /> .
Verifies that the specified FIPS 205 pre-hash signature is valid for this key and the provided hash.
public
bool
VerifyPreHash​(ReadOnlySpan`1 hash,
ReadOnlySpan`1 signature,
string hashAlgorithmOid,
ReadOnlySpan`1 context = null)
Inherited from SlhDsa
public
bool
Equals​(object obj)
Inherited from object
protected
void
Finalize​()
Inherited from object
public
int
GetHashCode​()
Inherited from object
protected
object
MemberwiseClone​()
Inherited from object
public
string
ToString​()
Inherited from object