CanonicalizeHeaders() private method

private CanonicalizeHeaders ( EmailHeader>.[ headers, DkimCanonicalizationAlgorithm type, bool includeSignatureHeader ) : string
headers EmailHeader>.[
type DkimCanonicalizationAlgorithm
includeSignatureHeader bool
return string
Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="email">The email to sign.</param>
        /// <returns></returns>
        public string GenerateSignature([NotNull] Email email)
        {
            if (email == null)
            {
                throw new ArgumentNullException("email");
            }

            if (email.Headers == null)
            {
                throw new ArgumentException("email headers property is null");
            }

            var headers = DkimCanonicalizer.CanonicalizeHeaders(email.Headers, this.HeaderCanonicalization, true, _headersToSign);

            //if (this.Debug != null)
            //{
            //    this.Debug.WriteContent("DKIM signature", email.Headers[SignatureKey].Value);
            //    this.Debug.WriteContent("DKIM canonicalized headers", headers);

            //}



            // assumes signature ends with "b="
            return(Convert.ToBase64String(_privateKeySigner.Sign(this.Encoding.GetBytes(headers), this.SigningAlgorithm)));
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="email">The email to sign.</param>
        /// <param name="headers"></param>
        /// <returns></returns>
        public string GenerateSignature(Email email, List <EmailHeader> headers)
        {
            var cheaders = DkimCanonicalizer.CanonicalizeHeaders(headers, HeaderCanonicalization);

            return(Convert.ToBase64String(_privateKeySigner.Sign(email.Encoding.GetBytes(cheaders))));
        }