Esempio n. 1
0
 public static bool RSA_VerifyData(byte[] data, byte[] signature, RSA rsa, Enums.SignatureAlgorithm algorithm)
 {
     if (algorithm == Enums.SignatureAlgorithm.rsa_pkcs1_sha512)
     {
         return(rsa.VerifyData(data, signature, HashAlgorithmName.SHA512, RSASignaturePadding.Pkcs1));
     }
     else if (algorithm == Enums.SignatureAlgorithm.rsa_pkcs1_sha384)
     {
         return(rsa.VerifyData(data, signature, HashAlgorithmName.SHA384, RSASignaturePadding.Pkcs1));
     }
     else if (algorithm == Enums.SignatureAlgorithm.rsa_pkcs1_sha256)
     {
         return(rsa.VerifyData(data, signature, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1));
     }
     else if (algorithm == Enums.SignatureAlgorithm.rsa_pss_rsae_sha512)
     {
         return(rsa.VerifyData(data, signature, HashAlgorithmName.SHA512, RSASignaturePadding.Pss));
     }
     else if (algorithm == Enums.SignatureAlgorithm.rsa_pss_rsae_sha384)
     {
         return(rsa.VerifyData(data, signature, HashAlgorithmName.SHA384, RSASignaturePadding.Pss));
     }
     else if (algorithm == Enums.SignatureAlgorithm.rsa_pss_rsae_sha256)
     {
         return(rsa.VerifyData(data, signature, HashAlgorithmName.SHA256, RSASignaturePadding.Pss));
     }
     else
     {
         throw new NotImplementedException($"SignatureAlgorithm {algorithm} NotImplemented");
     }
 }
Esempio n. 2
0
 public virtual bool SignatureVerify(byte[] data, byte[] signature, Enums.SignatureAlgorithm algorithm, AsymmetricAlgorithm asymmetric)
 {
     if (asymmetric is RSA rsa)
     {
         return(Utils.RSA_VerifyData(data, signature, rsa, algorithm));
     }
     else if (asymmetric is ECDsa ecc)
     {
         return(Utils.ECC_VerifyData(data, signature, ecc, algorithm));
     }
     return(false);
 }
Esempio n. 3
0
 public virtual byte[] Signature(byte[] data, Enums.SignatureAlgorithm algorithm, AsymmetricAlgorithm asymmetric)
 {
     if (asymmetric is RSA rsa)
     {
         return(Utils.RSA_SignData(data, rsa, algorithm));
     }
     else if (asymmetric is ECDsa ecc)
     {
         return(Utils.ECC_SignData(data, ecc, algorithm));
     }
     return(null);
 }
Esempio n. 4
0
 public static byte[] ECC_SignData(byte[] data, ECDsa ecdsa, Enums.SignatureAlgorithm algorithm)
 {
     if (algorithm == Enums.SignatureAlgorithm.ecdsa_secp256r1_sha256)
     {
         return(ecdsa.SignData(data, HashAlgorithmName.SHA256));
     }
     else if (algorithm == Enums.SignatureAlgorithm.ecdsa_secp384r1_sha384)
     {
         return(ecdsa.SignData(data, HashAlgorithmName.SHA384));
     }
     else if (algorithm == Enums.SignatureAlgorithm.ecdsa_secp521r1_sha512)
     {
         return(ecdsa.SignData(data, HashAlgorithmName.SHA512));
     }
     else
     {
         throw new NotImplementedException($"SignatureAlgorithm {algorithm} NotImplemented");
     }
 }