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