public byte[] SignData(string dataToSign, X509Certificate2 certificate)
        {
            var data   = Encoding.UTF8.GetBytes(dataToSign);
            var signed = RSADataProtection.SignDataSHA1((RSA)certificate.PrivateKey, data);

            return(signed);
        }
        public bool VerifySignatureFromBase64(string data, string signed, X509Certificate2 certificate)
        {
            var dataBytes   = Encoding.UTF8.GetBytes(data);
            var signedBytes = Convert.FromBase64String(signed);
            var verified    = RSADataProtection.VerifyDataSHA1Signed((RSA)certificate.PublicKey.Key, dataBytes, signedBytes);

            return(verified);
        }
Пример #3
0
        public bool VerifySignatureFromBase64(string data, string signed, CertificateContext certContext)
        {
            var dataBytes   = Encoding.UTF8.GetBytes(data);
            var signedBytes = Convert.FromBase64String(signed);

            var cert     = this.GetCertificateFromContext(certContext);
            var verified = RSADataProtection.VerifyDataSHA1Signed((RSA)cert.PrivateKey, dataBytes, signedBytes);

            return(verified);
        }
Пример #4
0
        public string SignToBase64(string dataToSign, CertificateContext certContext)
        {
            this._logProvider.LogMessage(String.Format("Signing data with certificate from context: {0}", certContext.ToString()));
            var data   = Encoding.UTF8.GetBytes(dataToSign);
            var cert   = this.GetCertificateFromContext(certContext);
            var signed = RSADataProtection.SignDataSHA1((RSA)cert.PrivateKey, data);

            var base64 = Convert.ToBase64String(signed);

            return(base64);
        }
Пример #5
0
        private StringBuilder SignData(StringBuilder sb)
        {
            //Todo: use configuration
            var cert       = this._certificateManager.GetCertificate(@"D:\Dan\Software\Apira\Certificates\TestCertificates\ApiraTestCert.pfx", StringExtensions.ToSecureString("Password1"));
            var dataToSign = Encoding.UTF8.GetBytes(sb.ToString());

            var signed = RSADataProtection.SignDataSHA1((RSA)cert.PrivateKey, dataToSign);

            var base64  = Convert.ToBase64String(signed);
            var escaped = Uri.EscapeDataString(this.UpperCaseUrlEncode(base64));

            sb.AppendFormat("&{0}={1}", HttpRedirectBindingConstants.Signature, escaped);
            return(sb);
        }