|
|
public sealed class AsymmetricKeyAlgorithmProvider
|
|
|
: __ComObject, IAsymmetricKeyAlgorithmProvider
|
|
|
public virtual String AlgorithmName { get; }
|
|
|
public virtual CryptographicPadding Padding { get; }
|
|
|
public virtual SupportedKeyLengths SupportedKeyLengths { get; }
|
|
|
static public IReadOnlyList`1<String> EnumerateEncryptionAlgorithms();
|
|
|
static public IReadOnlyList`1<String> EnumerateSignatureAlgorithms();
|
|
|
public virtual CryptographicKey GenerateKeyPair(UInt32 KeySize);
|
|
|
public virtual CryptographicKey ImportKeyPair(IBuffer KeyBlob);
|
|
|
public virtual CryptographicKey ImportPublicKey(IBuffer KeyBlob);
|
|
|
static public AsymmetricKeyAlgorithmProvider OpenAlgorithm(String algorithm);
|
|
|
public abstract sealed class CryptographicEngine
|
|
|
: __ComObject
|
|
|
static public IBuffer Decrypt(CryptographicKey Key, IBuffer Data, IBuffer IV);
|
|
|
static public IBuffer DecryptAndAuthenticate(CryptographicKey Key, IBuffer Data, IBuffer Nonce, IBuffer AuthenticationTag, IBuffer AuthenticatedData);
|
|
|
static public IBuffer DeriveKeyMaterial(CryptographicKey Key, KeyDerivationParameters Parameters, UInt32 DesiredKeySize);
|
|
|
static public IBuffer Encrypt(CryptographicKey Key, IBuffer Data, IBuffer IV);
|
|
|
static public EncryptedAndAuthenticatedData EncryptAndAuthenticate(CryptographicKey Key, IBuffer Data, IBuffer Nonce, IBuffer AuthenticatedData);
|
|
|
static public IBuffer Sign(CryptographicKey Key, IBuffer Data);
|
|
|
static public Boolean VerifySignature(CryptographicKey Key, IBuffer Data, IBuffer Signature);
|
|
|
public sealed class HashAlgorithmProvider
|
|
|
: __ComObject, IHashAlgorithmProvider
|
|
|
public virtual String AlgorithmName { get; }
|
|
|
public virtual UInt32 HashLength { get; }
|
|
|
public virtual CryptographicHash CreateHash();
|
|
|
static public IReadOnlyList`1<String> EnumerateAlgorithms();
|
|
|
public virtual IBuffer HashData(IBuffer Data);
|
|
|
static public HashAlgorithmProvider OpenAlgorithm(String algorithm);
|
|
|
public sealed class KeyDerivationParameters
|
|
|
: __ComObject, IKeyDerivationParameters
|
|
|
public virtual UInt32 IterationCount { get; }
|
|
|
public virtual IBuffer KdfGenericBinary { get; set; }
|
|
|
static public KeyDerivationParameters BuildForPbkdf2(IBuffer Pbkdf2Salt, UInt32 IterationCount);
|
|
|
static public KeyDerivationParameters BuildForSP800108(IBuffer Label, IBuffer Context);
|
|
|
static public KeyDerivationParameters BuildForSP80056a(IBuffer AlgorithmId, IBuffer PartyUInfo, IBuffer PartyVInfo, IBuffer SuppPubInfo, IBuffer SuppPrivInfo);
|
|
|
public sealed class SymmetricKeyAlgorithmProvider
|
|
|
: __ComObject, ISymmetricKeyAlgorithmProvider
|
|
|
public virtual String AlgorithmName { get; }
|
|
|
public virtual UInt32 BlockLength { get; }
|
|
|
public virtual CipherChainingMode CipherChainingMode { get; }
|
|
|
public virtual CryptographicPadding Padding { get; }
|
|
|
public virtual SupportedKeyLengths SupportedKeyLengths { get; }
|
|
|
public virtual CryptographicKey CreateSymmetricKey(IBuffer keyMaterial);
|
|
|
static public IReadOnlyList`1<String> EnumerateAlgorithms();
|
|
|
public virtual CryptographicKey ImportKey(IBuffer keyBlob);
|
|
|
static public SymmetricKeyAlgorithmProvider OpenAlgorithm(String algorithm);
|