10Duke Enterprise C++ Client
Loading...
Searching...
No Matches
WinCNGMessageDigestVerifier.h
1#ifndef TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGESTVERIFIER_H
2#define TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGESTVERIFIER_H
3
4#include "crypto/MessageDigestVerifier.h"
5#include "./WinCNGPublicKey.h"
6
7#include <memory>
8
9namespace tenduke { namespace crypto { namespace win { namespace cng {
10
14class WinCNGMessageDigestVerifier : public ::tenduke::crypto::MessageDigestVerifier
15{
16public:
17 WinCNGMessageDigestVerifier(
18 const ::tenduke::crypto::win::cng::WinCNGPublicKey &verificationKey,
19 std::unique_ptr<::tenduke::crypto::MessageDigest> messageDigest,
20 ::LPCWSTR paddingAlgorithmId
21 );
22
23 // ::tenduke::crypto::MessageDigestVerifier implementation
24public:
25 bool verify(
26 const void *message,
27 std::size_t messageLength,
28 const void *signature,
29 std::size_t signatureLength
30 ) override;
31
32private:
33 const ::tenduke::crypto::win::cng::WinCNGPublicKey &verificationKey;
34 std::unique_ptr<::tenduke::crypto::MessageDigest> messageDigest;
35 const ::LPCWSTR paddingAlgorithmId;
36};
37
38}}}}
39
40#endif //TENDUKE_CRYPTO_WIN_CNG_WINCNGMESSAGEDIGESTVERIFIER_H
Verifies message by computing digest for message and comparing the computed signature to the provided...
Definition MessageDigestVerifier.h:17
bool verify(const void *message, std::size_t messageLength, const void *signature, std::size_t signatureLength) override
Verifies the digest.
Definition WinCNGMessageDigestVerifier.cpp:16
Cryptography services.
Definition CryptoException.h:7
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4