private System.Security.Cryptography.AsymmetricAlgorithm CreateProvider(AsymmetricAlgName algorithmName) { switch (algorithmName) { case AsymmetricAlgName.RSA: return(System.Security.Cryptography.RSA.Create()); case AsymmetricAlgName.DSA: return(System.Security.Cryptography.DSA.Create()); case AsymmetricAlgName.ECDsa: return(System.Security.Cryptography.ECDsa.Create()); default: throw new NotSupportedException($"Unsupported asymmetric algorithm '{algorithmName}'."); } }
public AsymmetricCrypto(AsymmetricAlgName algorithmName) { this.AlgorithmName = algorithmName; this.provider = CreateProvider(algorithmName); }