<PackageReference Include="System.Security.Cryptography.Cng" Version="5.0.0-preview.5.20278.1" />

System.Security.Cryptography.CngKey

public sealed class CngKey : IDisposable
namespace System.Security.Cryptography { public sealed class CngKey : IDisposable { public CngAlgorithm Algorithm { get; } public CngAlgorithmGroup AlgorithmGroup { get; } public CngExportPolicies ExportPolicy { get; } public SafeNCryptKeyHandle Handle { get; } public bool IsEphemeral { get; } public bool IsMachineKey { get; } public string KeyName { get; } public int KeySize { get; } public CngKeyUsages KeyUsage { get; } public IntPtr ParentWindowHandle { get; set; } public CngProvider Provider { get; } public SafeNCryptProviderHandle ProviderHandle { get; } public CngUIPolicy UIPolicy { get; } public string UniqueName { get; } public static CngKey Create(CngAlgorithm algorithm); public static CngKey Create(CngAlgorithm algorithm, string keyName); public static CngKey Create(CngAlgorithm algorithm, string keyName, CngKeyCreationParameters creationParameters); public void Delete(); public void Dispose(); public static bool Exists(string keyName); public static bool Exists(string keyName, CngProvider provider); public static bool Exists(string keyName, CngProvider provider, CngKeyOpenOptions options); public byte[] Export(CngKeyBlobFormat format); public CngProperty GetProperty(string name, CngPropertyOptions options); public bool HasProperty(string name, CngPropertyOptions options); public static CngKey Import(byte[] keyBlob, CngKeyBlobFormat format); public static CngKey Import(byte[] keyBlob, CngKeyBlobFormat format, CngProvider provider); public static CngKey Open(SafeNCryptKeyHandle keyHandle, CngKeyHandleOpenOptions keyHandleOpenOptions); public static CngKey Open(string keyName); public static CngKey Open(string keyName, CngProvider provider); public static CngKey Open(string keyName, CngProvider provider, CngKeyOpenOptions openOptions); public void SetProperty(CngProperty property); } }