Naughter Software Logo

CryptoWrappers v1.17 A set of C++ classes to provide a complete C++ encapsulation of the various Cryptography APIs on Windows

The classes provided are: CryptoWrappers::CCertificate, CryptoWrappers::CChain, CryptoWrappers::CChainEngine, CryptoWrappers::CCRL, CryptoWrappers::CCTL, CryptoWrappers::CDefaultContext, CryptoWrappers::CHash, CryptoWrappers::CKey, CryptoWrappers::CMessage, CryptoWrappers::COCSPResponseContext, CryptoWrappers::COCSPServerResponse, CryptoWrappers::CProvider, CryptoWrappers::CStore, CryptoWrappers::CCNGHash, CryptoWrappers::CCNGKey, CryptoWrappers::CCNGKey2, CryptoWrappers::CCNGProvider, CryptoWrappers::CCNGSecret, CryptoWrappers::CCNGSecret2 & CryptoWrappers::CCNGStorageProvider.

CCertificate provides a class based encapsulation of a CryptoAPI certificate as represented by a PCCERT_CONTEXT.

CChain provides a class based encapsulation of a CryptoAPI certificate chain as represented by a PCCERT_CHAIN_CONTEXT.

CChainEngine provides a class based encapsulation of a CryptoAPI chain engine as represented by a HCERTCHAINENGINE.

CCRL provides a class based encapsulation of a CryptoAPI Certificate Revocation List as represented by a PCCRL_CONTEXT.

CCTL provides a class based encapsulation of a CryptoAPI Certificate Trust List as represented by a PCCTL_CONTEXT.

CDefaultContext provides a class based encapsulation of a CryptoAPI default context provider as represented by a HCRYPTDEFAULTCONTEXT.

CHash provides a class based encapsulation of a CryptoAPI Hash as represented by a HCRYPTHASH.

CKey provides a class based encapsulation of a CryptoAPI Key as represented by a HCRYPTKEY.

CMessage provides a class based encapsulation of a cryptographic message as represented by a HCRYPTMSG.

COCSPResponseContext provides a class based encapsulation of an online certificate status protocol (OCSP) response context as represented by a PCCERT_SERVER_OCSP_RESPONSE_CONTEXT.

COCSPServerResponse provides a class based encapsulation of an OCSP response associated with a server certificate chain as represented by a HCERT_SERVER_OCSP_RESPONSE.

CProvider provides a class based encapsulation of a CryptoAPI cryptographic service provider (CSP) as represented by a HCRYPTPROV.

CStore provides a class based encapsulation of a CryptoAPI certificate store as represented by a HCERTSTORE.

CCNGHash provides a class based encapsulation of a CNG (Cryptography Next Generation) BCrypt Hash as represented by a BCRYPT_HASH_HANDLE.

CCNGKey provides a class based encapsulation of a CNG BCrypt Key as represented by a BCRYPT_KEY_HANDLE.

CCNGKey2 provides a class based encapsulation of a CNG NCrypt Key as represented by a NCRYPT_KEY_HANDLE.

CCNGProvider provides a class based encapsulation of a CNG BCrypt algorithm provider as represented by a BCRYPT_ALG_HANDLE.

CCNGSecret provides a class based encapsulation of a CNG BCrypt secret agreement value as represented by a BCRYPT_SECRET_HANDLE.

CCNGSecret2 provides a class based encapsulation of a CNG NCrypt secret agreement value as represented by a NCRYPT_SECRET_HANDLE.

CCNGStorageProvider provides a class based encapsulation of CNG NCrypt storage provider as represented by a NCRYPT_PROV_HANDLE.

 

Features

 

The enclosed zip file contains the CryptoWrappers source code and a VC 2017 console based application which exercises all of the various classes functionality.

 

Copyright

 

Updates

v1.17 (7 May 2023)

v1.16 (26 February 2022)

v1.15 (26 January 2022)

v1.14 (4 July 2021)

v1.13 (12 April 2020)

v1.12 (2 January 2020)

v1.11 (16 December 2019)

v1.10 (20 April 2019)

v1.09 (22 August 2018)

v1.08 (12 June 2018)

v1.07 (21 December 2017)

v1.06 (27 April 2017)

V1.05 (17 April 2017)

V1.04 (12 May 2016)

V1.03 (1 November 2015)

V1.02 (31 January 2015)

V1.01 (21 September 2014)

V1.0 (1 August 2014)