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); }
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); }
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); }
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); }