Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="algorithm"></param>
        /// <returns></returns>
        private static HashAlgorithm GetHash(SigninAlgorithm algorithm)
        {
            switch (algorithm)
            {
            case SigninAlgorithm.RSASha1: return(new SHA1Managed());

            case SigninAlgorithm.RSASha256: return(new SHA256Managed());

            default: throw new ArgumentException("Invalid SigningAlgorithm value", "algorithm");
            }
        }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="data"></param>
 /// <param name="algorithm"></param>
 /// <returns></returns>
 public static Byte[] Hash(Byte[] data, SigninAlgorithm algorithm)
 {
     if (data == null)
     {
         throw new ArgumentNullException("Hash data.");
     }
     using (var hash = GetHash(algorithm))
     {
         return(hash.ComputeHash(data));
     }
 }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="data"></param>
 /// <param name="algorithm"></param>
 /// <returns></returns>
 public Byte[] Sign(Byte[] data, SigninAlgorithm algorithm)
 {
     if (data == null)
     {
         throw new ArgumentNullException("Sign data.");
     }
     using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
     {
         rsa.FromXmlString(this.Certificate.PrivateKey.ToXmlString(true));
         byte[] signature = rsa.SignData(data, GetHashName(this.SigninAlgorithm));
         return(signature);
     }
 }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="algorithm"></param>
        /// <returns></returns>
        private String GetHashName(SigninAlgorithm algorithm)
        {
            switch (algorithm)
            {
            case SigninAlgorithm.RSASha1:
            {
                return("SHA1");
            }

            case SigninAlgorithm.RSASha256:
            {
                return("SHA256");
            }

            default:
            {
                throw new ArgumentException("Invalid SigningAlgorithm value", "algorithm");
            }
            }
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="algorithm"></param>
 /// <returns></returns>
 private String GetHashName(SigninAlgorithm algorithm)
 {
     switch (algorithm)
     {
         case SigninAlgorithm.RSASha1:
             {
                 return "SHA1";
             }
         case SigninAlgorithm.RSASha256:
             {
                 return "SHA256";
             }
         default:
             {
                 throw new ArgumentException("Invalid SigningAlgorithm value", "algorithm");
             }
     }
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="algorithm"></param>
 /// <returns></returns>
 private static HashAlgorithm GetHash(SigninAlgorithm algorithm)
 {
     switch (algorithm)
     {
         case SigninAlgorithm.RSASha1: return new SHA1Managed();
         case SigninAlgorithm.RSASha256: return new SHA256Managed();
         default: throw new ArgumentException("Invalid SigningAlgorithm value", "algorithm");
     }
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="data"></param>
 /// <param name="algorithm"></param>
 /// <returns></returns>
 public Byte[] Sign(Byte[] data, SigninAlgorithm algorithm)
 {
     if (data == null)
     {
         throw new ArgumentNullException("Sign data.");
     }
     using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
     {
         rsa.FromXmlString(this.Certificate.PrivateKey.ToXmlString(true));
         byte[] signature = rsa.SignData(data, GetHashName(this.SigninAlgorithm));
         return signature;
     }
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="data"></param>
 /// <param name="algorithm"></param>
 /// <returns></returns>
 public static Byte[] Hash(Byte[] data, SigninAlgorithm algorithm)
 {
     if (data == null)
     {
         throw new ArgumentNullException("Hash data.");
     }
     using (var hash = GetHash(algorithm))
     {
         return hash.ComputeHash(data);
     }
 }