• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# Cryptography.RSAPKCS1SignatureFormatter类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Security.Cryptography.RSAPKCS1SignatureFormatter的典型用法代码示例。如果您正苦于以下问题:C# RSAPKCS1SignatureFormatter类的具体用法?C# RSAPKCS1SignatureFormatter怎么用?C# RSAPKCS1SignatureFormatter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



RSAPKCS1SignatureFormatter类属于System.Security.Cryptography命名空间,在下文中一共展示了RSAPKCS1SignatureFormatter类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: RSAEncrypt

        static public byte[] RSAEncrypt(int bits, byte[] dataToEncrypt, RSAParameters rsaKeyInfo, bool doOAEPPadding)
        {
            try
            {
                byte[] encryptedData;
                //Create a new instance of RSACryptoServiceProvider.
                using (var rsa = new RSACryptoServiceProvider(bits))
                {

                    //Import the RSA Key information. This only needs
                    //toinclude the public key information.
                    rsa.ImportParameters(rsaKeyInfo);

                    var rsaExportParameters = rsa.ExportParameters(true);

                    var rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
                    rsaFormatter.SetHashAlgorithm("SHA256");

                    //Encrypt the passed byte array and specify OAEP padding.  
                    //OAEP padding is only available on Microsoft Windows XP or
                    //later.  
                    encryptedData = rsa.Encrypt(dataToEncrypt, doOAEPPadding);
                }
                return encryptedData;
            }
            //Catch and display a CryptographicException  
            //to the console.
            catch (CryptographicException e)
            {
                Console.WriteLine(e.Message);

                return null;
            }

        }
开发者ID:dr1s,项目名称:rom_tool,代码行数:35,代码来源:RSA.cs


示例2: SignData

        public byte[] SignData(byte[] hashOfDataToSign)
        {            
            var rsaFormatter = new RSAPKCS1SignatureFormatter(mRsa);
            rsaFormatter.SetHashAlgorithm("SHA256");

            return rsaFormatter.CreateSignature(hashOfDataToSign);            
        }
开发者ID:corebob,项目名称:skulls-bones-and-digital-signatures,代码行数:7,代码来源:DigitalSignature.cs


示例3: SignN3Rsa

        public string SignN3Rsa(string data)
        {
            var cspParams = new CspParameters {KeyContainerName = "XML_DSIG_RSA_KEY"};
            var key = new RSACryptoServiceProvider(cspParams);
            var cspBlob = key.ExportCspBlob(false);
            var base64Blob = Convert.ToBase64String(cspBlob);

            var rsaFormatter = new RSAPKCS1SignatureFormatter(key);
            rsaFormatter.SetHashAlgorithm("MD5");

            var hash = Md5Helper.GetMd5Hash(data);
            var base64Hash = Convert.ToBase64String(hash);
            var sign = rsaFormatter.CreateSignature(hash);
            var base64Sign = Convert.ToBase64String(sign);

            var signData = new SignData
                           {
                               data = data,
                               public_key = base64Blob,
                               hash = base64Hash,
                               sign = base64Sign
                           };

            return new SerializationHelper<SignData>().Serialize(signData);
        }
开发者ID:nbIxMaN,项目名称:RestTest,代码行数:25,代码来源:SignatureHelper.cs


示例4: Sign

        public DigitalSignatureCreationResult Sign(DigitalSignatureCreationArguments arguments)
        {
            var res = new DigitalSignatureCreationResult();
            try
            {
                var rsaProviderReceiver = new RSACryptoServiceProvider();
                rsaProviderReceiver.FromXmlString(arguments.PublicKeyForEncryption.ToString());
                var encryptionResult = rsaProviderReceiver.Encrypt(Encoding.UTF8.GetBytes(arguments.Message), false);
                var hashed = _hashingService.Hash(Convert.ToBase64String(encryptionResult));

                var rsaProviderSender = new RSACryptoServiceProvider();
                rsaProviderSender.FromXmlString(arguments.FullKeyForSignature.ToString());
                var signatureFormatter = new RSAPKCS1SignatureFormatter(rsaProviderSender);
                signatureFormatter.SetHashAlgorithm(_hashingService.HashAlgorithmCode());
                var signature = signatureFormatter.CreateSignature(hashed.HashedBytes);

                res.Signature = signature;
                res.CipherText = Convert.ToBase64String(encryptionResult);
                res.Success = true;
            }
            catch (Exception ex)
            {
                res.ExceptionMessage = ex.Message;
            }

            return res;
        }
开发者ID:richardkundl,项目名称:SampleDI-IoC,代码行数:27,代码来源:RsaPkcs1DigitalSignatureService.cs


示例5: Sign

        private byte[] Sign(SHA1CryptoServiceProvider hash)
        {
            var formatter = new RSAPKCS1SignatureFormatter(_certificate.PrivateKey).
                Tap(it => it.SetHashAlgorithm("MD5"));

            return formatter.CreateSignature(hash);
        }
开发者ID:ChrisRomp,项目名称:Xero-Net,代码行数:7,代码来源:RsaSha1.cs


示例6: CreateFormatter

        public override AsymmetricSignatureFormatter CreateFormatter(AsymmetricAlgorithm key)
        {
            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            var provider = (RSACryptoServiceProvider)key;

            // The provider is probably using the default ProviderType. That's
            // a problem, because it doesn't support SHA256. Let's do some
            // black magic and create a new provider of a type that supports
            // SHA256 without the user ever knowing we fix this. This is what
            // is done in X509AsymmetricKey.GetSignatureFormatter if
            // http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 isn't
            // a known algorithm, so users kind of expect this to be handled
            // for them magically.

            var cspParams = new CspParameters();
            cspParams.ProviderType = 24; //PROV_RSA_AES
            cspParams.KeyContainerName = provider.CspKeyContainerInfo.KeyContainerName;
            cspParams.KeyNumber = (int)provider.CspKeyContainerInfo.KeyNumber;
            SetMachineKeyFlag(provider, cspParams);

            cspParams.Flags |= CspProviderFlags.UseExistingKey;

            provider = new RSACryptoServiceProvider(cspParams);

            var f = new RSAPKCS1SignatureFormatter(provider);
            f.SetHashAlgorithm(typeof(SHA256Managed).FullName);
            return f;
        }
开发者ID:CDHDeveloper,项目名称:authservices,代码行数:32,代码来源:ManagedSha256SignatureDescription.cs


示例7: Signature

 public static void Signature(Stream input, Stream output, string privateKey)
 {
     using (var sha = new SHA256CryptoServiceProvider())
     using (var rsa = new RSACryptoServiceProvider())
     {
         // Compute hash
         var buffer = ReadAllBytes(input);
         var hash = sha.ComputeHash(buffer);
         // RSA Initialize
         rsa.FromXmlString(privateKey);
         // format
         var formatter = new RSAPKCS1SignatureFormatter(rsa);
         formatter.SetHashAlgorithm("SHA256");
         var signature = formatter.CreateSignature(hash);
         // Krile Signature Package
         var magic = MagicStr + ":" + signature.Length + ":";
         var magicbytes = Encoding.UTF8.GetBytes(magic);
         if (magicbytes.Length > 64)
             throw new Exception("Magic bits too long.");
         output.Write(magicbytes, 0, magicbytes.Length);
         var padding = new byte[64 - magicbytes.Length];
         output.Write(padding, 0, padding.Length);
         output.Write(signature, 0, signature.Length);
         output.Write(buffer, 0, buffer.Length);
     }
 }
开发者ID:Kei-Nanigashi,项目名称:StarryEyes,代码行数:26,代码来源:Cryptography.cs


示例8: Sign

        public static byte[] Sign(byte[] privateKey, Stream stream)
        {
            #if Windows
            using (var rsa = new RSACryptoServiceProvider())
            {
                rsa.FromXmlString(Encoding.ASCII.GetString(privateKey));

                var rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
                rsaFormatter.SetHashAlgorithm("SHA256");

                using (var Sha256 = SHA256.Create())
                {
                    return rsaFormatter.CreateSignature(Sha256.ComputeHash(stream));
                }
            }
            #endif

            #if Unix
            lock (_lockObject)
            {
                using (var rsa = new RSACryptoServiceProvider())
                {
                    rsa.FromXmlString(Encoding.ASCII.GetString(privateKey));

                    var rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
                    rsaFormatter.SetHashAlgorithm("SHA256");

                    using (var Sha256 = SHA256.Create())
                    {
                        return rsaFormatter.CreateSignature(Sha256.ComputeHash(stream));
                    }
                }
            }
            #endif
        }
开发者ID:Alliance-Network,项目名称:Library,代码行数:35,代码来源:Rsa2048_Sha512.cs


示例9: CreateSignature

        public byte[] CreateSignature(byte[] hash)
	    {
            RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
            RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
            RSAFormatter.SetHashAlgorithm("MD5");
            m_public = RSA.ExportParameters(false);
            return RSAFormatter.CreateSignature(hash);
        }
开发者ID:sasha2567,项目名称:8--,代码行数:8,代码来源:DigitalSignatureHelper+.cs


示例10: CreateFormatter

 public override AsymmetricSignatureFormatter CreateFormatter(AsymmetricAlgorithm key)
 {
     if (key == null)
         throw new ArgumentNullException(nameof(key));
     var f = new RSAPKCS1SignatureFormatter(key);
     f.SetHashAlgorithm(SHA_512);
     return f;
 }
开发者ID:nofuture-git,项目名称:31g,代码行数:8,代码来源:Misc.cs


示例11: CreateFormatter

        public override AsymmetricSignatureFormatter CreateFormatter(AsymmetricAlgorithm key)
        {
            if (key == null)
                throw new ArgumentNullException("key");

            RSAPKCS1SignatureFormatter formatter = new RSAPKCS1SignatureFormatter(key);
            formatter.SetHashAlgorithm("SHA256");
            return formatter;
        }
开发者ID:scholtz,项目名称:FastZep,代码行数:9,代码来源:RSAPKCS1SHA256SignatureDescription.cs


示例12: sign

 public byte[] sign()
 {
     SSC.RSA rsa = SSC.RSA.Create();
     rsa.ImportParameters(RSAparams);
     SSC.RSAPKCS1SignatureFormatter signer = new SSC.RSAPKCS1SignatureFormatter(rsa);
     signer.SetHashAlgorithm("SHA1");
     sc.Close();
     return signer.CreateSignature(md.Hash);
 }
开发者ID:JamesHagerman,项目名称:sftprelay,代码行数:9,代码来源:SignatureRSA.cs


示例13: sign

        public byte[] sign()
        {
            m_cs.Close();
            RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
            RSA.ImportParameters(m_RSAKeyInfo);
            RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
            RSAFormatter.SetHashAlgorithm("SHA1");

            return RSAFormatter.CreateSignature(m_sha1);
        }
开发者ID:x893,项目名称:SharpSSH,代码行数:10,代码来源:SignatureRSA.cs


示例14: CreateSignature

 public static string CreateSignature(string textToSign, string XMLprivateKey)
 {
     RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
     RSA.FromXmlString(XMLprivateKey);
     RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
     RSAFormatter.SetHashAlgorithm("SHA1");
     SHA1Managed SHhash = new SHA1Managed();
     byte[] SignedHashValue = RSAFormatter.CreateSignature(SHhash.ComputeHash(new UnicodeEncoding().GetBytes(textToSign)));
     string signature = System.Convert.ToBase64String(SignedHashValue);
     return signature;
 }
开发者ID:fiveohhh,项目名称:Client-Tracker,代码行数:11,代码来源:Encryption.cs


示例15: GenerateLicense

        public static void GenerateLicense(int months)
        {
            // The license key, it must be 20 bytes long to be compatible with RSA
            string licenseKey = DateTime.Now.Date.AddMonths(months).ToShortDateString();
            // If a current license exists, add the new license length onto the old one.
            if (File.Exists(Environment.CurrentDirectory + @"\licenseinfo.xml"))
            {
                XmlDocument licenseFile = new XmlDocument();
                licenseFile.Load(Environment.CurrentDirectory + @"\licenseinfo.xml");
                string savedLicenseKey = licenseFile.DocumentElement.SelectSingleNode(@"/LicenseInfo/KEY").InnerText;
                string licenseExpiry = savedLicenseKey.Substring(0, savedLicenseKey.LastIndexOf(@"/") + 5);
                if (Convert.ToDateTime(licenseExpiry) > DateTime.Today)
                {
                    licenseKey = (Convert.ToDateTime(licenseExpiry).AddMonths(months)).ToShortDateString();
                }
            }
            string machineName = Environment.MachineName;
            licenseKey += machineName;
            // Adds trailing 0's if the date+machinename is less than 20 charachters
            while (licenseKey.Length < 20)
            {
                licenseKey += "0";
            }
            // Cuts the key down to 20 charachters if the date+machinename are too large.
            licenseKey = licenseKey.Substring(0, 20);

            // Byte arrays to store the license key
            byte[] byteLicenseKey = Encoding.ASCII.GetBytes(licenseKey);

            // The RSA handling and public key creation
            RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
            RSAPKCS1SignatureFormatter rsaFormatter = new RSAPKCS1SignatureFormatter(RSA);
            rsaFormatter.SetHashAlgorithm("SHA1");
            string publicKey = RSA.ToXmlString(false);

            // The digital signature for the license
            byte[] digitalSignature = rsaFormatter.CreateSignature(byteLicenseKey);

            //An XML file that holds the public key, license key, and the Digital Signature
            XmlDocument licenseDocument = new XmlDocument();
            XmlElement parentNode = licenseDocument.CreateElement("LicenseInfo");
            licenseDocument.AppendChild(parentNode);
            XmlElement xmlDocLicenseKey = licenseDocument.CreateElement("KEY");
            xmlDocLicenseKey.InnerText = Encoding.Default.GetString(byteLicenseKey);
            parentNode.AppendChild(xmlDocLicenseKey);
            XmlElement xmlDocLicenseSignature = licenseDocument.CreateElement("SignedKey");
            xmlDocLicenseSignature.InnerText = Convert.ToBase64String(digitalSignature);
            parentNode.AppendChild(xmlDocLicenseSignature);
            XmlDocumentFragment publicKeyNode = licenseDocument.CreateDocumentFragment();
            publicKeyNode.InnerXml = publicKey;
            parentNode.AppendChild(publicKeyNode);
            licenseDocument.Save(Environment.CurrentDirectory + @"\licenseinfo.xml");
        }
开发者ID:JordanVlieg,项目名称:LicenseEnforcement,代码行数:53,代码来源:LicenseConfirm.cs


示例16: CreateFormatter

        public override AsymmetricSignatureFormatter CreateFormatter(AsymmetricAlgorithm key)
        {
            if (key == null)
            {
                throw new Exception("Invalid key specified for RSAPKCS1SHA256SignatureDescription!");
            }

            RSAPKCS1SignatureFormatter formatter = new RSAPKCS1SignatureFormatter(key);
            formatter.SetHashAlgorithm("SHA256");

            return formatter;
        }
开发者ID:MNLGD,项目名称:IDES-Data-Preparation-Dot-Net,代码行数:12,代码来源:RSAPKCS1SHA256SignatureDescription.cs


示例17: Sign

        public byte[] Sign(byte[] securedInput, object key)
        {
            using (var sha = HashAlgorithm)
            {
                var privateKey = Ensure.Type<AsymmetricAlgorithm>(key, "RsaUsingSha alg expects key to be of AsymmetricAlgorithm type."); 

                var pkcs1 = new RSAPKCS1SignatureFormatter(privateKey);
                pkcs1.SetHashAlgorithm(hashMethod);

                return pkcs1.CreateSignature(sha.ComputeHash(securedInput));                    
            } 
        }
开发者ID:coryflucas,项目名称:jose-jwt,代码行数:12,代码来源:RsaUsingSha.cs


示例18: CalculateSignature

 /// <summary>
 /// Calculate the signature of <paramref name="data"/>
 /// </summary>
 /// <param name="data">The data to sign</param>
 /// <param name="consumerSecret">The consumer secret</param>
 /// <param name="tokenSecret">The token secret</param>
 /// <returns>The signature</returns>
 public string CalculateSignature(byte[] data, string consumerSecret, string tokenSecret)
 {
     var signatureFormatter = new RSAPKCS1SignatureFormatter(_privateKey);
     signatureFormatter.SetHashAlgorithm("SHA1");
     using (var hasher = HashAlgorithm.Create("SHA1"))
     {
         Debug.Assert(hasher != null, "hasher != null");
         var hash = hasher.ComputeHash(data);
         var signature = signatureFormatter.CreateSignature(hash);
         return Convert.ToBase64String(signature);
     }
 }
开发者ID:chesiq,项目名称:restsharp.portable,代码行数:19,代码来源:RsaSha1SignatureProvider.cs


示例19: GenerateSignature

        private string GenerateSignature(OAuthContext authContext, SigningContext signingContext)
        {
            if (signingContext.Algorithm == null) throw Error.AlgorithmPropertyNotSetOnSigningContext();

            SHA1CryptoServiceProvider sha1 = GenerateHash(signingContext);

            var formatter = new RSAPKCS1SignatureFormatter(signingContext.Algorithm);
            formatter.SetHashAlgorithm("MD5");

            byte[] signature = formatter.CreateSignature(sha1);

            return Convert.ToBase64String(signature);
        }
开发者ID:tiwariritesh7,项目名称:devdefined-tools,代码行数:13,代码来源:RsaSha1SignatureImplementation.cs


示例20: CreateDigitalSignature_SHA1

        /// <summary>
        /// デジタル署名を作成する
        /// </summary>
        /// <param name="message">署名を付けるメッセージ</param>
        /// <param name="privateKey">署名に使用する秘密鍵</param>
        /// <returns>作成された署名</returns>
        public static byte[] CreateDigitalSignature_SHA1(byte[] message, string privateKey)
        {
            byte[] hashData = SHA1.Create().ComputeHash(message);

            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
            {
                rsa.FromXmlString(privateKey);

                RSAPKCS1SignatureFormatter rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
                rsaFormatter.SetHashAlgorithm("SHA1");
                return rsaFormatter.CreateSignature(hashData);
            }
        }
开发者ID:asapo,项目名称:Profes,代码行数:19,代码来源:DigitalSignature.cs



注:本文中的System.Security.Cryptography.RSAPKCS1SignatureFormatter类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Cryptography.RSAParameters类代码示例发布时间:2022-05-26
下一篇:
C# Cryptography.RSAPKCS1SignatureDeformatter类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap