Exemple #1
0
        /// <summary>
        /// Hash the given data and sign it using DSA.
        /// </summary>
        public static byte[] HashAndSignUsingDSA(byte[] dataToSign, string keyContainerName, HashAlgorithmTypeEnum hashType)
        {
            DSACryptoServiceProvider dsa = AsymmetricOperation.GetDSACryptoServiceProvider(keyContainerName);

            byte[] hashedData = HashOperation.CreateHashAlgorithmProvider(hashType).ComputeHash(dataToSign);
            return(dsa.CreateSignature(hashedData));
        }
Exemple #2
0
        /// <summary>
        /// Verify the given data and signature using RSA.
        /// </summary>
        public static bool VerifySignedHashUsingDSA(byte[] dataToVerify, byte[] signedData,
                                                    string keyContainerName, HashAlgorithmTypeEnum hashType)
        {
            DSACryptoServiceProvider dsa = AsymmetricOperation.GetDSACryptoServiceProvider(keyContainerName);

            byte[] hashedData = HashOperation.CreateHashAlgorithmProvider(hashType).ComputeHash(dataToVerify);
            return(dsa.VerifySignature(hashedData, signedData));
        }