<PackageReference Include="Microsoft.Bcl.Cryptography" Version="10.0.11" />

System.Security.Cryptography.CompositeMLDsa

public abstract class CompositeMLDsa : IDisposable
Represents a Composite ML-DSA key.
namespace System.Security.Cryptography { public abstract class CompositeMLDsa : IDisposable { private delegate TResult ProcessExportedContent<TResult> (ReadOnlySpan<byte> exportedContent); public static bool IsSupported { get; } public CompositeMLDsaAlgorithm Algorithm { get; } protected CompositeMLDsa(CompositeMLDsaAlgorithm algorithm); public static bool IsAlgorithmSupported(CompositeMLDsaAlgorithm algorithm); public byte[] SignData(byte[] data, byte[] context = null); public int SignData(ReadOnlySpan<byte> data, Span<byte> destination, ReadOnlySpan<byte> context = default(ReadOnlySpan<byte>)); protected abstract int SignDataCore(ReadOnlySpan<byte> data, ReadOnlySpan<byte> context, Span<byte> destination); public bool VerifyData(byte[] data, byte[] signature, byte[] context = null); public bool VerifyData(ReadOnlySpan<byte> data, ReadOnlySpan<byte> signature, ReadOnlySpan<byte> context = default(ReadOnlySpan<byte>)); protected abstract bool VerifyDataCore(ReadOnlySpan<byte> data, ReadOnlySpan<byte> context, ReadOnlySpan<byte> signature); public static CompositeMLDsa GenerateKey(CompositeMLDsaAlgorithm algorithm); public static CompositeMLDsa ImportFromEncryptedPem(string source, string password); public static CompositeMLDsa ImportFromEncryptedPem(ReadOnlySpan<char> source, ReadOnlySpan<char> password); public static CompositeMLDsa ImportFromEncryptedPem(string source, byte[] passwordBytes); public static CompositeMLDsa ImportFromEncryptedPem(ReadOnlySpan<char> source, ReadOnlySpan<byte> passwordBytes); public static CompositeMLDsa ImportFromPem(string source); public static CompositeMLDsa ImportFromPem(ReadOnlySpan<char> source); public static CompositeMLDsa ImportSubjectPublicKeyInfo(byte[] source); public static CompositeMLDsa ImportSubjectPublicKeyInfo(ReadOnlySpan<byte> source); public static CompositeMLDsa ImportEncryptedPkcs8PrivateKey(string password, byte[] source); public static CompositeMLDsa ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, ReadOnlySpan<byte> source); public static CompositeMLDsa ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte> passwordBytes, ReadOnlySpan<byte> source); public static CompositeMLDsa ImportPkcs8PrivateKey(byte[] source); public static CompositeMLDsa ImportPkcs8PrivateKey(ReadOnlySpan<byte> source); public static CompositeMLDsa ImportCompositeMLDsaPublicKey(CompositeMLDsaAlgorithm algorithm, byte[] source); public static CompositeMLDsa ImportCompositeMLDsaPublicKey(CompositeMLDsaAlgorithm algorithm, ReadOnlySpan<byte> source); public static CompositeMLDsa ImportCompositeMLDsaPrivateKey(CompositeMLDsaAlgorithm algorithm, byte[] source); public static CompositeMLDsa ImportCompositeMLDsaPrivateKey(CompositeMLDsaAlgorithm algorithm, ReadOnlySpan<byte> source); public string ExportEncryptedPkcs8PrivateKeyPem(string password, PbeParameters pbeParameters); public string ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<char> password, PbeParameters pbeParameters); public string ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters); public byte[] ExportEncryptedPkcs8PrivateKey(string password, PbeParameters pbeParameters); public byte[] ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters); public byte[] ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, PbeParameters pbeParameters); public bool TryExportEncryptedPkcs8PrivateKey(string password, PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten); public bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char> password, PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten); public bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters, Span<byte> destination, out int bytesWritten); public string ExportPkcs8PrivateKeyPem(); public byte[] ExportPkcs8PrivateKey(); public bool TryExportPkcs8PrivateKey(Span<byte> destination, out int bytesWritten); protected abstract bool TryExportPkcs8PrivateKeyCore(Span<byte> destination, out int bytesWritten); public string ExportSubjectPublicKeyInfoPem(); public byte[] ExportSubjectPublicKeyInfo(); public bool TryExportSubjectPublicKeyInfo(Span<byte> destination, out int bytesWritten); public byte[] ExportCompositeMLDsaPublicKey(); public int ExportCompositeMLDsaPublicKey(Span<byte> destination); public bool TryExportCompositeMLDsaPublicKey(Span<byte> destination, out int bytesWritten); public byte[] ExportCompositeMLDsaPrivateKey(); public int ExportCompositeMLDsaPrivateKey(Span<byte> destination); public bool TryExportCompositeMLDsaPrivateKey(Span<byte> destination, out int bytesWritten); protected abstract int ExportCompositeMLDsaPublicKeyCore(Span<byte> destination); protected abstract int ExportCompositeMLDsaPrivateKeyCore(Span<byte> destination); public void Dispose(); protected virtual void Dispose(bool disposing); } }