コード例 #1
0
        public static void SetEncryptedValidationToken(NameValueCollection headers, string postString, string publicKey)
        {
            EncryptedValidationToken token = CreateEncryptedValidationToken(postString, publicKey);

            headers[CustomHeaders.Nonce]           = token.NonceCipher;
            headers[CustomHeaders.ValidationToken] = token.HashCipher;
        }
コード例 #2
0
        public static EncryptedTokenValidationStatus ValidateEncryptedToken(NameValueCollection headers, string plainPost, bool usePkcsPadding = false)
        {
            SecureSession            session = SecureSession.Get(headers);
            EncryptedValidationToken token   = ReadEncryptedValidationToken(headers);

            return(ValidateEncryptedToken(session, token, plainPost, usePkcsPadding));
        }
コード例 #3
0
        public static EncryptedValidationToken ReadEncryptedValidationToken(NameValueCollection headers)
        {
            EncryptedValidationToken result = new EncryptedValidationToken();

            result.NonceCipher = headers[Headers.Nonce];
            result.HashCipher  = headers[Headers.ValidationToken];
            Args.ThrowIfNull(result.NonceCipher, Headers.Nonce);
            Args.ThrowIf <EncryptionValidationTokenNotFoundException>(
                result.HashCipher == null || string.IsNullOrEmpty(result.HashCipher),
                "Header was not found: {0}",
                Headers.ValidationToken);
            return(result);
        }
コード例 #4
0
        public static EncryptedTokenValidationStatus ValidateEncryptedToken(SecureSession session, EncryptedValidationToken token, string plainPost, bool usePkcsPadding = false)
        {
            Args.ThrowIfNull(session, "session");
            Args.ThrowIfNull(token, "token");

            return(ValidateEncrtypedToken(session, token.HashCipher, token.NonceCipher, plainPost, usePkcsPadding));
        }