7447 lines
394 KiB
XML
7447 lines
394 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>Microsoft.Bcl.Cryptography</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors">
|
|
<summary>
|
|
Helper methods to access keys on <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetMLKemPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.MLKem"/> public key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the public key.
|
|
</param>
|
|
<returns>
|
|
The public key, or <see langword="null"/> if this certificate does not have an ML-KEM public key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The certificate has an ML-KEM public key, but the platform does not support ML-KEM.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The public key was invalid, or otherwise could not be imported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetMLKemPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.MLKem"/> private key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the private key.
|
|
</param>
|
|
<returns>
|
|
The private key, or <see langword="null"/> if this certificate does not have an ML-KEM private key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Retrieving an ML-KEM private key from a certificate is not supported on this platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred accessing the private key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.CopyWithPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.MLKem)">
|
|
<summary>
|
|
Combines a private key with a certificate containing the associated public key into a
|
|
new instance that can access the private key.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the public key.
|
|
</param>
|
|
<param name="privateKey">
|
|
The ML-KEM private key that corresponds to the ML-KEM public key in this certificate.
|
|
</param>
|
|
<returns>
|
|
A new certificate with the <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>.
|
|
The current certificate isn't modified.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> or <paramref name="privateKey"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
The specified private key doesn't match the public key for this certificate.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
The certificate already has an associated private key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Combining a certificate and an ML-KEM private key is not supported on this platform.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetMLDsaPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.MLDsa"/> public key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the public key.
|
|
</param>
|
|
<returns>
|
|
The public key, or <see langword="null"/> if this certificate does not have an ML-DSA public key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The certificate has an ML-DSA public key, but the platform does not support ML-DSA.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The public key was invalid, or otherwise could not be imported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetMLDsaPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.MLDsa"/> private key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the private key.
|
|
</param>
|
|
<returns>
|
|
The private key, or <see langword="null"/> if this certificate does not have an ML-DSA private key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Retrieving an ML-DSA private key from a certificate is not supported on this platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred accessing the private key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.CopyWithPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.MLDsa)">
|
|
<summary>
|
|
Combines a private key with a certificate containing the associated public key into a
|
|
new instance that can access the private key.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the public key.
|
|
</param>
|
|
<param name="privateKey">
|
|
The ML-DSA private key that corresponds to the ML-DSA public key in this certificate.
|
|
</param>
|
|
<returns>
|
|
A new certificate with the <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>.
|
|
The current certificate isn't modified.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> or <paramref name="privateKey"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
The specified private key doesn't match the public key for this certificate.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
The certificate already has an associated private key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Combining a certificate and an ML-DSA private key is not supported on this platform.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetSlhDsaPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.SlhDsa"/> public key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X509 certificate that contains the public key.
|
|
</param>
|
|
<returns>
|
|
The public key, or <see langword="null"/> if this certificate does not have an SLH-DSA public key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The certificate has an SLH-DSA public key, but the platform does not support SLH-DSA.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The public key was invalid, or otherwise could not be imported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetSlhDsaPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.SlhDsa"/> private key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X509 certificate that contains the private key.
|
|
</param>
|
|
<returns>
|
|
The private key, or <see langword="null"/> if this certificate does not have an SLH-DSA private key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Retrieving an SLH-DSA private key from a certificate is not supported on this platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred accessing the private key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.CopyWithPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.SlhDsa)">
|
|
<summary>
|
|
Combines a private key with a certificate containing the associated public key into a
|
|
new instance that can access the private key.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X509 certificate that contains the public key.
|
|
</param>
|
|
<param name="privateKey">
|
|
The SLH-DSA private key that corresponds to the SLH-DSA public key in this certificate.
|
|
</param>
|
|
<returns>
|
|
A new certificate with the <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>.
|
|
The current certificate isn't modified.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> or <paramref name="privateKey"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
The specified private key doesn't match the public key for this certificate.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
The certificate already has an associated private key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Combining a certificate and an SLH-DSA private key is not supported on this platform.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetCompositeMLDsaPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.CompositeMLDsa"/> public key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the public key.
|
|
</param>
|
|
<returns>
|
|
The public key, or <see langword="null"/> if this certificate does not have a Composite ML-DSA public key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The certificate has a Composite ML-DSA public key, but the platform does not support Composite ML-DSA.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The public key was invalid, or otherwise could not be imported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.GetCompositeMLDsaPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2)">
|
|
<summary>
|
|
Gets the <see cref="T:System.Security.Cryptography.CompositeMLDsa"/> private key from this certificate.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the private key.
|
|
</param>
|
|
<returns>
|
|
The private key, or <see langword="null"/> if this certificate does not have a Composite ML-DSA private key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Retrieving a Composite ML-DSA private key from a certificate is not supported on this platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred accessing the private key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateKeyAccessors.CopyWithPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.CompositeMLDsa)">
|
|
<summary>
|
|
Combines a private key with a certificate containing the associated public key into a
|
|
new instance that can access the private key.
|
|
</summary>
|
|
<param name="certificate">
|
|
The X.509 certificate that contains the public key.
|
|
</param>
|
|
<param name="privateKey">
|
|
The Composite ML-DSA private key that corresponds to the Composite ML-DSA public key in this certificate.
|
|
</param>
|
|
<returns>
|
|
A new certificate with the <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>.
|
|
The current certificate isn't modified.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="certificate"/> or <paramref name="privateKey"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
The specified private key doesn't match the public key for this certificate.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
The certificate already has an associated private key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Combining a certificate and a Composite ML-DSA private key is not supported on this platform.
|
|
</exception>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits">
|
|
<summary>
|
|
Represents a set of constraints to apply when loading PKCS#12/PFX contents.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults">
|
|
<summary>
|
|
Gets a shared reference to the default loader limits.
|
|
</summary>
|
|
<remarks>
|
|
The singleton instance returned from this property is equivalent to an
|
|
instance produced via the default constructor, except the properties
|
|
prohibit reassignment. As with the default constructor, the individual
|
|
property values may change over time.
|
|
</remarks>
|
|
<value>A shared reference to the default loader limits.</value>
|
|
<seealso cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.IsReadOnly" />
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.DangerousNoLimits">
|
|
<summary>
|
|
Gets a shared reference to loader limits that indicate no
|
|
filtering or restrictions of the contents should be applied
|
|
before sending them to the underlying system loader.
|
|
</summary>
|
|
<value>
|
|
A shared reference to loader limits that indicate no
|
|
filtering or restrictions of the contents should be applied
|
|
before sending them to the underlying system loader.
|
|
</value>
|
|
<remarks>
|
|
<para>
|
|
The system loader may have its own limits where only part
|
|
of the contents are respected, or where the load is rejected.
|
|
Using this set of limits only affects the .NET layer of filtering.
|
|
</para>
|
|
<para>
|
|
The <see cref="T:System.Security.Cryptography.X509Certificates.X509CertificateLoader" /> class checks for reference
|
|
equality to this property to determine if filtering should be bypassed.
|
|
Making a new Pkcs12LoaderLimits value that has all of the same property
|
|
values may give different results for certain inputs.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits"/> class
|
|
with default values.
|
|
</summary>
|
|
<remarks>
|
|
The default values for each property on a default instance of this class
|
|
are chosen as a compromise between maximizing compatibility and minimizing
|
|
"nuisance" work. The defaults for any given property may vary over time.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.#ctor(System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits"/> class
|
|
by copying the values from another instance.
|
|
</summary>
|
|
<param name="copyFrom">The instance to copy the values from.</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="copyFrom"/> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.IsReadOnly">
|
|
<summary>
|
|
Gets a value indicating whether the instance is read-only.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> if the instance is read-only; otherwise, <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.MakeReadOnly">
|
|
<summary>
|
|
Makes the <see cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits"/> instance read-only.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.MacIterationLimit">
|
|
<summary>
|
|
Gets or sets the iteration limit for the MAC calculation.
|
|
</summary>
|
|
<value>The iteration limit for the MAC calculation, or <see langword="null" /> for no limit.</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.IndividualKdfIterationLimit">
|
|
<summary>
|
|
Gets or sets the iteration limit for the individual Key Derivation Function (KDF) calculations.
|
|
</summary>
|
|
<value>
|
|
The iteration limit for the individual Key Derivation Function (KDF) calculations,
|
|
or <see langword="null" /> for no limit.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.TotalKdfIterationLimit">
|
|
<summary>
|
|
Gets or sets the total iteration limit for the Key Derivation Function (KDF) calculations.
|
|
</summary>
|
|
<value>
|
|
The total iteration limit for the Key Derivation Function (KDF) calculations,
|
|
or <see langword="null" /> for no limit.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.MaxKeys">
|
|
<summary>
|
|
Gets or sets the maximum number of keys permitted.
|
|
</summary>
|
|
<value>
|
|
The maximum number of keys permitted, or <see langword="null" /> for no maximum.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.MaxCertificates">
|
|
<summary>
|
|
Gets or sets the maximum number of certificates permitted.
|
|
</summary>
|
|
<value>
|
|
The maximum number of certificates permitted, or <see langword="null" /> for no maximum.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.PreserveStorageProvider">
|
|
<summary>
|
|
Gets or sets a value indicating whether to preserve the storage provider.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to respect the storage provider identifier for a
|
|
private key; <see langword="false" /> to ignore the storage provider
|
|
information and use the system defaults.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
<remarks>
|
|
Storage Provider values from the PFX are only processed on the
|
|
Microsoft Windows family of operating systems.
|
|
This property has no effect on non-Windows systems.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.PreserveKeyName">
|
|
<summary>
|
|
Gets or sets a value indicating whether to preserve the key name.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to respect the key name identifier for a
|
|
private key; <see langword="false" /> to ignore the key name
|
|
information and use a randomly generated identifier.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
<remarks>
|
|
Key name identifier values from the PFX are only processed on the
|
|
Microsoft Windows family of operating systems.
|
|
This property has no effect on non-Windows systems.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.PreserveCertificateAlias">
|
|
<summary>
|
|
Gets or sets a value indicating whether to preserve the certificate alias,
|
|
also known as the friendly name.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to respect the alias for a
|
|
certificate; <see langword="false" /> to ignore the alias
|
|
information.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
<remarks>
|
|
Certificate alias values from the PFX are only processed on the
|
|
Microsoft Windows family of operating systems.
|
|
This property has no effect on non-Windows systems.
|
|
</remarks>
|
|
<seealso cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.FriendlyName"/>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.PreserveUnknownAttributes">
|
|
<summary>
|
|
Gets or sets a value indicating whether to preserve unknown attributes.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to keep any attributes of a certificate or
|
|
private key that are not described by another property on this type intact
|
|
when invoking the system PKCS#12/PFX loader;
|
|
<see langword="false" /> to remove the unknown attributes prior to invoking
|
|
the system loader.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.IgnorePrivateKeys">
|
|
<summary>
|
|
Gets or sets a value indicating whether to ignore private keys.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to skip loading private keys;
|
|
<see langword="false" /> to load both certificates and private keys.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.IgnoreEncryptedAuthSafes">
|
|
<summary>
|
|
Gets or sets a value indicating whether to ignore encrypted authentication safes.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to skip over encrypted PFX AuthSafe values;
|
|
<see langword="false" /> to decrypt encrypted PFX AuthSafe values to process their
|
|
contents.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.AllowDuplicateAttributes">
|
|
<summary>
|
|
Gets or sets a value indicating whether duplicate attributes are permitted.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> to permit duplicate attributes;
|
|
<see langword="false" /> to fail loading when duplicate attributes are found.
|
|
The default is <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
<summary>
|
|
The exception that is thrown when importing a PKCS#12/PFX has failed
|
|
due to violating a specified limit.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException"/>
|
|
class.
|
|
</summary>
|
|
<param name="propertyName">
|
|
The name of the property representing the limit that was exceeded.
|
|
</param>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.X509Certificates.X509CertificateLoader">
|
|
<summary>
|
|
Provides methods for loading an X.509 certificate or a PKCS#12 PFX containing certificates.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadCertificate(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Loads a single X.509 certificate from <paramref name="data"/>, in either the PEM
|
|
or DER encoding.
|
|
</summary>
|
|
<param name="data">The data to load.</param>
|
|
<returns>
|
|
The certificate loaded from <paramref name="data"/>.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The data did not load as a valid X.509 certificate.
|
|
</exception>
|
|
<remarks>
|
|
This method only loads plain certificates, which are identified as
|
|
<see cref="F:System.Security.Cryptography.X509Certificates.X509ContentType.Cert" /> by <see cref="M:System.Security.Cryptography.X509Certificates.X509Certificate2.GetCertContentType(System.Byte[])"/>.
|
|
</remarks>
|
|
<seealso cref="M:System.Security.Cryptography.X509Certificates.X509Certificate2.GetCertContentType(System.String)"/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadCertificate(System.Byte[])">
|
|
<summary>
|
|
Loads a single X.509 certificate from <paramref name="data"/>, in either the PEM
|
|
or DER encoding.
|
|
</summary>
|
|
<param name="data">The data to load.</param>
|
|
<returns>
|
|
The certificate loaded from <paramref name="data"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The data did not load as a valid X.509 certificate.
|
|
</exception>
|
|
<remarks>
|
|
This method only loads plain certificates, which are identified as
|
|
<see cref="F:System.Security.Cryptography.X509Certificates.X509ContentType.Cert" /> by <see cref="M:System.Security.Cryptography.X509Certificates.X509Certificate2.GetCertContentType(System.Byte[])"/>.
|
|
</remarks>
|
|
<seealso cref="M:System.Security.Cryptography.X509Certificates.X509Certificate2.GetCertContentType(System.String)"/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadCertificateFromFile(System.String)">
|
|
<summary>
|
|
Loads a single X.509 certificate (in either the PEM or DER encoding)
|
|
from the specified file.
|
|
</summary>
|
|
<param name="path">The path of the file to open.</param>
|
|
<returns>
|
|
The loaded certificate.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="path"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
The data did not load as a valid X.509 certificate.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
An error occurred while loading the specified file.
|
|
</exception>
|
|
<remarks>
|
|
This method only loads plain certificates, which are identified as
|
|
<see cref="F:System.Security.Cryptography.X509Certificates.X509ContentType.Cert" /> by <see cref="M:System.Security.Cryptography.X509Certificates.X509Certificate2.GetCertContentType(System.String)"/>.
|
|
</remarks>
|
|
<seealso cref="M:System.Security.Cryptography.X509Certificates.X509Certificate2.GetCertContentType(System.String)"/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12(System.Byte[],System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Loads the provided data as a PKCS#12 PFX and extracts a certificate.
|
|
</summary>
|
|
<param name="data">The data to load.</param>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>The loaded certificate.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
<remarks>
|
|
A PKCS#12/PFX can contain multiple certificates.
|
|
Using the ordering that the certificates appear in the results of
|
|
<see cref="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12Collection(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Char},System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)" />,
|
|
this method returns the first
|
|
certificate where <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> is
|
|
<see langword="true" />.
|
|
If no certificates have associated private keys, then the first
|
|
certificate is returned.
|
|
If the PKCS#12/PFX contains no certificates, a
|
|
<see cref="T:System.Security.Cryptography.CryptographicException" /> is thrown.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Char},System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Loads the provided data as a PKCS#12 PFX and extracts a certificate.
|
|
</summary>
|
|
<param name="data">The data to load.</param>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>The loaded certificate.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
<remarks>
|
|
A PKCS#12/PFX can contain multiple certificates.
|
|
Using the ordering that the certificates appear in the results of
|
|
<see cref="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12Collection(System.Byte[],System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)" />,
|
|
this method returns the first
|
|
certificate where <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> is
|
|
<see langword="true" />.
|
|
If no certificates have associated private keys, then the first
|
|
certificate is returned.
|
|
If the PKCS#12/PFX contains no certificates, a
|
|
<see cref="T:System.Security.Cryptography.CryptographicException" /> is thrown.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12FromFile(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Opens the specified file, reads the contents as a PKCS#12 PFX and extracts a certificate.
|
|
</summary>
|
|
<param name="path">The path of the file to open.</param>
|
|
<returns>
|
|
The loaded certificate.
|
|
</returns>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>The loaded certificate.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="path"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
An error occurred while loading the specified file.
|
|
</exception>
|
|
<remarks>
|
|
A PKCS#12/PFX can contain multiple certificates.
|
|
Using the ordering that the certificates appear in the results of
|
|
<see cref="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12CollectionFromFile(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)" />,
|
|
this method returns the first
|
|
certificate where <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> is
|
|
<see langword="true" />.
|
|
If no certificates have associated private keys, then the first
|
|
certificate is returned.
|
|
If the PKCS#12/PFX contains no certificates, a
|
|
<see cref="T:System.Security.Cryptography.CryptographicException" /> is thrown.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12FromFile(System.String,System.ReadOnlySpan{System.Char},System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Opens the specified file, reads the contents as a PKCS#12 PFX and extracts a certificate.
|
|
</summary>
|
|
<param name="path">The path of the file to open.</param>
|
|
<returns>
|
|
The loaded certificate.
|
|
</returns>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>The loaded certificate.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="path"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
An error occurred while loading the specified file.
|
|
</exception>
|
|
<remarks>
|
|
A PKCS#12/PFX can contain multiple certificates.
|
|
Using the ordering that the certificates appear in the results of
|
|
<see cref="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12CollectionFromFile(System.String,System.ReadOnlySpan{System.Char},System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)" />,
|
|
this method returns the first
|
|
certificate where <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.HasPrivateKey" /> is
|
|
<see langword="true" />.
|
|
If no certificates have associated private keys, then the first
|
|
certificate is returned.
|
|
If the PKCS#12/PFX contains no certificates, a
|
|
<see cref="T:System.Security.Cryptography.CryptographicException" /> is thrown.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12Collection(System.Byte[],System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Loads the provided data as a PKCS#12 PFX and returns a collection of
|
|
all of the certificates therein.
|
|
</summary>
|
|
<param name="data">The data to load.</param>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>A collection of the certificates loaded from the input.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12Collection(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Char},System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Loads the provided data as a PKCS#12 PFX and returns a collection of
|
|
all of the certificates therein.
|
|
</summary>
|
|
<param name="data">The data to load.</param>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>A collection of the certificates loaded from the input.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12CollectionFromFile(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Opens the specified file, reads the contents as a PKCS#12 PFX and extracts a certificate.
|
|
Loads the provided data as a PKCS#12 PFX and returns a collection of
|
|
all of the certificates therein.
|
|
</summary>
|
|
<param name="path">The path of the file to open.</param>
|
|
<returns>
|
|
The loaded certificate.
|
|
</returns>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>The loaded certificate.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="path"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
An error occurred while loading the specified file.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.X509Certificates.X509CertificateLoader.LoadPkcs12CollectionFromFile(System.String,System.ReadOnlySpan{System.Char},System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits)">
|
|
<summary>
|
|
Opens the specified file, reads the contents as a PKCS#12 PFX and extracts a certificate.
|
|
Loads the provided data as a PKCS#12 PFX and returns a collection of
|
|
all of the certificates therein.
|
|
</summary>
|
|
<param name="path">The path of the file to open.</param>
|
|
<returns>
|
|
The loaded certificate.
|
|
</returns>
|
|
<param name="password">The password to decrypt the contents of the PFX.</param>
|
|
<param name="keyStorageFlags">
|
|
A bitwise combination of the enumeration values that control where and how to
|
|
import the private key associated with the returned certificate.
|
|
</param>
|
|
<param name="loaderLimits">
|
|
Limits to apply when loading the PFX. A <see langword="null" /> value, the default,
|
|
is equivalent to <see cref="P:System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits.Defaults"/>.
|
|
</param>
|
|
<returns>The loaded certificate.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="path"/> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="keyStorageFlags"/> contains a value, or combination of values,
|
|
that is not valid.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
<paramref name="keyStorageFlags"/> contains a value that is not valid for the
|
|
current platform.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.X509Certificates.Pkcs12LoadLimitExceededException">
|
|
The PKCS#12/PFX violated one or more constraints of <paramref name="loaderLimits"/>.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while loading the PKCS#12/PFX.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
An error occurred while loading the specified file.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.AsymmetricAlgorithmHelpers.ConvertIeee1363ToDer(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Convert Ieee1363 format of (r, s) to Der format
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.AsymmetricAlgorithmHelpers.ConvertDerToIeee1363(System.ReadOnlySpan{System.Byte},System.Int32)">
|
|
<summary>
|
|
Convert Der format of (r, s) to Ieee1363 format
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.CompositeMLDsa">
|
|
<summary>
|
|
Represents a Composite ML-DSA key.
|
|
</summary>
|
|
<remarks>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.CompositeMLDsa"/> base class,
|
|
rather than any specific derived class. The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsa.IsSupported">
|
|
<summary>
|
|
Gets a value indicating whether the current platform supports Composite ML-DSA.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> if the current platform supports Composite ML-DSA; otherwise, <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsa.Algorithm">
|
|
<summary>
|
|
Gets the specific Composite ML-DSA algorithm for this key.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.#ctor(System.Security.Cryptography.CompositeMLDsaAlgorithm)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.CompositeMLDsa" /> class.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific Composite ML-DSA algorithm for this key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> parameter is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.IsAlgorithmSupported(System.Security.Cryptography.CompositeMLDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether the specified algorithm is supported by the current platform.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The <see cref="T:System.Security.Cryptography.CompositeMLDsaAlgorithm"/> to check for support.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the algorithm is supported; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.SignData(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Signs the specified data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
The Composite ML-DSA signature of the specified data.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the data.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.SignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Signs the specified data, writing the signature into the provided buffer.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature. Its length must be at least <see cref="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MaxSignatureSizeInBytes"/>.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<returns>
|
|
The number of bytes written to the <paramref name="destination"/> buffer.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is less than <see cref="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MaxSignatureSizeInBytes"/> in length.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the data.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.SignDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, computes the signature of the specified data and context,
|
|
writing it into the provided buffer.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature, whose length will be exactly <see cref="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MaxSignatureSizeInBytes" />.
|
|
</param>
|
|
<returns>
|
|
The number of bytes written to the <paramref name="destination"/> buffer.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while signing the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.VerifyData(System.Byte[],System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Verifies that the specified signature is valid for this key and the provided data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> or <paramref name="signature"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while verifying the data.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Verifies that the specified signature is valid for this key and the provided data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while verifying the data.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, verifies the signature of the specified data and context.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while verifying the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.GenerateKey(System.Security.Cryptography.CompositeMLDsaAlgorithm)">
|
|
<summary>
|
|
Generates a new Composite ML-DSA key.
|
|
</summary>
|
|
<param name="algorithm">
|
|
An algorithm identifying what kind of Composite ML-DSA key to generate.
|
|
</param>
|
|
<returns>
|
|
The generated key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred generating the Composite ML-DSA key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support the specified Composite ML-DSA algorithm. Callers can use <see cref="M:System.Security.Cryptography.CompositeMLDsa.IsAlgorithmSupported(System.Security.Cryptography.CompositeMLDsaAlgorithm)" />
|
|
to determine if the algorithm is supported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportFromEncryptedPem(System.String,System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="password" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports a Composite ML-DSA key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="password">
|
|
The password to use for decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified Composite ML-DSA algorithm is not supported.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
When the base-64 decoded contents of <paramref name="source" /> indicate an algorithm that uses PBKDF1
|
|
(Password-Based Key Derivation Function 1) or PBKDF2 (Password-Based Key Derivation Function 2),
|
|
the password is converted to bytes via the UTF-8 encoding.
|
|
</para>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportFromEncryptedPem(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="passwordBytes" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.
|
|
</param>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified Composite ML-DSA algorithm is not supported.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportFromPem(System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportFromPem(System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportFromPem(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports a Composite ML-DSA key from an RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The text of the PEM key to import.
|
|
</param>
|
|
<returns>
|
|
The imported Composite ML-DSA key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para><paramref name="source" /> contains an encrypted PEM-encoded key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains multiple PEM-encoded Composite ML-DSA keys.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains no PEM-encoded Composite ML-DSA keys.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while importing the key.</para>
|
|
<para>-or-</para>
|
|
<para>The specified Composite ML-DSA algorithm is not supported.</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is raised to prevent importing a key when the key is ambiguous.
|
|
</para>
|
|
<para>
|
|
This method supports the following PEM labels:
|
|
<list type="bullet">
|
|
<item><description>PUBLIC KEY</description></item>
|
|
<item><description>PRIVATE KEY</description></item>
|
|
</list>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportSubjectPublicKeyInfo(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA public key from an X.509 SubjectPublicKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The SubjectPublicKeyInfo value does not represent a Composite ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified Composite ML-DSA algorithm is not supported.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportEncryptedPkcs8PrivateKey(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password" /> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent a Composite ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified Composite ML-DSA algorithm is not supported.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The EncryptedPrivateKeyInfo indicates the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF,
|
|
which requires <see cref="T:System.Char"/>-based passwords.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent a Composite ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified Composite ML-DSA algorithm is not supported.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportPkcs8PrivateKey(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})" />>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA private key from a PKCS#8 PrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The PrivateKeyInfo value does not represent a Composite ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified Composite ML-DSA algorithm is not supported.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support Composite ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.CompositeMLDsa.IsSupported" /> property
|
|
to determine if the platform supports Composite ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportCompositeMLDsaPublicKey(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportCompositeMLDsaPublicKey(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportCompositeMLDsaPublicKey(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA public key.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific Composite ML-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of the public key.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
<paramref name="source"/> length is the wrong size for the specified algorithm.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support the specified Composite ML-DSA algorithm. Callers can use <see cref="M:System.Security.Cryptography.CompositeMLDsa.IsAlgorithmSupported(System.Security.Cryptography.CompositeMLDsaAlgorithm)" />
|
|
to determine if the algorithm is supported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportCompositeMLDsaPrivateKey(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ImportCompositeMLDsaPrivateKey(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ImportCompositeMLDsaPrivateKey(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports a Composite ML-DSA private key.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific Composite ML-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of the public key.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
<paramref name="source"/> length is the wrong size for the specified algorithm.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support the specified Composite ML-DSA algorithm. Callers can use <see cref="M:System.Security.Cryptography.CompositeMLDsa.IsAlgorithmSupported(System.Security.Cryptography.CompositeMLDsaAlgorithm)" />
|
|
to determine if the algorithm is supported.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.CompositeMLDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportPkcs8PrivateKeyPem">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the PKCS#8 PrivateKeyInfo
|
|
representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportPkcs8PrivateKey">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the PKCS#8 PrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
When overridden in a derived class, attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportSubjectPublicKeyInfoPem">
|
|
<summary>
|
|
Exports the public-key portion of the current key in a PEM-encoded representation of
|
|
the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the X.509 SubjectPublicKeyInfo
|
|
representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportSubjectPublicKeyInfo">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the X.509 SubjectPublicKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportCompositeMLDsaPublicKey">
|
|
<summary>
|
|
Exports the public-key portion of the current key.
|
|
</summary>
|
|
<returns>
|
|
The Composite ML-DSA public key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportCompositeMLDsaPublicKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the public-key portion of the current key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the Composite ML-DSA public key value.
|
|
</param>
|
|
<returns>
|
|
The number of bytes written to the <paramref name="destination"/> buffer.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="destination"/> was too not large enough to hold the result.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportCompositeMLDsaPublicKey(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export public key portion of the current key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the public key value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportCompositeMLDsaPrivateKey">
|
|
<summary>
|
|
Exports the private-key portion of the current key.
|
|
</summary>
|
|
<returns>
|
|
The Composite ML-DSA private key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a private key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportCompositeMLDsaPrivateKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the private-key portion of the current key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the Composite ML-DSA private key value.
|
|
</param>
|
|
<returns>
|
|
The number of bytes written to the <paramref name="destination"/> buffer.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="destination"/> was too not large enough to hold the result.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.TryExportCompositeMLDsaPrivateKey(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export private key portion of the current key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private key value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportCompositeMLDsaPublicKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the public key portion of the current key.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the public key value.
|
|
</param>
|
|
<returns>
|
|
The number of bytes written to the <paramref name="destination"/> buffer.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.ExportCompositeMLDsaPrivateKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the private key portion of the current key.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private key value.
|
|
</param>
|
|
<returns>
|
|
The number of bytes written to the <paramref name="destination"/> buffer.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.Dispose">
|
|
<summary>
|
|
Releases all resources used by the <see cref="T:System.Security.Cryptography.CompositeMLDsa"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsa.Dispose(System.Boolean)">
|
|
<summary>
|
|
Called by the <see cref="M:System.Security.Cryptography.CompositeMLDsa.Dispose" /> method to release the managed and unmanaged
|
|
resources used by the current instance of the <see cref="T:System.Security.Cryptography.CompositeMLDsa"/> class.
|
|
</summary>
|
|
<param name="disposing">
|
|
<see langword="true" /> to release managed and unmanaged resources;
|
|
<see langword="false" /> to release only unmanaged resources.
|
|
</param>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.CompositeMLDsaAlgorithm">
|
|
<summary>
|
|
Represents a composite ML-DSA algorithm identifier, combining ML-DSA with a traditional algorithm.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.Name">
|
|
<summary>
|
|
Gets the name of the algorithm.
|
|
</summary>
|
|
<value>
|
|
A string representing the algorithm name.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MaxSignatureSizeInBytes">
|
|
<summary>
|
|
Gets the maximum signature size in bytes for the composite algorithm.
|
|
</summary>
|
|
<value>
|
|
The maximum signature size in bytes for the composite algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa44WithRSA2048Pss">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-44 and 2048-bit RSASSA-PSS with SHA256 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-44 and 2048-bit RSASSA-PSS with SHA256 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa44WithRSA2048Pkcs15">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-44 and 2048-bit RSASSA-PKCS1-v1_5 with SHA256 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-44 and 2048-bit RSASSA-PKCS1-v1_5 with SHA256 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa44WithEd25519">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-44 and Ed25519 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-44 and Ed25519 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa44WithECDsaP256">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-44 and ECDSA P-256 with SHA256 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-44 and ECDSA P-256 with SHA256 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithRSA3072Pss">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and 3072-bit RSASSA-PSS with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and 3072-bit RSASSA-PSS with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithRSA3072Pkcs15">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and 3072-bit RSASSA-PKCS1-v1_5 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and 3072-bit RSASSA-PKCS1-v1_5 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithRSA4096Pss">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and 4096-bit RSASSA-PSS with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and 4096-bit RSASSA-PSS with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithRSA4096Pkcs15">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and 4096-bit RSASSA-PKCS1-v1_5 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and 4096-bit RSASSA-PKCS1-v1_5 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithECDsaP256">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and ECDSA P-256 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and ECDSA P-256 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithECDsaP384">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and ECDSA P-384 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and ECDSA P-384 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithECDsaBrainpoolP256r1">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and ECDSA BrainpoolP256r1 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and ECDSA BrainpoolP256r1 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa65WithEd25519">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-65 and Ed25519 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 and Ed25519 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa87WithECDsaP384">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-87 and ECDSA P-384 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 and ECDSA P-384 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa87WithECDsaBrainpoolP384r1">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-87 and ECDSA BrainpoolP384r1 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 and ECDSA BrainpoolP384r1 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa87WithEd448">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-87 and Ed448 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 and Ed448 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa87WithRSA3072Pss">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-87 and 3072-bit RSASSA-PSS with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 and 3072-bit RSASSA-PSS with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa87WithRSA4096Pss">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-87 and 4096-bit RSASSA-PSS with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 and 4096-bit RSASSA-PSS with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.CompositeMLDsaAlgorithm.MLDsa87WithECDsaP521">
|
|
<summary>
|
|
Gets a Composite ML-DSA algorithm identifier for the ML-DSA-87 and ECDSA P-521 with SHA512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 and ECDSA P-521 with SHA512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaAlgorithm.Equals(System.Security.Cryptography.CompositeMLDsaAlgorithm)">
|
|
<summary>
|
|
Compares two <see cref="T:System.Security.Cryptography.CompositeMLDsaAlgorithm" /> objects.
|
|
</summary>
|
|
<param name="other">
|
|
An object to be compared to the current <see cref="T:System.Security.Cryptography.CompositeMLDsaAlgorithm"/> object.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaAlgorithm.Equals(System.Object)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaAlgorithm.GetHashCode">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaAlgorithm.ToString">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaAlgorithm.op_Equality(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.Security.Cryptography.CompositeMLDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.CompositeMLDsaAlgorithm" /> objects specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaAlgorithm.op_Inequality(System.Security.Cryptography.CompositeMLDsaAlgorithm,System.Security.Cryptography.CompositeMLDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.CompositeMLDsaAlgorithm" /> objects do not specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are not considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.MLKem">
|
|
<summary>
|
|
Represents an ML-KEM key.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This algorithm is specified by FIPS-203.
|
|
</para>
|
|
<para>
|
|
Developers are encouraged to program against the <c>MLKem</c> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKem.IsSupported">
|
|
<summary>
|
|
Gets a value that indicates whether the algorithm is supported on the current platform.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> if the algorithm is supported; otherwise, <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKem.Algorithm">
|
|
<summary>
|
|
Gets the specific ML-KEM algorithm for this key.
|
|
</summary>
|
|
<value>
|
|
The specific ML-KEM algorithm for this key.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.#ctor(System.Security.Cryptography.MLKemAlgorithm)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.MLKem" /> class.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific ML-KEM algorithm for this key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.GenerateKey(System.Security.Cryptography.MLKemAlgorithm)">
|
|
<summary>
|
|
Generates a new ML-KEM key.
|
|
</summary>
|
|
<param name="algorithm">
|
|
An algorithm identifying what kind of ML-KEM key to generate.
|
|
</param>
|
|
<returns>
|
|
The generated key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred generating the ML-KEM key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.Encapsulate(System.Span{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
Creates an encapsulation ciphertext and shared secret, writing them into the provided buffers.
|
|
</summary>
|
|
<param name="ciphertext">
|
|
The buffer to receive the ciphertext.
|
|
</param>
|
|
<param name="sharedSecret">
|
|
The buffer to receive the shared secret.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred during encapsulation.</para>
|
|
<para>-or -</para>
|
|
<para><paramref name="ciphertext"/> overlaps with <paramref name="sharedSecret"/>.</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para><paramref name="ciphertext" /> is not the correct size.</para>
|
|
<para> -or- </para>
|
|
<para><paramref name="sharedSecret" /> is not the correct size.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.Encapsulate(System.Byte[]@,System.Byte[]@)">
|
|
<summary>
|
|
Creates an encapsulation ciphertext and shared secret.
|
|
</summary>
|
|
<param name="ciphertext">
|
|
When this method returns, the ciphertext.
|
|
</param>
|
|
<param name="sharedSecret">
|
|
When this method returns, the shared secret.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred during encapsulation.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.EncapsulateCore(System.Span{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, creates an encapsulation ciphertext and shared secret, writing them
|
|
into the provided buffers.
|
|
</summary>
|
|
<param name="ciphertext">
|
|
The buffer to receive the ciphertext.
|
|
</param>
|
|
<param name="sharedSecret">
|
|
The buffer to receive the shared secret.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred during encapsulation.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.Decapsulate(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
Decapsulates a shared secret from a provided ciphertext.
|
|
</summary>
|
|
<param name="ciphertext">
|
|
The ciphertext.
|
|
</param>
|
|
<param name="sharedSecret">
|
|
The buffer to receive the shared secret.
|
|
</param>
|
|
<remarks>
|
|
Decapsulation can only decapsulate a shared secret created with the the decapsulation key's
|
|
corresponding encapsulation key. If a different key is used, ML-KEM performs implicit rejection.
|
|
Implicit rejection means an error will not be returned. Instead, the shared secret will be a
|
|
deterministic but incorrect result.
|
|
Detecting incorrect key use is a concern for consumers of the ML-KEM algorithm.
|
|
For more information, see FIPS 203, Section 6.3.
|
|
</remarks>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred during decapsulation.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para><paramref name="ciphertext" /> is not the correct size.</para>
|
|
<para> -or- </para>
|
|
<para><paramref name="sharedSecret" /> is not the correct size.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.Decapsulate(System.Byte[])">
|
|
<summary>
|
|
Decapsulates a shared secret from a provided ciphertext.
|
|
</summary>
|
|
<param name="ciphertext">
|
|
The ciphertext.
|
|
</param>
|
|
<returns>
|
|
The shared secret.
|
|
</returns>
|
|
<remarks>
|
|
Decapsulation can only decapsulate a shared secret created with the the decapsulation key's
|
|
corresponding encapsulation key. If a different key is used, ML-KEM performs implicit rejection.
|
|
Implicit rejection means an error will not be returned. Instead, the shared secret will be a
|
|
deterministic but incorrect result.
|
|
Detecting incorrect key use is a concern for consumers of the ML-KEM algorithm.
|
|
For more information, see FIPS 203, Section 6.3.
|
|
</remarks>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred during decapsulation.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="ciphertext" /> is not the correct size.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="ciphertext" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.DecapsulateCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, decapsulates a shared secret from a provided ciphertext.
|
|
</summary>
|
|
<param name="ciphertext">
|
|
The ciphertext.
|
|
</param>
|
|
<param name="sharedSecret">
|
|
The buffer to receive the shared secret.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred during decapsulation.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportPrivateSeed(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the private seed into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private seed.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the private seed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a seed.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportPrivateSeed">
|
|
<summary>
|
|
Exports the private seed.
|
|
</summary>
|
|
<returns>
|
|
The private seed.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a seed.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportPrivateSeedCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the private seed into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private seed.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportPrivateSeed(System.Security.Cryptography.MLKemAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM key from its private seed value.
|
|
</summary>
|
|
<param name="algorithm">The specific ML-KEM algorithm for this key.</param>
|
|
<param name="source">The private seed.</param>
|
|
<returns>The imported key.</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not the
|
|
<see cref="P:System.Security.Cryptography.MLKemAlgorithm.PrivateSeedSizeInBytes" /> from <paramref name="algorithm" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportPrivateSeed(System.Security.Cryptography.MLKemAlgorithm,System.Byte[])">
|
|
<summary>
|
|
Imports an ML-KEM key from its private seed value.
|
|
</summary>
|
|
<param name="algorithm">The specific ML-KEM algorithm for this key.</param>
|
|
<param name="source">The private seed.</param>
|
|
<returns>The imported key.</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not the
|
|
<see cref="P:System.Security.Cryptography.MLKemAlgorithm.PrivateSeedSizeInBytes" /> from <paramref name="algorithm" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para><paramref name="algorithm" /> is <see langword="null" />.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> is <see langword="null" />.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportDecapsulationKey(System.Security.Cryptography.MLKemAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM key from a decapsulation key.
|
|
</summary>
|
|
<param name="algorithm">The specific ML-KEM algorithm for this key.</param>
|
|
<param name="source">The decapsulation key.</param>
|
|
<returns>The imported key.</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not valid for the ML-KEM algorithm.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportDecapsulationKey(System.Security.Cryptography.MLKemAlgorithm,System.Byte[])">
|
|
<summary>
|
|
Imports an ML-KEM key from a decapsulation key.
|
|
</summary>
|
|
<param name="algorithm">The specific ML-KEM algorithm for this key.</param>
|
|
<param name="source">The decapsulation key.</param>
|
|
<returns>The imported key.</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not valid for the ML-KEM algorithm.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para><paramref name="algorithm" /> is <see langword="null" />.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> is <see langword="null" />.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportEncapsulationKey(System.Security.Cryptography.MLKemAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM key from a encapsulation key.
|
|
</summary>
|
|
<param name="algorithm">The specific ML-KEM algorithm for this key.</param>
|
|
<param name="source">The encapsulation key.</param>
|
|
<returns>The imported key.</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not valid for the ML-KEM algorithm.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportEncapsulationKey(System.Security.Cryptography.MLKemAlgorithm,System.Byte[])">
|
|
<summary>
|
|
Imports an ML-KEM key from a encapsulation key.
|
|
</summary>
|
|
<param name="algorithm">The specific ML-KEM algorithm for this key.</param>
|
|
<param name="source">The encapsulation key.</param>
|
|
<returns>The imported key.</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not valid for the ML-KEM algorithm.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para><paramref name="algorithm" /> is <see langword="null" />.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> is <see langword="null" />.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportDecapsulationKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the decapsulation key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the decapsulation key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the decapsulation key.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a decapsulation key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while importing the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportDecapsulationKey">
|
|
<summary>
|
|
Exports the decapsulation key.
|
|
</summary>
|
|
<returns>
|
|
The decapsulation key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a decapsulation key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while importing the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportDecapsulationKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the decapsulation key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the decapsulation key.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncapsulationKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the encapsulation key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the encapsulation key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the encapsulation key.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred exporting the encapsulation key.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncapsulationKey">
|
|
<summary>
|
|
Exports the encapsulation key.
|
|
</summary>
|
|
<returns>
|
|
The encapsulation key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred exporting the encapsulation key.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncapsulationKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the encapsulation key into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the encapsulation key.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the X.509 SubjectPublicKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportSubjectPublicKeyInfo">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportSubjectPublicKeyInfoPem">
|
|
<summary>
|
|
Exports the public-key portion of the current key in a PEM-encoded representation of
|
|
the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the X.509 SubjectPublicKeyInfo
|
|
representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportPkcs8PrivateKey">
|
|
<summary>
|
|
Export the current key in the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the PKCS#8 PrivateKeyInfo representation of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportPkcs8PrivateKeyPem">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the PKCS#8 PrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
When overridden in a derived class, attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.TryExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters" /> or <paramref name="password" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ExportEncryptedPkcs8PrivateKeyPem(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a string password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM encapsulation key from an X.509 SubjectPublicKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The SubjectPublicKeyInfo value does not represent an ML-KEM key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportSubjectPublicKeyInfo(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLKem.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM private key from a PKCS#8 PrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The PrivateKeyInfo value does not represent an ML-KEM key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportPkcs8PrivateKey(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLKem.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The EncryptedPrivateKeyInfo indicates the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF,
|
|
which requires <see cref="T:System.Char"/>-based passwords.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an ML-KEM key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an ML-KEM key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportEncryptedPkcs8PrivateKey(System.String,System.Byte[])">
|
|
<summary>
|
|
Imports an ML-KEM private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password" /> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an ML-KEM key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-KEM. Callers can use the <see cref="P:System.Security.Cryptography.MLKem.IsSupported" /> property
|
|
to determine if the platform supports ML-KEM.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportFromPem(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports an ML-KEM key from an RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The text of the PEM key to import.
|
|
</param>
|
|
<returns>
|
|
The imported ML-KEM key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para><paramref name="source" /> contains an encrypted PEM-encoded key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains multiple PEM-encoded ML-KEM keys.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains no PEM-encoded ML-KEM keys.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is raised to prevent importing a key when the key is ambiguous.
|
|
</para>
|
|
<para>
|
|
This method supports the following PEM labels:
|
|
<list type="bullet">
|
|
<item><description>PUBLIC KEY</description></item>
|
|
<item><description>PRIVATE KEY</description></item>
|
|
</list>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportFromPem(System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLKem.ImportFromPem(System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports an ML-KEM key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="password">
|
|
The password to use for decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
When the base-64 decoded contents of <paramref name="source" /> indicate an algorithm that uses PBKDF1
|
|
(Password-Based Key Derivation Function 1) or PBKDF2 (Password-Based Key Derivation Function 2),
|
|
the password is converted to bytes via the UTF-8 encoding.
|
|
</para>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-KEM key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="passwordBytes">
|
|
The password to use for decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportFromEncryptedPem(System.String,System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLKem.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="password" /> is <see langword="null" />
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.ImportFromEncryptedPem(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLKem.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="passwordBytes" /> is <see langword="null" />
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.Dispose">
|
|
<summary>
|
|
Releases all resources used by the <see cref="T:System.Security.Cryptography.MLKem"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKem.Dispose(System.Boolean)">
|
|
<summary>
|
|
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.MLKem"/> class.
|
|
</summary>
|
|
<param name="disposing">
|
|
<see langword="true" /> to release managed and unmanaged resources;
|
|
<see langword="false" /> to release only unmanaged resources.
|
|
</param>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.MLKemAlgorithm">
|
|
<summary>
|
|
Represents a specific algorithm within the ML-KEM family.
|
|
</summary>
|
|
<seealso cref="T:System.Security.Cryptography.MLKem" />
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.MLKem512">
|
|
<summary>
|
|
Gets an ML-KEM algorithm identifier for the ML-KEM-512 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-KEM algorithm identifier for the ML-KEM-512 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.MLKem768">
|
|
<summary>
|
|
Gets an ML-KEM algorithm identifier for the ML-KEM-768 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-KEM algorithm identifier for the ML-KEM-768 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.MLKem1024">
|
|
<summary>
|
|
Gets an ML-KEM algorithm identifier for the ML-KEM-1024 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-KEM algorithm identifier for the ML-KEM-1024 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.Name">
|
|
<summary>
|
|
Gets the name of the algorithm.
|
|
</summary>
|
|
<value>
|
|
An a string representing the algorithm name.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.EncapsulationKeySizeInBytes">
|
|
<summary>
|
|
Gets the size of the encapsulation key for the algorithm, in bytes.
|
|
</summary>
|
|
<value>
|
|
The size of the encapsulation key for the algorithm, in bytes.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.DecapsulationKeySizeInBytes">
|
|
<summary>
|
|
Gets the size of the decapsulation key for the algorithm, in bytes.
|
|
</summary>
|
|
<value>
|
|
The size of the decapsulation key for the algorithm, in bytes.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.CiphertextSizeInBytes">
|
|
<summary>
|
|
Gets the size of the ciphertext for the algorithm, in bytes.
|
|
</summary>
|
|
<value>
|
|
The size of the ciphertext for the algorithm, in bytes.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.SharedSecretSizeInBytes">
|
|
<summary>
|
|
Gets the size of the shared secret for the algorithm, in bytes.
|
|
</summary>
|
|
<value>
|
|
The size of the shared secret for the algorithm, in bytes.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLKemAlgorithm.PrivateSeedSizeInBytes">
|
|
<summary>
|
|
Gets the size of the private seed for the algorithm, in bytes.
|
|
</summary>
|
|
<value>
|
|
The size of the private seed for the algorithm, in bytes.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemAlgorithm.Equals(System.Security.Cryptography.MLKemAlgorithm)">
|
|
<summary>
|
|
Compares two <see cref="T:System.Security.Cryptography.MLKemAlgorithm" /> objects.
|
|
</summary>
|
|
<param name="other">
|
|
An object to be compared to the current <see cref="T:System.Security.Cryptography.MLKemAlgorithm"/> object.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemAlgorithm.Equals(System.Object)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemAlgorithm.GetHashCode">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemAlgorithm.ToString">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemAlgorithm.op_Equality(System.Security.Cryptography.MLKemAlgorithm,System.Security.Cryptography.MLKemAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.MLKemAlgorithm" /> objects specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemAlgorithm.op_Inequality(System.Security.Cryptography.MLKemAlgorithm,System.Security.Cryptography.MLKemAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.MLKemAlgorithm" /> objects do not specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are not considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaImplementation.DuplicatePrivateKey(System.Security.Cryptography.MLDsa)">
|
|
<summary>
|
|
Duplicates an ML-DSA private key by export/import.
|
|
Only intended to be used when the key type is unknown.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.SlhDsa">
|
|
<summary>
|
|
Represents an SLH-DSA key.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This algorithm is specified by FIPS-205.
|
|
</para>
|
|
<para>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.SlhDsa"/> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.#ctor(System.Security.Cryptography.SlhDsaAlgorithm)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.SlhDsa" /> class.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific SLH-DSA algorithm for this key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsa.IsSupported">
|
|
<summary>
|
|
Gets a value indicating whether the current platform supports SLH-DSA.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> if the current platform supports SLH-DSA; otherwise, <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsa.Algorithm">
|
|
<summary>
|
|
Gets the specific SLH-DSA algorithm for this key.
|
|
</summary>
|
|
<value>
|
|
The specific SLH-DSA algorithm for this key.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.Dispose">
|
|
<summary>
|
|
Releases all resources used by the <see cref="T:System.Security.Cryptography.SlhDsa"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.SignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Signs the specified data, writing the signature into the provided buffer.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.SlhDsaAlgorithm.SignatureSizeInBytes"/>.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
The buffer in <paramref name="destination"/> is the incorrect length to receive the signature.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the data.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.SignData(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Signs the specified data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the data.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Verifies that the specified signature is valid for this key and the provided data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while verifying the data.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.VerifyData(System.Byte[],System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Verifies that the specified signature is valid for this key and the provided data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> or <paramref name="signature"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while verifying the data.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.SignPreHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Signs the specified hash using the FIPS 205 pre-hash signing algorithm, writing the signature into the provided buffer.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.SlhDsaAlgorithm.SignatureSizeInBytes"/>.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
The buffer in <paramref name="destination"/> is the incorrect length to receive the signature.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the hash.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.SignPreHash(System.Byte[],System.String,System.Byte[])">
|
|
<summary>
|
|
Signs the specified hash using the FIPS 205 pre-hash signing algorithm.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to sign.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hash"/> or <paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the hash.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.VerifyPreHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Verifies that the specified FIPS 205 pre-hash signature is valid for this key and the provided hash.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the hash; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while verifying the hash.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.VerifyPreHash(System.Byte[],System.Byte[],System.String,System.Byte[])">
|
|
<summary>
|
|
Verifies that the specified FIPS 205 pre-hash signature is valid for this key and the provided hash.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the hash; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hash"/> or <paramref name="signature"/> or <paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while verifying the hash.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSubjectPublicKeyInfo">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the X.509 SubjectPublicKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSubjectPublicKeyInfoPem">
|
|
<summary>
|
|
Exports the public-key portion of the current key in a PEM-encoded representation of
|
|
the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the X.509 SubjectPublicKeyInfo
|
|
representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportPkcs8PrivateKey">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the PKCS#8 PrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
When overridden in a derived class, attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportPkcs8PrivateKeyPem">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the PKCS#8 PrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.TryExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKeyPem(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSlhDsaPublicKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the FIPS 205 public key format.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the public key. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.SlhDsaAlgorithm.PublicKeySizeInBytes"/>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the public key.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
<remarks>
|
|
<paramref name="destination"/> is required to be exactly
|
|
<see cref="P:System.Security.Cryptography.SlhDsaAlgorithm.PublicKeySizeInBytes"/> in length.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSlhDsaPublicKey">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the FIPS 205 public key format.
|
|
</summary>
|
|
<returns>
|
|
The FIPS 205 public key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSlhDsaPrivateKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the current key in the FIPS 205 private key format.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private key. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.SlhDsaAlgorithm.PrivateKeySizeInBytes"/>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the private key.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a private key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSlhDsaPrivateKey">
|
|
<summary>
|
|
Exports the current key in the FIPS 205 private key format.
|
|
</summary>
|
|
<returns>
|
|
The FIPS 205 private key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a private key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.GenerateKey(System.Security.Cryptography.SlhDsaAlgorithm)">
|
|
<summary>
|
|
Generates a new SLH-DSA key for the specified algorithm.
|
|
</summary>
|
|
<param name="algorithm">
|
|
An algorithm identifying what kind of SLH-DSA key to generate.
|
|
</param>
|
|
<returns>
|
|
The generated object.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred generating the SLH-DSA key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA public key from an X.509 SubjectPublicKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The SubjectPublicKeyInfo value does not represent an SLH-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportSubjectPublicKeyInfo(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA private key from a PKCS#8 PrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The PrivateKeyInfo value does not represent an SLH-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportPkcs8PrivateKey(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})" />>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The EncryptedPrivateKeyInfo indicates the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF,
|
|
which requires <see cref="T:System.Char"/>-based passwords.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an SLH-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an SLH-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportEncryptedPkcs8PrivateKey(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password" /> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportFromPem(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports an SLH-DSA key from an RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The text of the PEM key to import.
|
|
</param>
|
|
<returns>
|
|
The imported SLH-DSA key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para><paramref name="source" /> contains an encrypted PEM-encoded key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains multiple PEM-encoded SLH-DSA keys.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains no PEM-encoded SLH-DSA keys.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is raised to prevent importing a key when the key is ambiguous.
|
|
</para>
|
|
<para>
|
|
This method supports the following PEM labels:
|
|
<list type="bullet">
|
|
<item><description>PUBLIC KEY</description></item>
|
|
<item><description>PRIVATE KEY</description></item>
|
|
</list>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportFromPem(System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportFromPem(System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports an SLH-DSA key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="password">
|
|
The password to use for decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
When the base-64 decoded contents of <paramref name="source" /> indicate an algorithm that uses PBKDF1
|
|
(Password-Based Key Derivation Function 1) or PBKDF2 (Password-Based Key Derivation Function 2),
|
|
the password is converted to bytes via the UTF-8 encoding.
|
|
</para>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportFromEncryptedPem(System.String,System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="password" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportFromEncryptedPem(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="passwordBytes" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportSlhDsaPublicKey(System.Security.Cryptography.SlhDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA public key in the FIPS 205 public key format.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific SLH-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a FIPS 205 public key.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not valid for the SLH-DSA algorithm.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportSlhDsaPublicKey(System.Security.Cryptography.SlhDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportSlhDsaPublicKey(System.Security.Cryptography.SlhDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportSlhDsaPrivateKey(System.Security.Cryptography.SlhDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an SLH-DSA private key in the FIPS 205 private key format.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific SLH-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a FIPS 205 private key.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="source"/> has a length that is not valid for the SLH-DSA algorithm.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support SLH-DSA. Callers can use the <see cref="P:System.Security.Cryptography.SlhDsa.IsSupported" /> property
|
|
to determine if the platform supports SLH-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ImportSlhDsaPrivateKey(System.Security.Cryptography.SlhDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.SlhDsa.ImportSlhDsaPrivateKey(System.Security.Cryptography.SlhDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.Dispose(System.Boolean)">
|
|
<summary>
|
|
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.
|
|
</summary>
|
|
<param name="disposing">
|
|
<see langword="true" /> to release managed and unmanaged resources;
|
|
<see langword="false" /> to release only unmanaged resources.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.SignDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, computes the signature of the specified data and context,
|
|
writing it into the provided buffer.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature, which will always be the exactly correct size for the algorithm.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while signing the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, verifies the signature of the specified data and context.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while verifying the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.SignPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, computes the pre-hash signature of the specified hash and context,
|
|
writing it into the provided buffer.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to sign.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature, which will always be the exactly correct size for the algorithm.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while signing the hash.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.VerifyPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, verifies the pre-hash signature of the specified hash and context.
|
|
</summary>
|
|
<param name="hash">
|
|
The data to verify.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the hash; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while verifying the hash.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSlhDsaPublicKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the FIPS 205 public key to the specified buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the public key.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsa.ExportSlhDsaPrivateKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the FIPS 205 private key to the specified buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private key.
|
|
</param>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.SlhDsaAlgorithm">
|
|
<summary>
|
|
Represents a specific algorithm within the SHL-DSA family.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.Name">
|
|
<summary>
|
|
Gets the underlying string representation of the algorithm name.
|
|
</summary>
|
|
<value>
|
|
The underlying string representation of the algorithm name.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.PrivateKeySizeInBytes">
|
|
<summary>
|
|
Gets the size of the private key in bytes for this algorithm.
|
|
</summary>
|
|
<value>
|
|
The size of the private key in bytes for this algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.PublicKeySizeInBytes">
|
|
<summary>
|
|
Gets the size of the public key in bytes for this algorithm.
|
|
</summary>
|
|
<value>
|
|
The size of the public key in bytes for this algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SignatureSizeInBytes">
|
|
<summary>
|
|
Gets the size of the signature in bytes for this algorithm.
|
|
</summary>
|
|
<value>
|
|
The size of the signature in bytes for this algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.Oid">
|
|
<summary>
|
|
Gets the Object Identifier (OID) for this algorithm.
|
|
</summary>
|
|
<value>
|
|
The Object Identifier (OID) for this algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.#ctor(System.String,System.Int32,System.Int32,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.SlhDsaAlgorithm" /> structure with a custom name.
|
|
</summary>
|
|
<param name="name">
|
|
The name of the algorithm.
|
|
</param>
|
|
<param name="n">
|
|
The "security parameter" as described in FIPS 205.
|
|
</param>
|
|
<param name="signatureSizeInBytes">
|
|
The size of the signature in bytes for this algorithm.
|
|
</param>
|
|
<param name="oid">
|
|
The Object Identifier (OID) for this algorithm.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaSha2_128s">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHA2-128s algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHA2-128s algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaShake128s">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-128s algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-128s algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaSha2_128f">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHA2-128f algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHA2-128f algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaShake128f">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-128f algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-128f algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaSha2_192s">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHA2-192s algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHA2-192s algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaShake192s">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-192s algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-192s algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaSha2_192f">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHA2-192f algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHA2-192f algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaShake192f">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-192f algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-192f algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaSha2_256s">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHA2-256s algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHA2-256s algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaShake256s">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-256s algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-256s algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaSha2_256f">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHA2-256f algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHA2-256f algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.SlhDsaAlgorithm.SlhDsaShake256f">
|
|
<summary>
|
|
Gets an SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-256f algorithm.
|
|
</summary>
|
|
<value>
|
|
An SLH-DSA algorithm identifier for the SLH-DSA-SHAKE-256f algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.Equals(System.Security.Cryptography.SlhDsaAlgorithm)">
|
|
<summary>
|
|
Compares two <see cref="T:System.Security.Cryptography.SlhDsaAlgorithm" /> objects.
|
|
</summary>
|
|
<param name="other">
|
|
An object to be compared to the current <see cref="T:System.Security.Cryptography.SlhDsaAlgorithm"/> object.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.Equals(System.Object)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.GetHashCode">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.ToString">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.op_Equality(System.Security.Cryptography.SlhDsaAlgorithm,System.Security.Cryptography.SlhDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.SlhDsaAlgorithm" /> objects specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaAlgorithm.op_Inequality(System.Security.Cryptography.SlhDsaAlgorithm,System.Security.Cryptography.SlhDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.SlhDsaAlgorithm" /> objects do not specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are not considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaImplementation.DuplicatePrivateKey(System.Security.Cryptography.SlhDsa)">
|
|
<summary>
|
|
Duplicates an SLH-DSA private key by export/import.
|
|
Only intended to be used when the key type is unknown.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.MLDsa">
|
|
<summary>
|
|
Represents an ML-DSA key.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This algorithm is specified by FIPS-204.
|
|
</para>
|
|
<para>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.MLDsa"/> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsa.Algorithm">
|
|
<summary>
|
|
Gets the specific ML-DSA algorithm for this key.
|
|
</summary>
|
|
<value>
|
|
The specific ML-DSA algorithm for this key.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.#ctor(System.Security.Cryptography.MLDsaAlgorithm)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.MLDsa" /> class.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific ML-DSA algorithm for this key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsa.IsSupported">
|
|
<summary>
|
|
Gets a value indicating whether the current platform supports ML-DSA.
|
|
</summary>
|
|
<value>
|
|
<see langword="true" /> if the current platform supports ML-DSA; otherwise, <see langword="false" />.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.Dispose">
|
|
<summary>
|
|
Releases all resources used by the <see cref="T:System.Security.Cryptography.MLDsa"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Signs the specified data, writing the signature into the provided buffer.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.SignatureSizeInBytes"/>.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
The buffer in <paramref name="destination"/> is the incorrect length to receive the signature.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the data.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignData(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Signs the specified data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
ML-DSA signature for the specified data.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the data.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Verifies that the specified signature is valid for this key and the provided data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while verifying the data.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyData(System.Byte[],System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Verifies that the specified signature is valid for this key and the provided data.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="data"/> or <paramref name="signature"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while verifying the data.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignPreHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Signs the specified hash using the FIPS 204 pre-hash signing algorithm, writing the signature into the provided buffer.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.SignatureSizeInBytes"/>.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
The buffer in <paramref name="destination"/> is the incorrect length to receive the signature.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the hash.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignPreHash(System.Byte[],System.String,System.Byte[])">
|
|
<summary>
|
|
Signs the specified hash using the FIPS 204 pre-hash signing algorithm.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to sign.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
An optional context-specific value to limit the scope of the signature.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hash"/> or <paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
<para>An error occurred while verifying the data.</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the hash.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyPreHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Verifies that the specified FIPS 204 pre-hash signature is valid for this key and the provided hash.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is an empty buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the hash; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a <see cref="P:System.ReadOnlySpan`1.Length"/> in excess of
|
|
255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while verifying the hash.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyPreHash(System.Byte[],System.Byte[],System.String,System.Byte[])">
|
|
<summary>
|
|
Verifies that the specified FIPS 204 pre-hash signature is valid for this key and the provided hash.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to verify.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="context">
|
|
The context value which was provided during signing.
|
|
The default value is <see langword="null" />.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the hash; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hash"/> or <paramref name="signature"/> or <paramref name="hashAlgorithmOid"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="context"/> has a length in excess of 255 bytes.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="hashAlgorithmOid"/> is not a well-formed OID.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="hashAlgorithmOid"/> is a well-known algorithm and <paramref name="hash"/> does not have the expected length.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while verifying the hash.</para>
|
|
</exception>
|
|
<remarks>
|
|
A <see langword="null" /> context is treated as empty.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignMu(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.SignMu(System.ReadOnlySpan{System.Byte})"/>
|
|
<exception cref="T:System.ArgumentNullException"><paramref name="externalMu"/> is <see langword="null"/>.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignMu(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Signs the specified externally computed signature mu (μ) value.
|
|
</summary>
|
|
<param name="externalMu">
|
|
The signature mu value to sign.
|
|
</param>
|
|
<returns>
|
|
ML-DSA signature for the specified mu value.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
The buffer in <paramref name="externalMu"/> is the incorrect length for the signature mu value.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the hash.</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not support signing with an externally computed mu value.
|
|
</exception>
|
|
<seealso cref="M:System.Security.Cryptography.MLDsa.VerifyMu(System.Byte[],System.Byte[])"/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignMu(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
Signs the specified externally computed signature mu (μ) value,
|
|
writing the signature into the provided buffer.
|
|
</summary>
|
|
<param name="externalMu">
|
|
The signature mu value to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.SignatureSizeInBytes"/>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
The buffer in <paramref name="externalMu"/> is the incorrect length for the signature mu value.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The buffer in <paramref name="destination"/> is the incorrect length to receive the signature.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The instance represents only a public key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while signing the hash.</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not support signing with an externally computed mu value.
|
|
</exception>
|
|
<seealso cref="M:System.Security.Cryptography.MLDsa.VerifyMu(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})"/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignMuCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, computes the remainder of the signature from the
|
|
precomputed mu (μ) value, writing it into the provided buffer.
|
|
</summary>
|
|
<param name="externalMu">
|
|
The signature mu value to sign.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature, which will always be the exactly correct size for the algorithm.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while computing the signature.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyMu(System.Byte[],System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.VerifyMu(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="externalMu"/> or <paramref name="signature"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyMu(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Verifies that a digital signature is valid for the provided externally computed signature mu (μ) value.
|
|
</summary>
|
|
<param name="externalMu">The signature mu value.</param>
|
|
<param name="signature">The signature to verify.</param>
|
|
<returns>
|
|
<see langword="true"/> if the digital signature is valid for the provided mu value;
|
|
otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred while verifying the mu value.</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not support verification with an externally computed mu value.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyMuCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class,
|
|
verifies that a digital signature is valid for the provided externally computed signature mu (μ) value.
|
|
</summary>
|
|
<param name="externalMu">The signature mu value.</param>
|
|
<param name="signature">The signature to verify.</param>
|
|
<returns>
|
|
<see langword="true"/> if the mu value is valid; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportSubjectPublicKeyInfo">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the X.509 SubjectPublicKeyInfo representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the X.509 SubjectPublicKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportSubjectPublicKeyInfoPem">
|
|
<summary>
|
|
Exports the public-key portion of the current key in a PEM-encoded representation of
|
|
the X.509 SubjectPublicKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the X.509 SubjectPublicKeyInfo
|
|
representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportPkcs8PrivateKey">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A byte array containing the PKCS#8 PrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
When overridden in a derived class, attempts to export the current key in the PKCS#8 PrivateKeyInfo format
|
|
into the provided buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 PrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportPkcs8PrivateKeyPem">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 PrivateKeyInfo format.
|
|
</summary>
|
|
<returns>
|
|
A string containing the PEM-encoded representation of the PKCS#8 PrivateKeyInfo
|
|
representation of the public-key portion of this key.
|
|
</returns>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A byte array containing the PKCS#8 EncryptedPrivateKeyInfo representation of the this key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<summary>
|
|
Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer,
|
|
using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the PKCS#8 EncryptedPrivateKeyInfo value.
|
|
</param>
|
|
<param name="bytesWritten">
|
|
When this method returns, contains the number of bytes written to the <paramref name="destination"/> buffer.
|
|
This parameter is treated as uninitialized.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if <paramref name="destination"/> was large enough to hold the result;
|
|
otherwise, <see langword="false" />.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.TryExportEncryptedPkcs8PrivateKey(System.String,System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a char-based password.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters)">
|
|
<summary>
|
|
Exports the current key in a PEM-encoded representation of the PKCS#8 EncryptedPrivateKeyInfo
|
|
representation of this key, using a byte-based password.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when encrypting the key material.
|
|
</param>
|
|
<param name="pbeParameters">
|
|
The password-based encryption (PBE) parameters to use when encrypting the key material.
|
|
</param>
|
|
<returns>
|
|
A string containing the PEM-encoded PKCS#8 EncryptedPrivateKeyInfo.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para><paramref name="pbeParameters"/> specifies a KDF that requires a char-based password.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="pbeParameters"/> does not represent a valid password-based encryption algorithm.</para>
|
|
<para>-or-</para>
|
|
<para>This instance only represents a public key.</para>
|
|
<para>-or-</para>
|
|
<para>The private key is not exportable.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.String,System.Security.Cryptography.PbeParameters)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ExportEncryptedPkcs8PrivateKeyPem(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters)"/>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password"/> or <paramref name="pbeParameters"/> is <see langword="null"/>.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPublicKey">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the FIPS 204 public key format.
|
|
</summary>
|
|
<returns>
|
|
The FIPS 204 public key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPublicKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the public-key portion of the current key in the FIPS 204 public key format.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the public key. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.PublicKeySizeInBytes"/>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the public key.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
<remarks>
|
|
<paramref name="destination"/> is required to be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.PublicKeySizeInBytes"/> in length.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPrivateKey">
|
|
<summary>
|
|
Exports the current key in the FIPS 204 private key format.
|
|
</summary>
|
|
<returns>
|
|
The FIPS 204 private key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>The current instance cannot export a private key.</para>
|
|
<para>-or-</para>
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPrivateKey(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the current key in the FIPS 204 private key format.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private key. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.PrivateKeySizeInBytes"/>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the private key.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the key.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPrivateSeed">
|
|
<summary>
|
|
Exports the private seed in the FIPS 204 private seed format.
|
|
</summary>
|
|
<returns>
|
|
The FIPS 204 private seed.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>An error occurred while exporting the key.</para>
|
|
</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPrivateSeed(System.Span{System.Byte})">
|
|
<summary>
|
|
Exports the private seed of the current key.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private seed. Its length must be exactly
|
|
<see cref="P:System.Security.Cryptography.MLDsaAlgorithm.PrivateSeedSizeInBytes"/>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="destination"/> is the incorrect length to receive the private seed.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while exporting the private seed.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.GenerateKey(System.Security.Cryptography.MLDsaAlgorithm)">
|
|
<summary>
|
|
Generates a new ML-DSA key.
|
|
</summary>
|
|
<param name="algorithm">
|
|
An algorithm identifying what kind of ML-DSA key to generate.
|
|
</param>
|
|
<returns>
|
|
The generated key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm" /> is <see langword="null" />
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occured generating the ML-DSA key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA public key from an X.509 SubjectPublicKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The SubjectPublicKeyInfo value does not represent an ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportSubjectPublicKeyInfo(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA private key from a PKCS#8 PrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The PrivateKeyInfo value does not represent an ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportPkcs8PrivateKey(System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The EncryptedPrivateKeyInfo indicates the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF,
|
|
which requires <see cref="T:System.Char"/>-based passwords.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA private key from a PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</summary>
|
|
<param name="password">
|
|
The password to use when decrypting the key material.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The contents of <paramref name="source"/> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The specified password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The value does not represent an ML-DSA key.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source" /> contains trailing data after the ASN.1 structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The algorithm-specific import failed.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportEncryptedPkcs8PrivateKey(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="password" /> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportFromPem(System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports an ML-DSA key from an RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The text of the PEM key to import.
|
|
</param>
|
|
<returns>
|
|
The imported ML-DSA key.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para><paramref name="source" /> contains an encrypted PEM-encoded key.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains multiple PEM-encoded ML-DSA keys.</para>
|
|
<para>-or-</para>
|
|
<para><paramref name="source" /> contains no PEM-encoded ML-DSA keys.</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while importing the key.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is raised to prevent importing a key when the key is ambiguous.
|
|
</para>
|
|
<para>
|
|
This method supports the following PEM labels:
|
|
<list type="bullet">
|
|
<item><description>PUBLIC KEY</description></item>
|
|
<item><description>PRIVATE KEY</description></item>
|
|
</list>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportFromPem(System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportFromPem(System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Imports an ML-DSA key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="password">
|
|
The password to use for decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
When the base-64 decoded contents of <paramref name="source" /> indicate an algorithm that uses PBKDF1
|
|
(Password-Based Key Derivation Function 1) or PBKDF2 (Password-Based Key Derivation Function 2),
|
|
the password is converted to bytes via the UTF-8 encoding.
|
|
</para>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA key from an encrypted RFC 7468 PEM-encoded string.
|
|
</summary>
|
|
<param name="source">
|
|
The PEM text of the encrypted key to import.</param>
|
|
<param name="passwordBytes">
|
|
The bytes to use as a password when decrypting the key material.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
<para>
|
|
<paramref name="source"/> does not contain a PEM-encoded key with a recognized label.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> contains multiple PEM-encoded keys with a recognized label.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
The password is incorrect.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
indicate the key is for an algorithm other than the algorithm
|
|
represented by this instance.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
The base-64 decoded contents of the PEM text from <paramref name="source" />
|
|
represent the key in a format that is not supported.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The platform does not support ML-DSA. Callers can use the <see cref="P:System.Security.Cryptography.MLDsa.IsSupported" /> property
|
|
to determine if the platform supports ML-DSA.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Unsupported or malformed PEM-encoded objects will be ignored. If multiple supported PEM labels
|
|
are found, an exception is thrown to prevent importing a key when
|
|
the key is ambiguous.
|
|
</para>
|
|
<para>This method supports the <c>ENCRYPTED PRIVATE KEY</c> PEM label.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportFromEncryptedPem(System.String,System.String)">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="password" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportFromEncryptedPem(System.String,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="source" /> or <paramref name="passwordBytes" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportMLDsaPublicKey(System.Security.Cryptography.MLDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA public key in the FIPS 204 public key format.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific ML-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a FIPS 204 public key.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
<paramref name="algorithm"/> is not a valid ML-DSA algorithm identifier.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> is not the correct size for the specified algorithm.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportMLDsaPublicKey(System.Security.Cryptography.MLDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportMLDsaPublicKey(System.Security.Cryptography.MLDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportMLDsaPrivateKey(System.Security.Cryptography.MLDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA private key in the FIPS 204 private key format.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific ML-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes of a FIPS 204 private key.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
<paramref name="algorithm"/> is not a valid ML-DSA algorithm identifier.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> is not the correct size for the specified algorithm.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportMLDsaPrivateKey(System.Security.Cryptography.MLDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportMLDsaPrivateKey(System.Security.Cryptography.MLDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportMLDsaPrivateSeed(System.Security.Cryptography.MLDsaAlgorithm,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
Imports an ML-DSA private key from its private seed value.
|
|
</summary>
|
|
<param name="algorithm">
|
|
The specific ML-DSA algorithm for this key.
|
|
</param>
|
|
<param name="source">
|
|
The bytes the key seed.
|
|
</param>
|
|
<returns>
|
|
The imported key.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<para>
|
|
<paramref name="algorithm"/> is not a valid ML-DSA algorithm identifier.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
<paramref name="source"/> is not the correct size for the specified algorithm.
|
|
</para>
|
|
<para>-or-</para>
|
|
<para>
|
|
An error occurred while importing the key.
|
|
</para>
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ImportMLDsaPrivateSeed(System.Security.Cryptography.MLDsaAlgorithm,System.Byte[])">
|
|
<inheritdoc cref="M:System.Security.Cryptography.MLDsa.ImportMLDsaPrivateSeed(System.Security.Cryptography.MLDsaAlgorithm,System.ReadOnlySpan{System.Byte})" />
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="algorithm"/> or <paramref name="source" /> is <see langword="null" />.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.Dispose(System.Boolean)">
|
|
<summary>
|
|
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.MLDsa"/> class.
|
|
</summary>
|
|
<param name="disposing">
|
|
<see langword="true" /> to release managed and unmanaged resources;
|
|
<see langword="false" /> to release only unmanaged resources.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, computes the signature of the specified data and context,
|
|
writing it into the provided buffer.
|
|
</summary>
|
|
<param name="data">
|
|
The data to sign.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature, which will always be the exactly correct size for the algorithm.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while signing the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, verifies the signature of the specified data and context.
|
|
</summary>
|
|
<param name="data">
|
|
The data to verify.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the data; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while verifying the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.SignPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, computes the pre-hash signature of the specified hash and context,
|
|
writing it into the provided buffer.
|
|
</summary>
|
|
<param name="hash">
|
|
The hash to sign.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="destination">
|
|
The buffer to receive the signature, which will always be the exactly correct size for the algorithm.
|
|
</param>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while signing the hash.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.VerifyPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, verifies the pre-hash signature of the specified hash and context.
|
|
</summary>
|
|
<param name="hash">
|
|
The data to verify.
|
|
</param>
|
|
<param name="context">
|
|
The signature context.
|
|
</param>
|
|
<param name="hashAlgorithmOid">
|
|
The OID of the hash algorithm used to create the hash.
|
|
</param>
|
|
<param name="signature">
|
|
The signature to verify.
|
|
</param>
|
|
<returns>
|
|
<see langword="true"/> if the signature validates the hash; otherwise, <see langword="false"/>.
|
|
</returns>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
An error occurred while verifying the hash.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPublicKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the FIPS 204 public key to the specified buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the public key.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPrivateKeyCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the FIPS 204 private key to the specified buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private key.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsa.ExportMLDsaPrivateSeedCore(System.Span{System.Byte})">
|
|
<summary>
|
|
When overridden in a derived class, exports the private seed to the specified buffer.
|
|
</summary>
|
|
<param name="destination">
|
|
The buffer to receive the private seed.
|
|
</param>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.MLDsaAlgorithm">
|
|
<summary>
|
|
Represents a specific algorithm within the ML-DSA family.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.Name">
|
|
<summary>
|
|
Gets the underlying string representation of the algorithm name.
|
|
</summary>
|
|
<value>
|
|
The underlying string representation of the algorithm name.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.PrivateKeySizeInBytes">
|
|
<summary>
|
|
Gets the size, in bytes, of the ML-DSA private key for the current ML-DSA algorithm.
|
|
</summary>
|
|
<value>
|
|
The size, in bytes, of the ML-DSA private key for the current ML-DSA algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.PrivateSeedSizeInBytes">
|
|
<summary>
|
|
Gets the size, in bytes, of the ML-DSA private seed for the current ML-DSA algorithm.
|
|
</summary>
|
|
<value>
|
|
The size, in bytes, of the ML-DSA private seed for the current ML-DSA algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.PublicKeySizeInBytes">
|
|
<summary>
|
|
Gets the size of the ML-DSA public key for the current ML-DSA algorithm.
|
|
</summary>
|
|
<value>
|
|
The size, in bytes, of the ML-DSA public key for the current ML-DSA algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.SignatureSizeInBytes">
|
|
<summary>
|
|
Gets the size, in bytes, of the signature for the current ML-DSA algorithm.
|
|
</summary>
|
|
<value>
|
|
The size, in bytes, of the signature for the current ML-DSA algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.MuSizeInBytes">
|
|
<summary>
|
|
Gets the size, in bytes, of the mu (μ) value for the current ML-DSA algorithm.
|
|
</summary>
|
|
<value>
|
|
The size, in bytes, of the mu (μ) value for the current ML-DSA algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.MLDsa44">
|
|
<summary>
|
|
Gets an ML-DSA algorithm identifier for the ML-DSA-44 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-44 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.MLDsa65">
|
|
<summary>
|
|
Gets an ML-DSA algorithm identifier for the ML-DSA-65 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-65 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.MLDsaAlgorithm.MLDsa87">
|
|
<summary>
|
|
Gets an ML-DSA algorithm identifier for the ML-DSA-87 algorithm.
|
|
</summary>
|
|
<value>
|
|
An ML-DSA algorithm identifier for the ML-DSA-87 algorithm.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaAlgorithm.Equals(System.Security.Cryptography.MLDsaAlgorithm)">
|
|
<summary>
|
|
Compares two <see cref="T:System.Security.Cryptography.MLDsaAlgorithm" /> objects.
|
|
</summary>
|
|
<param name="other">
|
|
An object to be compared to the current <see cref="T:System.Security.Cryptography.MLDsaAlgorithm"/> object.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaAlgorithm.Equals(System.Object)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaAlgorithm.GetHashCode">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaAlgorithm.ToString">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaAlgorithm.op_Equality(System.Security.Cryptography.MLDsaAlgorithm,System.Security.Cryptography.MLDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.MLDsaAlgorithm" /> objects specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaAlgorithm.op_Inequality(System.Security.Cryptography.MLDsaAlgorithm,System.Security.Cryptography.MLDsaAlgorithm)">
|
|
<summary>
|
|
Determines whether two <see cref="T:System.Security.Cryptography.MLDsaAlgorithm" /> objects do not specify the same algorithm name.
|
|
</summary>
|
|
<param name="left">
|
|
An object that specifies an algorithm name.
|
|
</param>
|
|
<param name="right">
|
|
A second object, to be compared to the object that is identified by the <paramref name="left" /> parameter.
|
|
</param>
|
|
<returns>
|
|
<see langword="true" /> if the objects are not considered equal; otherwise, <see langword="false" />.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CngHelpers.GetProperty(Microsoft.Win32.SafeHandles.SafeNCryptHandle,System.String,System.Security.Cryptography.CngPropertyOptions)">
|
|
<summary>
|
|
Returns a CNG key property.
|
|
</summary>
|
|
<returns>
|
|
null - if property not defined on key.
|
|
throws - for any other type of error.
|
|
</returns>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CngHelpers.GetPropertyAsString(Microsoft.Win32.SafeHandles.SafeNCryptHandle,System.String,System.Security.Cryptography.CngPropertyOptions)">
|
|
<summary>
|
|
Retrieve a well-known CNG string property. (Note: .NET Framework compat: this helper likes to return special
|
|
values rather than throw exceptions for missing or ill-formatted property values. Only use it for well-known
|
|
properties that are unlikely to be ill-formatted.)
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.CompositeMLDsaCng">
|
|
<summary>
|
|
Provides a Cryptography Next Generation (CNG) implementation of Composite ML-DSA.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.CompositeMLDsa" /> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.#ctor(System.Security.Cryptography.CngKey)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.CompositeMLDsaCng"/> class by using the specified <see cref="T:System.Security.Cryptography.CngKey"/>.
|
|
</summary>
|
|
<param name="key">
|
|
The key that will be used as input to the cryptographic operations performed by the current object.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="key"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="key"/> does not specify a Composite ML-DSA group.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Cryptography Next Generation (CNG) classes are not supported on this system.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.GetKey">
|
|
<summary>
|
|
Gets a new <see cref="T:System.Security.Cryptography.CngKey" /> representing the key used by the current instance.
|
|
</summary>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<remarks>
|
|
This <see cref="T:System.Security.Cryptography.CngKey"/> object is not the same as the one passed to <see cref="M:System.Security.Cryptography.CompositeMLDsaCng.#ctor(System.Security.Cryptography.CngKey)"/>,
|
|
if that constructor was used. However, it will point to the same CNG key.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.SignDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.ExportCompositeMLDsaPrivateKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.ExportCompositeMLDsaPublicKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.CompositeMLDsaCng.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="F:System.Security.Cryptography.KeyPropertyName.ClrIsEphemeral">
|
|
<summary>
|
|
Is the key a CLR created ephemeral key, it will contain a single byte with value 1 if the
|
|
key was created by the CLR as an ephemeral key.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.MLDsaCng">
|
|
<summary>
|
|
Provides a Cryptography Next Generation (CNG) implementation of the Module-Lattice-Based Digital Signature Algorithm (ML-DSA).
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This algorithm is specified by FIPS-204.
|
|
</para>
|
|
<para>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.MLDsa" /> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.#ctor(System.Security.Cryptography.CngKey)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.MLDsaCng"/> class by using the specified <see cref="T:System.Security.Cryptography.CngKey"/>.
|
|
</summary>
|
|
<param name="key">
|
|
The key that will be used as input to the cryptographic operations performed by the current object.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="key"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="key"/> does not specify a Module-Lattice-Based Digital Signature Algorithm (ML-DSA) group.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Cryptography Next Generation (CNG) classes are not supported on this system.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.SignMuCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.VerifyMuCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.GetKey">
|
|
<summary>
|
|
Gets a new <see cref="T:System.Security.Cryptography.CngKey" /> representing the key used by the current instance.
|
|
</summary>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<remarks>
|
|
This <see cref="T:System.Security.Cryptography.CngKey"/> object is not the same as the one passed to <see cref="M:System.Security.Cryptography.MLDsaCng.#ctor(System.Security.Cryptography.CngKey)"/>,
|
|
if that constructor was used. However, it will point to the same CNG key.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.#ctor(System.Security.Cryptography.CngKey,System.Boolean)">
|
|
<summary>
|
|
Creates a new MLDsaCng object that will use the specified key. Unlike the public
|
|
constructor, this does not copy the key and ownership is transferred. The
|
|
<paramref name="transferOwnership"/> parameter must be true.
|
|
</summary>
|
|
<param name="key">Key to use for MLDsa operations</param>
|
|
<param name="transferOwnership">
|
|
Must be true. Signals that ownership of <paramref name="key"/> will be transferred to the new instance.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.ExportMLDsaPublicKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.ExportMLDsaPrivateSeedCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.ExportMLDsaPrivateKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.SignDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.SignPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.VerifyPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLDsaCng.Dispose(System.Boolean)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.MLKemCng">
|
|
<summary>
|
|
Provides a Cryptography Next Generation (CNG) implementation of the Module-Lattice-Based Key-Encapsulation
|
|
Mechanism (ML-KEM).
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This algorithm is specified by FIPS-203.
|
|
</para>
|
|
<para>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.MLKem" /> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.#ctor(System.Security.Cryptography.CngKey)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.MLKemCng"/> class by using the specified <see cref="T:System.Security.Cryptography.CngKey"/>.
|
|
</summary>
|
|
<param name="key">
|
|
The key that will be used as input to the cryptographic operations performed by the current object.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="key"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="key"/> does not specify a Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)
|
|
algorithm group.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Cryptography Next Generation (CNG) classes are not supported on this system.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.GetKey">
|
|
<summary>
|
|
Gets a new <see cref="T:System.Security.Cryptography.CngKey" /> representing the key used by the current instance.
|
|
</summary>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<remarks>
|
|
This <see cref="T:System.Security.Cryptography.CngKey"/> object is not the same as the one passed to <see cref="M:System.Security.Cryptography.MLKemCng.#ctor(System.Security.Cryptography.CngKey)"/>,
|
|
if that constructor was used. However, it will point to the same CNG key.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.DecapsulateCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.EncapsulateCore(System.Span{System.Byte},System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.ExportPrivateSeedCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.ExportDecapsulationKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.ExportEncapsulationKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.MLKemCng.Dispose(System.Boolean)">
|
|
<inheritdoc/>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.SlhDsaCng">
|
|
<summary>
|
|
Provides a Cryptography Next Generation (CNG) implementation of the Stateless Hash-Based Digital Signature
|
|
Algorithm (SLH-DSA).
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This algorithm is specified by FIPS-205.
|
|
</para>
|
|
<para>
|
|
Developers are encouraged to program against the <see cref="T:System.Security.Cryptography.SlhDsa" /> base class,
|
|
rather than any specific derived class.
|
|
The derived classes are intended for interop with the underlying system
|
|
cryptographic libraries.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.#ctor(System.Security.Cryptography.CngKey)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.SlhDsaCng"/> class by using the specified <see cref="T:System.Security.Cryptography.CngKey"/>.
|
|
</summary>
|
|
<param name="key">
|
|
The key that will be used as input to the cryptographic operations performed by the current object.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="key"/> is <see langword="null"/>.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="key"/> does not specify a Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) group.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
Cryptography Next Generation (CNG) classes are not supported on this system.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.GetKey">
|
|
<summary>
|
|
Gets a new <see cref="T:System.Security.Cryptography.CngKey" /> representing the key used by the current instance.
|
|
</summary>
|
|
<exception cref="T:System.ObjectDisposedException">
|
|
This instance has been disposed.
|
|
</exception>
|
|
<remarks>
|
|
This <see cref="T:System.Security.Cryptography.CngKey"/> object is not the same as the one passed to <see cref="M:System.Security.Cryptography.SlhDsaCng.#ctor(System.Security.Cryptography.CngKey)"/>,
|
|
if that constructor was used. However, it will point to the same CNG key.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.SignDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.SignPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.Span{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.VerifyPreHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.String,System.ReadOnlySpan{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.ExportSlhDsaPublicKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.ExportSlhDsaPrivateKeyCore(System.Span{System.Byte})">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SlhDsaCng.TryExportPkcs8PrivateKeyCore(System.Span{System.Byte},System.Int32@)">
|
|
<inheritdoc />
|
|
</member>
|
|
<member name="P:System.HexConverter.CharToHexLookup">
|
|
<summary>Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Arg_CryptographyException">
|
|
<summary>Error occurred during a cryptographic operation.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_DestinationImprecise">
|
|
<summary>Destination must be exactly {0} bytes.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_DestinationTooShort">
|
|
<summary>Destination is too short.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_HashImprecise">
|
|
<summary>Hash must be exactly {0} bytes.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_InvalidOffLen">
|
|
<summary>Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_InvalidValue">
|
|
<summary>Value was invalid.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_KemInvalidCiphertextLength">
|
|
<summary>The specified ciphertext is not the correct length for the ML-KEM algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_KemInvalidDecapsulationKeyLength">
|
|
<summary>The specified decapsulation key is not the correct length for the ML-KEM algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_KemInvalidEncapsulationKeyLength">
|
|
<summary>The specified encapsulation key is not the correct length for the ML-KEM algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_KemInvalidSeedLength">
|
|
<summary>The specified private seed is not the correct length for the ML-KEM algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_MLDsaMuInvalidLength">
|
|
<summary>The specified mu value is not the correct length for the ML-DSA algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PemEncoding_InvalidLabel">
|
|
<summary>The specified label is not valid.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PemEncoding_EncodedSizeTooLarge">
|
|
<summary>The encoded PEM size is too large to represent as a signed 32-bit integer.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PemEncoding_NoPemFound">
|
|
<summary>No PEM encoded data found.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PemImport_NoPemFound">
|
|
<summary>No supported key formats were found. Check that the input represents the contents of a PEM-encoded key file, not the path to such a file.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PemImport_AmbiguousPem">
|
|
<summary>The input contains multiple keys, but only one key can be imported.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PemImport_EncryptedPem">
|
|
<summary>An encrypted key was found, but no password was provided. Use ImportFromEncryptedPem to import this key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PrivateKeyWrongSizeForAlgorithm">
|
|
<summary>The private key is not the correct size for the indicated algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PrivateSeedWrongSizeForAlgorithm">
|
|
<summary>The private seed is not the correct size for the indicated algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_PublicKeyWrongSizeForAlgorithm">
|
|
<summary>The public key is not the correct size for the indicated algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_SignatureContextTooLong255">
|
|
<summary>The specified signature context exceeds the maximum length of 255 bytes.</summary>
|
|
</member>
|
|
<member name="P:System.SR.ArgumentOutOfRange_Generic_MustBeNonNegativeNonZero">
|
|
<summary>{0} ('{1}') must be a non-negative and non-zero value.</summary>
|
|
</member>
|
|
<member name="P:System.SR.ArgumentOutOfRange_NeedPositiveNumber">
|
|
<summary>A positive number is required.</summary>
|
|
</member>
|
|
<member name="P:System.SR.ArgumentOutOfRange_NeedNonNegNum">
|
|
<summary>Non-negative number required.</summary>
|
|
</member>
|
|
<member name="P:System.SR.ArgumentOutOfRange_KOut_Too_Large">
|
|
<summary>The number of bytes requested is too large. The number of bytes produced by SP800108HmacCounterKdf cannot exceed 536,870,911 bytes.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Argument_EmptyString">
|
|
<summary>The value cannot be an empty string.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_AlgKdfRequiresChars">
|
|
<summary>The KDF for algorithm '{0}' requires a char-based password input.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_AlgorithmNotSupported">
|
|
<summary>Algorithm '{0}' is not supported on this platform.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_ArgMLDsaRequiresMLDsaKey">
|
|
<summary>Keys used with the MLDsaCng algorithm must have an algorithm group of MLDsa.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_ArgMLKemRequiresMLKemKey">
|
|
<summary>Keys used with the MLKemCng algorithm must have an algorithm group of MLKem.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_AuthTagMismatch">
|
|
<summary>The computed authentication tag did not match the input authentication tag.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_Cert_AlreadyHasPrivateKey">
|
|
<summary>The certificate already has an associated private key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_CompositeSignDataError">
|
|
<summary>Composite signature generation failed due to an error in one or both of the components.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_CurveNotSupported">
|
|
<summary>The specified curve '{0}' or its parameters are not valid for this platform.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_Der_Invalid_Encoding">
|
|
<summary>ASN1 corrupted data.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_HashAlgorithmNameNullOrEmpty">
|
|
<summary>The hash algorithm name cannot be null or empty.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_HashLengthMismatch">
|
|
<summary>The specified hash is not a valid size for this hash algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_HashMLDsaAlgorithmMismatch">
|
|
<summary>HashML-DSA '{0}' cannot be used with hash algorithm '{1}'.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_IncorrectTagLength">
|
|
<summary>The size of the specified tag does not match the expected size of {0}.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_InvalidECPrivateKeyParameters">
|
|
<summary>The specified key parameters are not valid. X and Y, or D, must be specified. X, Y must be the same length. If D is specified it must be the same length as X and Y if also specified.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_InvalidKeySize">
|
|
<summary>Specified key is not a valid size for this algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_InvalidTagLength">
|
|
<summary>The specified tag is not a valid size for this algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_InvalidNonceLength">
|
|
<summary>The specified nonce is not a valid size for this algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_InvalidOidFormat">
|
|
<summary>Invalid OID format.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_InvalidRsaParameters">
|
|
<summary>The specified RSA parameters are not valid. Exponent and Modulus are required. If D is present, it must have the same length as Modulus. If D is present, P, Q, DP, DQ, and InverseQ are required and must have half the length of Modulus, rounded up, otherwis ...</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_KemPkcs8KeyMismatch">
|
|
<summary>The specified PKCS#8 key contains a seed that does not match the expanded key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_KemNoDecapsulationKey">
|
|
<summary>The current instance does not contain a decapsulation key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_KeyNotExtractable">
|
|
<summary>The key does not permit being exported.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_KeyWrongSizeForAlgorithm">
|
|
<summary>The specified key is not the correct size for the indicated algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_MLDsaPkcs8KeyMismatch">
|
|
<summary>The specified PKCS#8 key contains a seed that does not match the expanded key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_NoPrivateKeyAvailable">
|
|
<summary>The current instance does not contain a private key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_NotValidPrivateKey">
|
|
<summary>Key is not a valid private key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_NotValidPublicOrPrivateKey">
|
|
<summary>Key is not a valid public or private key.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_OverlappingBuffers">
|
|
<summary>One or more provided buffers overlap.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_Pfx_BadPassword">
|
|
<summary>The certificate data cannot be read with the provided password, the password may be incorrect.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_Pfx_NoCertificates">
|
|
<summary>The provided PFX data contains no certificates.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_Pkcs8_EncryptedReadFailed">
|
|
<summary>The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_PlaintextCiphertextLengthMismatch">
|
|
<summary>Plaintext and ciphertext must have the same length.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_PqcNoSeed">
|
|
<summary>The current instance does not contain a seed.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_PrivateKey_DoesNotMatch">
|
|
<summary>The provided key does not match the public key for this certificate.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_PrivateKey_WrongAlgorithm">
|
|
<summary>The provided key does not match the public key algorithm for this certificate.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_RSAPrivateKey_VersionTooNew">
|
|
<summary>The provided RSAPrivateKey value has version '{0}', but version '{1}' is the maximum supported.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_UnknownAlgorithmIdentifier">
|
|
<summary>The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_UnknownHashAlgorithm">
|
|
<summary>'{0}' is not a known hash algorithm.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_X509_PKCS12_LimitExceeded">
|
|
<summary>The PKCS#12/PFX violated the '{0}' limit.</summary>
|
|
</member>
|
|
<member name="P:System.SR.Cryptography_X509_PKCS12_LimitsReadOnly">
|
|
<summary>This Pkcs12LoaderLimits object has been made read-only and can no longer be modified.</summary>
|
|
</member>
|
|
<member name="M:Interop.Kernel32.GetMessage(System.Int32)">
|
|
<summary>
|
|
Returns a string message for the specified Win32 error code.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt">
|
|
<summary>
|
|
BCrypt types related to asymmetric encryption algorithms
|
|
</summary>
|
|
</member>
|
|
<member name="M:Interop.BCrypt.Emit(System.Byte[],System.Int32@,System.Byte[])">
|
|
<summary>
|
|
Append "value" to the data already in blob.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Interop.BCrypt.EmitByte(System.Byte[],System.Int32@,System.Byte,System.Int32)">
|
|
<summary>
|
|
Append "value" to the data already in blob.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Interop.BCrypt.EmitBigEndian(System.Byte[],System.Int32@,System.Int32)">
|
|
<summary>
|
|
Append "value" in big Endian format to the data already in blob.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Interop.BCrypt.Consume(System.Byte[],System.Int32@,System.Int32)">
|
|
<summary>
|
|
Peel off the next "count" bytes in blob and return them in a byte array.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Interop.BCrypt.Consume(System.ReadOnlySpan{System.Byte},System.Int32@,System.Int32)">
|
|
<summary>
|
|
Peel off the next "count" bytes in blob and return them in a byte array.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Interop.BCrypt.Consume(System.ReadOnlySpan{System.Byte},System.Int32@,System.Int32,System.Span{System.Byte})">
|
|
<summary>
|
|
Peel off the next "count" bytes in blob and copy them into the destination.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.KeyBlobMagicNumber">
|
|
<summary>
|
|
Magic numbers identifying blob types
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.KeyBlobType">
|
|
<summary>
|
|
Well known key blob types
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_RSAKEY_BLOB">
|
|
<summary>
|
|
The BCRYPT_RSAKEY_BLOB structure is used as a header for an RSA public key or private key BLOB in memory.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_DSA_KEY_BLOB">
|
|
<summary>
|
|
The BCRYPT_DSA_KEY_BLOB structure is used as a v1 header for a DSA public key or private key BLOB in memory.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_DSA_KEY_BLOB_V2">
|
|
<summary>
|
|
The BCRYPT_DSA_KEY_BLOB structure is used as a v2 header for a DSA public key or private key BLOB in memory.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_ECCKEY_BLOB">
|
|
<summary>
|
|
The BCRYPT_ECCKEY_BLOB structure is used as a header for an ECC public key or private key BLOB in memory.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.ECC_CURVE_TYPE_ENUM">
|
|
<summary>
|
|
Represents the type of curve.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.ECC_CURVE_ALG_ID_ENUM">
|
|
<summary>
|
|
Represents the algorithm that was used with Seed to generate A and B.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_ECCFULLKEY_BLOB">
|
|
<summary>
|
|
Used as a header to curve parameters including the public and potentially private key.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_PQDSA_KEY_BLOB">
|
|
<summary>
|
|
Used as a header to PQC parameters including the parameters set and key/seed.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.CngBufferDescriptors">
|
|
<summary>
|
|
NCrypt or BCrypt buffer descriptors
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCryptBuffer">
|
|
<summary>
|
|
BCrypt buffer
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPTBUFFER_VERSION">
|
|
<summary>
|
|
The version of BCryptBuffer
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCryptBufferDesc">
|
|
<summary>
|
|
Contains a set of generic CNG buffers.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_ECC_PARAMETER_HEADER_V1">
|
|
<summary>
|
|
The version of BCRYPT_ECC_PARAMETER_HEADER
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.BCrypt.BCRYPT_ECC_PARAMETER_HEADER">
|
|
<summary>
|
|
Used as a header to curve parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_OAEP_PADDING_INFO.pszAlgId">
|
|
<summary>
|
|
Null-terminated Unicode string that identifies the hashing algorithm used to create the padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_OAEP_PADDING_INFO.pbLabel">
|
|
<summary>
|
|
Address of a buffer that contains the data used to create the padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_OAEP_PADDING_INFO.cbLabel">
|
|
<summary>
|
|
Number of bytes in the pbLabel buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_PKCS1_PADDING_INFO.pszAlgId">
|
|
<summary>
|
|
Null-terminated Unicode string that identifies the hashing algorithm used to create the padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_PSS_PADDING_INFO.pszAlgId">
|
|
<summary>
|
|
Null-terminated Unicode string that identifies the hashing algorithm used to create the padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_PSS_PADDING_INFO.cbSalt">
|
|
<summary>
|
|
The size, in bytes, of the random salt to use for the padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_PQDSA_PADDING_INFO.pbCtx">
|
|
<summary>
|
|
Address of the context buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_PQDSA_PADDING_INFO.cbCtx">
|
|
<summary>
|
|
The size, in bytes, of the context buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Interop.BCrypt.BCRYPT_PQDSA_PADDING_INFO.pszPreHashAlgId">
|
|
<summary>
|
|
Null-terminated Unicode string that identifies the pre-hash algorithm used to create the hash.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.NCrypt.ErrorCode">
|
|
<summary>
|
|
Result codes from NCrypt APIs
|
|
</summary>
|
|
</member>
|
|
<member name="T:Interop.NCrypt.BufferType">
|
|
<summary>
|
|
Types of NCryptBuffers
|
|
</summary>
|
|
</member>
|
|
<member name="M:Internal.Cryptography.Helpers.ValidateHashLength(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Char})">
|
|
<summary>
|
|
Validates if the hash length matches the expected output size for the given hash algorithm OID.
|
|
When the OID is not one of the common hash algorithms, it only validates the format of the OID.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Internal.NativeCrypto.BCryptNative.AlgorithmName">
|
|
<summary>
|
|
Well known algorithm names
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Win32.SafeHandles.SafeCertContextHandle">
|
|
<summary>
|
|
SafeHandle for the CERT_CONTEXT structure defined by crypt32.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Win32.SafeHandles.SafeCertStoreHandle">
|
|
<summary>
|
|
SafeHandle for the HCERTSTORE handle defined by crypt32.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Win32.SafeHandles.SafeCrypt32Handle`1">
|
|
<summary>
|
|
Base class for safe handles representing NULL-based pointers.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Win32.SafeHandles.SafeCryptMsgHandle">
|
|
<summary>
|
|
SafeHandle for the HCRYPTMSG handle defined by crypt32.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Win32.SafeHandles.SafeHandleCache`1">
|
|
<summary>Provides a cache for special instances of SafeHandles.</summary>
|
|
<typeparam name="T">Specifies the type of SafeHandle.</typeparam>
|
|
</member>
|
|
<member name="M:Microsoft.Win32.SafeHandles.SafeHandleCache`1.GetInvalidHandle(System.Func{`0})">
|
|
<summary>
|
|
Gets a cached, invalid handle. As the instance is cached, it should either never be Disposed
|
|
or it should override <see cref="M:System.Runtime.InteropServices.SafeHandle.Dispose(System.Boolean)"/> to prevent disposal when the
|
|
instance represents an invalid handle: <see cref="P:System.Runtime.InteropServices.SafeHandle.IsInvalid"/> returns <see language="true"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Win32.SafeHandles.SafeHandleCache`1.IsCachedInvalidHandle(System.Runtime.InteropServices.SafeHandle)">
|
|
<summary>Gets whether the specified handle is invalid handle.</summary>
|
|
<param name="handle">The handle to compare.</param>
|
|
<returns>true if <paramref name="handle"/> is invalid handle; otherwise, false.</returns>
|
|
</member>
|
|
<member name="T:Microsoft.Win32.SafeHandles.SafeUnicodeStringHandle">
|
|
<summary>
|
|
Holds a managed string marshaled as a LPCWSTR.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Win32.SafeHandles.SafeUnicodeStringHandle.#ctor(System.String)">
|
|
<summary>
|
|
Marshal a String to a native LPCWSTR. It is permitted to pass "null" for the string.
|
|
</summary>
|
|
</member>
|
|
</members>
|
|
</doc>
|