8001 lines
428 KiB
XML
8001 lines
428 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="T:System.Security.Cryptography.SP800108HmacCounterKdf">
|
|
<summary>
|
|
NIST SP 800-108 HMAC CTR Key-Based Key Derivation (KBKDF)
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This implements NIST SP 800-108 HMAC in counter mode. The implemented KDF assumes the form of
|
|
<c>PRF (KI, [i]2 || Label || 0x00 || Context || [L]2)</c> where <c>[i]2</c> and <c>[L]2</c> are encoded as
|
|
unsigned 32-bit integers, big endian.
|
|
</para>
|
|
<para>
|
|
All members of this class are thread safe. If the instance is disposed of while other threads are using
|
|
the instance, those threads will either receive an <see cref="T:System.ObjectDisposedException" /> or produce a valid
|
|
derived key.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.#ctor(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName)">
|
|
<summary>
|
|
Initializes a new instance of <see cref="T:System.Security.Cryptography.SP800108HmacCounterKdf" /> using a specified key and HMAC algorithm.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.#ctor(System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
|
|
<summary>
|
|
Initializes a new instance of <see cref="T:System.Security.Cryptography.SP800108HmacCounterKdf" /> using a specified key and HMAC algorithm.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para>
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="key" /> is <see langword="null" />.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveBytes(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[],System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para>
|
|
<paramref name="key" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="label" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="context" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveBytes(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.String,System.String,System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para>
|
|
<paramref name="key" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="label" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="context" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.Text.EncoderFallbackException">
|
|
<paramref name="label" /> or <paramref name="context" /> contains text that cannot be converted to UTF-8.
|
|
</exception>
|
|
<remarks>
|
|
<paramref name="label" /> and <paramref name="context" /> will be converted to bytes using the UTF-8 encoding.
|
|
for other encodings, perform the conversion using the desired encoding and use an overload which accepts the
|
|
label and context as a sequence of bytes.
|
|
</remarks>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveBytes(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveBytes(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
Fills a buffer with a derived key.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="destination">The buffer which will receive the derived key.</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="destination" /> is larger than the maximum number of bytes that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveBytes(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.Text.EncoderFallbackException">
|
|
<paramref name="label" /> or <paramref name="context" /> contains text that cannot be converted to UTF-8.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
<remarks>
|
|
<paramref name="label" /> and <paramref name="context" /> will be converted to bytes using the UTF-8 encoding.
|
|
for other encodings, perform the conversion using the desired encoding and use an overload which accepts the
|
|
label and context as a sequence of bytes.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveBytes(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.Span{System.Byte})">
|
|
<summary>
|
|
Fills a buffer with a derived key.
|
|
</summary>
|
|
<param name="key">The key-derivation key.</param>
|
|
<param name="hashAlgorithm">The HMAC algorithm.</param>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="destination">The buffer which will receive the derived key.</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's <see langword="null" />.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentException">
|
|
<paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that's empty.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="destination" /> is larger than the maximum number of bytes that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Security.Cryptography.CryptographicException">
|
|
<paramref name="hashAlgorithm"/> is not a known or supported hash algorithm.
|
|
</exception>
|
|
<exception cref="T:System.Text.EncoderFallbackException">
|
|
<paramref name="label" /> or <paramref name="context" /> contains text that cannot be converted to UTF-8.
|
|
</exception>
|
|
<exception cref="T:System.PlatformNotSupportedException">
|
|
The current platform does not have a supported implementation of HMAC.
|
|
</exception>
|
|
<remarks>
|
|
<paramref name="label" /> and <paramref name="context" /> will be converted to bytes using the UTF-8 encoding.
|
|
for other encodings, perform the conversion using the desired encoding and use an overload which accepts the
|
|
label and context as a sequence of bytes.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveKey(System.Byte[],System.Byte[],System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para>
|
|
<paramref name="label" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="context" /> is <see langword="null" />.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
|
|
<summary>
|
|
Fills a buffer with a derived key.
|
|
</summary>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="destination">The buffer which will receive the derived key.</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para>
|
|
<paramref name="label" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="context" /> is <see langword="null" />.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="destination" /> is larger than the maximum number of bytes that can be derived.
|
|
</exception>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Text.EncoderFallbackException">
|
|
<paramref name="label" /> or <paramref name="context" /> contains text that cannot be converted to UTF-8.
|
|
</exception>
|
|
<remarks>
|
|
<paramref name="label" /> and <paramref name="context" /> will be converted to bytes using the UTF-8 encoding.
|
|
for other encodings, perform the conversion using the desired encoding and use an overload which accepts the
|
|
label and context as a sequence of bytes.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char},System.Span{System.Byte})">
|
|
<summary>
|
|
Fills a buffer with a derived key.
|
|
</summary>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="destination">The buffer which will receive the derived key.</param>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="destination" /> is larger than the maximum number of bytes that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Text.EncoderFallbackException">
|
|
<paramref name="label" /> or <paramref name="context" /> contains text that cannot be converted to UTF-8.
|
|
</exception>
|
|
<remarks>
|
|
<paramref name="label" /> and <paramref name="context" /> will be converted to bytes using the UTF-8 encoding.
|
|
for other encodings, perform the conversion using the desired encoding and use an overload which accepts the
|
|
label and context as a sequence of bytes.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.DeriveKey(System.String,System.String,System.Int32)">
|
|
<summary>
|
|
Derives a key of a specified length.
|
|
</summary>
|
|
<param name="label">The label that identifies the purpose for the derived key.</param>
|
|
<param name="context">The context containing information related to the derived key.</param>
|
|
<param name="derivedKeyLengthInBytes">The length of the derived key, in bytes.</param>
|
|
<returns>An array containing the derived key.</returns>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
<para>
|
|
<paramref name="label" /> is <see langword="null" />.
|
|
</para>
|
|
<para> -or- </para>
|
|
<para>
|
|
<paramref name="context" /> is <see langword="null" />.
|
|
</para>
|
|
</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="derivedKeyLengthInBytes" /> is negative or larger than the maximum number of bytes
|
|
that can be derived.
|
|
</exception>
|
|
<exception cref="T:System.Text.EncoderFallbackException">
|
|
<paramref name="label" /> or <paramref name="context" /> contains text that cannot be converted to UTF-8.
|
|
</exception>
|
|
<remarks>
|
|
<paramref name="label" /> and <paramref name="context" /> will be converted to bytes using the UTF-8 encoding.
|
|
for other encodings, perform the conversion using the desired encoding and use an overload which accepts the
|
|
label and context as a sequence of bytes.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.SP800108HmacCounterKdf.Dispose">
|
|
<summary>
|
|
Releases all resources used by the current instance of <see cref="T:System.Security.Cryptography.SP800108HmacCounterKdf"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.PbeEncryptionAlgorithm">
|
|
<summary>
|
|
Specifies encryption algorithms to be used with Password-Based Encryption (PBE).
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Unknown">
|
|
<summary>
|
|
Indicates that no encryption algorithm has been selected.
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Aes128Cbc">
|
|
<summary>
|
|
Indicates the encryption should be performed with the AES-128 algorithm in CBC mode with PKCS#7 padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Aes192Cbc">
|
|
<summary>
|
|
Indicates the encryption should be performed with the AES-192 algorithm in CBC mode with PKCS#7 padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.Aes256Cbc">
|
|
<summary>
|
|
Indicates the encryption should be performed with the AES-256 algorithm in CBC mode with PKCS#7 padding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12">
|
|
<summary>
|
|
Indicates the encryption should be performed with the TripleDES algorithm in CBC mode with a 192-bit key
|
|
derived using the Key Derivation Function (KDF) from PKCS#12.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Security.Cryptography.PbeParameters">
|
|
<summary>
|
|
Represents parameters to be used for Password-Based Encryption (PBE).
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.PbeParameters.EncryptionAlgorithm">
|
|
<summary>
|
|
Gets the algorithm to use when encrypting data.
|
|
</summary>
|
|
<value>
|
|
The algorithm to use when encrypting data.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.PbeParameters.HashAlgorithm">
|
|
<summary>
|
|
Gets the name of the hash algorithm to use with the Key Derivation Function (KDF) to turn a password
|
|
into an encryption key.
|
|
</summary>
|
|
<value>
|
|
The name of the hash algorithm to use with the Key Derivation Function (KDF) to turn a password
|
|
into an encryption key.
|
|
</value>
|
|
</member>
|
|
<member name="P:System.Security.Cryptography.PbeParameters.IterationCount">
|
|
<summary>
|
|
Gets the iteration count to provide to the Key Derivation Function (KDF) to turn a password
|
|
into an encryption key.
|
|
</summary>
|
|
<value>
|
|
The iteration count to provide to the Key Derivation Function (KDF) to turn a password
|
|
into an encryption key.
|
|
</value>
|
|
</member>
|
|
<member name="M:System.Security.Cryptography.PbeParameters.#ctor(System.Security.Cryptography.PbeEncryptionAlgorithm,System.Security.Cryptography.HashAlgorithmName,System.Int32)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Security.Cryptography.PbeParameters" /> class.
|
|
</summary>
|
|
<param name="encryptionAlgorithm">The algorithm to use when encrypting data.</param>
|
|
<param name="hashAlgorithm">
|
|
The name of a hash algorithm to use with the Key Derivation Function (KDF) to turn a password
|
|
into an encryption key.
|
|
</param>
|
|
<param name="iterationCount">
|
|
The iteration count to provide to the Key Derivation Function (KDF) to turn a password
|
|
into an encryption key.
|
|
</param>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">
|
|
<paramref name="iterationCount" /> is less than 1.
|
|
</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="T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute">
|
|
<summary>
|
|
Indicates that an API is experimental and it may change in the future.
|
|
</summary>
|
|
<remarks>
|
|
This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
|
|
feature is used. Authors can use this attribute to ship preview features in their assemblies.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute"/> class, specifying the ID that the compiler will use
|
|
when reporting a use of the API the attribute applies to.
|
|
</summary>
|
|
<param name="diagnosticId">The ID that the compiler will use when reporting a use of the API the attribute applies to.</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.DiagnosticId">
|
|
<summary>
|
|
Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
|
|
</summary>
|
|
<value>The unique diagnostic ID.</value>
|
|
<remarks>
|
|
The diagnostic ID is shown in build output for warnings and errors.
|
|
<para>This property represents the unique ID that can be used to suppress the warnings or errors, if needed.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.Message">
|
|
<summary>
|
|
Gets or sets an optional message associated with the experimental attribute.
|
|
</summary>
|
|
<value>The message that provides additional information about the experimental feature.</value>
|
|
<remarks>
|
|
This message can be used to provide more context or guidance about the experimental feature.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.UrlFormat">
|
|
<summary>
|
|
Gets or sets the URL for corresponding documentation.
|
|
The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
|
|
</summary>
|
|
<value>The format string that represents a URL to corresponding documentation.</value>
|
|
<remarks>An example format string is <c>https://contoso.com/obsoletion-warnings/{0}</c>.</remarks>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
|
|
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
|
|
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
|
|
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
|
|
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
|
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
|
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
|
<param name="returnValue">
|
|
The return value condition. If the method returns this value, the associated parameter may be null.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
|
|
<summary>Gets the return value condition.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
|
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
|
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
|
<param name="returnValue">
|
|
The return value condition. If the method returns this value, the associated parameter will not be null.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
|
|
<summary>Gets the return value condition.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
|
|
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
|
|
<summary>Initializes the attribute with the associated parameter name.</summary>
|
|
<param name="parameterName">
|
|
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
|
|
<summary>Gets the associated parameter name.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
|
|
<summary>Applied to a method that will never return under any circumstance.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
|
|
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
|
|
<summary>Initializes the attribute with the specified parameter value.</summary>
|
|
<param name="parameterValue">
|
|
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
|
|
the associated parameter matches this value.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
|
|
<summary>Gets the condition parameter value.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
|
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
|
|
<summary>Initializes the attribute with a field or property member.</summary>
|
|
<param name="member">
|
|
The field or property member that is promised to be not-null.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
|
|
<summary>Initializes the attribute with the list of field and property members.</summary>
|
|
<param name="members">
|
|
The list of field and property members that are promised to be not-null.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
|
|
<summary>Gets field or property member names.</summary>
|
|
</member>
|
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
|
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
|
|
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
|
|
<param name="returnValue">
|
|
The return value condition. If the method returns this value, the associated field or property member will not be null.
|
|
</param>
|
|
<param name="member">
|
|
The field or property member that is promised to be not-null.
|
|
</param>
|
|
</member>
|
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
|
|
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
|
|
<param name="returnValue">
|
|
The return value condition. If the method returns this value, the associated field and property members will not be null.
|
|
</param>
|
|
<param name="members">
|
|
The list of field and property members that are promised to be not-null.
|
|
</param>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
|
|
<summary>Gets the return value condition.</summary>
|
|
</member>
|
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
|
|
<summary>Gets field or property member names.</summary>
|
|
</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="T:System.Runtime.InteropServices.LibraryImportAttribute">
|
|
<summary>
|
|
Attribute used to indicate a source generator should create a function for marshalling
|
|
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
|
|
</summary>
|
|
<remarks>
|
|
This attribute is meaningless if the source generator associated with it is not enabled.
|
|
The current built-in source generator only supports C# and only supplies an implementation when
|
|
applied to static, partial, non-generic methods.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
|
|
</summary>
|
|
<param name="libraryName">Name of the library containing the import.</param>
|
|
</member>
|
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
|
|
<summary>
|
|
Gets the name of the library containing the import.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
|
|
<summary>
|
|
Gets or sets the name of the entry point to be called.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
|
|
<summary>
|
|
Gets or sets how to marshal string arguments to the method.
|
|
</summary>
|
|
<remarks>
|
|
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
|
|
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
|
|
<summary>
|
|
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
|
|
</summary>
|
|
<remarks>
|
|
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
|
|
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
|
|
<summary>
|
|
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
|
|
on other platforms) before returning from the attributed method.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Runtime.InteropServices.StringMarshalling">
|
|
<summary>
|
|
Specifies how strings should be marshalled for generated p/invokes
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
|
|
<summary>
|
|
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
|
|
<summary>
|
|
Use the platform-provided UTF-8 marshaller.
|
|
</summary>
|
|
</member>
|
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
|
|
<summary>
|
|
Use the platform-provided UTF-16 marshaller.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.OSPlatformAttribute">
|
|
<summary>
|
|
Base type for all platform-specific API attributes.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.TargetPlatformAttribute">
|
|
<summary>
|
|
Records the platform that the project targeted.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.SupportedOSPlatformAttribute">
|
|
<summary>
|
|
Records the operating system (and minimum version) that supports an API. Multiple attributes can be
|
|
applied to indicate support on multiple operating systems.
|
|
</summary>
|
|
<remarks>
|
|
Callers can apply a <see cref="T:System.Runtime.Versioning.SupportedOSPlatformAttribute" />
|
|
or use guards to prevent calls to APIs on unsupported operating systems.
|
|
|
|
A given platform should only be specified once.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute">
|
|
<summary>
|
|
Marks APIs that were removed in a given operating system version.
|
|
</summary>
|
|
<remarks>
|
|
Primarily used by OS bindings to indicate APIs that are only available in
|
|
earlier versions.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute">
|
|
<summary>
|
|
Marks APIs that were obsoleted in a given operating system version.
|
|
</summary>
|
|
<remarks>
|
|
Primarily used by OS bindings to indicate APIs that should not be used anymore.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute"/> class with the specified platform name.
|
|
</summary>
|
|
<param name="platformName">The name of the platform where the API was obsoleted.</param>
|
|
</member>
|
|
<member name="M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute"/> class with the specified platform name and message.
|
|
</summary>
|
|
<param name="platformName">The name of the platform where the API was obsoleted.</param>
|
|
<param name="message">The message that explains the obsolescence.</param>
|
|
</member>
|
|
<member name="P:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.Message">
|
|
<summary>
|
|
Gets the message that explains the obsolescence.
|
|
</summary>
|
|
</member>
|
|
<member name="P:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.Url">
|
|
<summary>
|
|
Gets or sets the URL that provides more information about the obsolescence.
|
|
</summary>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute">
|
|
<summary>
|
|
Annotates a custom guard field, property or method with a supported platform name and optional version.
|
|
Multiple attributes can be applied to indicate guard for multiple supported platforms.
|
|
</summary>
|
|
<remarks>
|
|
Callers can apply a <see cref="T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute" /> to a field, property or method
|
|
and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
|
|
|
|
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute">
|
|
<summary>
|
|
Annotates the custom guard field, property or method with an unsupported platform name and optional version.
|
|
Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
|
|
</summary>
|
|
<remarks>
|
|
Callers can apply a <see cref="T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute" /> to a field, property or method
|
|
and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
|
|
|
|
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:System.ExceptionPolyfills">
|
|
<summary>Provides downlevel polyfills for static methods on Exception-derived types.</summary>
|
|
</member>
|
|
<member name="T:System.Index">
|
|
<summary>Represent a type can be used to index a collection either from the start or the end.</summary>
|
|
<remarks>
|
|
Index is used by the C# compiler to support the new index syntax
|
|
<code>
|
|
int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ;
|
|
int lastElement = someArray[^1]; // lastElement = 5
|
|
</code>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Index.#ctor(System.Int32,System.Boolean)">
|
|
<summary>Construct an Index using a value and indicating if the index is from the start or from the end.</summary>
|
|
<param name="value">The index value. it has to be zero or positive number.</param>
|
|
<param name="fromEnd">Indicating if the index is from the start or from the end.</param>
|
|
<remarks>
|
|
If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Index.Start">
|
|
<summary>Create an Index pointing at first element.</summary>
|
|
</member>
|
|
<member name="P:System.Index.End">
|
|
<summary>Create an Index pointing at beyond last element.</summary>
|
|
</member>
|
|
<member name="M:System.Index.FromStart(System.Int32)">
|
|
<summary>Create an Index from the start at the position indicated by the value.</summary>
|
|
<param name="value">The index value from the start.</param>
|
|
</member>
|
|
<member name="M:System.Index.FromEnd(System.Int32)">
|
|
<summary>Create an Index from the end at the position indicated by the value.</summary>
|
|
<param name="value">The index value from the end.</param>
|
|
</member>
|
|
<member name="P:System.Index.Value">
|
|
<summary>Returns the index value.</summary>
|
|
</member>
|
|
<member name="P:System.Index.IsFromEnd">
|
|
<summary>Indicates whether the index is from the start or the end.</summary>
|
|
</member>
|
|
<member name="M:System.Index.GetOffset(System.Int32)">
|
|
<summary>Calculate the offset from the start using the giving collection length.</summary>
|
|
<param name="length">The length of the collection that the Index will be used with. length has to be a positive value</param>
|
|
<remarks>
|
|
For performance reason, we don't validate the input length parameter and the returned offset value against negative values.
|
|
we don't validate either the returned offset is greater than the input length.
|
|
It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and
|
|
then used to index a collection will get out of range exception which will be same affect as the validation.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:System.Index.Equals(System.Object)">
|
|
<summary>Indicates whether the current Index object is equal to another object of the same type.</summary>
|
|
<param name="value">An object to compare with this object</param>
|
|
</member>
|
|
<member name="M:System.Index.Equals(System.Index)">
|
|
<summary>Indicates whether the current Index object is equal to another Index object.</summary>
|
|
<param name="other">An object to compare with this object</param>
|
|
</member>
|
|
<member name="M:System.Index.GetHashCode">
|
|
<summary>Returns the hash code for this instance.</summary>
|
|
</member>
|
|
<member name="M:System.Index.op_Implicit(System.Int32)~System.Index">
|
|
<summary>Converts integer number to an Index.</summary>
|
|
</member>
|
|
<member name="M:System.Index.ToString">
|
|
<summary>Converts the value of the current Index object to its equivalent string representation.</summary>
|
|
</member>
|
|
<member name="T:System.Range">
|
|
<summary>Represent a range has start and end indexes.</summary>
|
|
<remarks>
|
|
Range is used by the C# compiler to support the range syntax.
|
|
<code>
|
|
int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
|
|
int[] subArray1 = someArray[0..2]; // { 1, 2 }
|
|
int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 }
|
|
</code>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:System.Range.Start">
|
|
<summary>Represent the inclusive start index of the Range.</summary>
|
|
</member>
|
|
<member name="P:System.Range.End">
|
|
<summary>Represent the exclusive end index of the Range.</summary>
|
|
</member>
|
|
<member name="M:System.Range.#ctor(System.Index,System.Index)">
|
|
<summary>Construct a Range object using the start and end indexes.</summary>
|
|
<param name="start">Represent the inclusive start index of the range.</param>
|
|
<param name="end">Represent the exclusive end index of the range.</param>
|
|
</member>
|
|
<member name="M:System.Range.Equals(System.Object)">
|
|
<summary>Indicates whether the current Range object is equal to another object of the same type.</summary>
|
|
<param name="value">An object to compare with this object</param>
|
|
</member>
|
|
<member name="M:System.Range.Equals(System.Range)">
|
|
<summary>Indicates whether the current Range object is equal to another Range object.</summary>
|
|
<param name="other">An object to compare with this object</param>
|
|
</member>
|
|
<member name="M:System.Range.GetHashCode">
|
|
<summary>Returns the hash code for this instance.</summary>
|
|
</member>
|
|
<member name="M:System.Range.ToString">
|
|
<summary>Converts the value of the current Range object to its equivalent string representation.</summary>
|
|
</member>
|
|
<member name="M:System.Range.StartAt(System.Index)">
|
|
<summary>Create a Range object starting from start index to the end of the collection.</summary>
|
|
</member>
|
|
<member name="M:System.Range.EndAt(System.Index)">
|
|
<summary>Create a Range object starting from first element in the collection to the end Index.</summary>
|
|
</member>
|
|
<member name="P:System.Range.All">
|
|
<summary>Create a Range object starting from first element to the end.</summary>
|
|
</member>
|
|
<member name="M:System.Range.GetOffsetAndLength(System.Int32)">
|
|
<summary>Calculate the start offset and length of range object using a collection length.</summary>
|
|
<param name="length">The length of the collection that the range will be used with. length has to be a positive value.</param>
|
|
<remarks>
|
|
For performance reason, we don't validate the input length parameter against negative values.
|
|
It is expected Range will be used with collections which always have non negative length/count.
|
|
We validate the range is inside the length scope though.
|
|
</remarks>
|
|
</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="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>
|
|
</members>
|
|
</doc>
|