#include <WinCAPICryptoProvider.hpp>
Inheritance diagram for WinCAPICryptoProvider:
Windows CAPI Specific methods | |
HCRYPTPROV | getProviderDSS (void) |
Returns the Crypto Provider being used for DSS. | |
HCRYPTPROV | getProviderRSA (void) |
Returns the Provider being used for RSA functions. | |
HCRYPTPROV | getApacheKeyStore (void) |
Return the internal key store provider. | |
virtual bool | algorithmSupported (XSECCryptoSymmetricKey::SymmetricKeyType alg) |
Determine whether a given algorithm is supported. | |
virtual bool | algorithmSupported (XSECCryptoHash::HashType alg) |
Determine whether a given algorithm is supported. | |
virtual XSECCryptoSymmetricKey * | keySymmetric (XSECCryptoSymmetricKey::SymmetricKeyType alg) |
Return a Symmetric Key implementation object. | |
virtual unsigned int | getRandom (unsigned char *buffer, unsigned int numOctets) |
Obtain some random octets. | |
static BYTE * | b642WinBN (const char *b64, unsigned int b64Len, unsigned int &retLen) |
Translate B64 I2OS integer to a WinCAPI int. | |
static unsigned char * | WinBN2b64 (BYTE *n, DWORD nLen, unsigned int &retLen) |
Translate a WinCAPI int to a B64 I2OS integer . | |
Public Member Functions | |
Constructors and Destructors | |
WinCAPICryptoProvider (LPCSTR provDSSName=NULL, LPCSTR provRSAName=NULL, DWORD dwFlags=0) | |
Create a Windows CAPI interface layer. | |
virtual | ~WinCAPICryptoProvider () |
Hashing (Digest) Functions | |
virtual XSECCryptoHash * | hashSHA1 () |
Return a SHA1 implementation. | |
virtual XSECCryptoHash * | hashSHA (int length=160) |
Return a SHA implementation. | |
virtual XSECCryptoHash * | hashHMACSHA1 () |
Return a HMAC SHA1 implementation. | |
virtual XSECCryptoHash * | hashHMACSHA (int length=160) |
Return a HMAC SHA(1-512) implementation. | |
virtual XSECCryptoHash * | hashMD5 () |
Return a MD5 implementation. | |
virtual XSECCryptoHash * | hashHMACMD5 () |
Return a HMAC MD5 implementation. | |
virtual XSECCryptoKeyHMAC * | keyHMAC (void) |
Return a HMAC key. | |
Encoding functions | |
virtual XSECCryptoBase64 * | base64 () |
Return a Base64 encoder/decoder implementation. | |
Keys and Certificates | |
virtual XSECCryptoKeyDSA * | keyDSA () |
Return a DSA key implementation object. | |
virtual XSECCryptoKeyRSA * | keyRSA () |
Return an RSA key implementation object. | |
virtual XSECCryptoX509 * | X509 () |
Return an X509 implementation object. | |
Information Functions | |
virtual const XMLCh * | getProviderName () |
Returns a string that identifies the Crypto Provider. |
|
Create a Windows CAPI interface layer. Windows CSPs work under a provider model. The user should specify which CSP to use.
|
|
|
|
Determine whether a given algorithm is supported. A call that can be used to determine whether a given digest algorithm is supported Implements XSECCryptoProvider. |
|
Determine whether a given algorithm is supported. A call that can be used to determine whether a given symmetric algorithm is supported Implements XSECCryptoProvider. |
|
Translate B64 I2OS integer to a WinCAPI int. Decodes a Base64 (ds:CryptoBinary) integer and reverses the order to allow loading into a Windows CAPI function. (CAPI uses Little Endian storage of integers).
|
|
Return a Base64 encoder/decoder implementation. Call used by the library to obtain a Base64 encoder/decoder.
Implements XSECCryptoProvider. |
|
Return the internal key store provider.
|
|
Returns the Crypto Provider being used for DSS.
|
|
Returns a string that identifies the Crypto Provider.
Implements XSECCryptoProvider. |
|
Returns the Provider being used for RSA functions.
|
|
Obtain some random octets. For generation of IVs and the like, the library needs to be able to obtain "random" octets. The library uses this call to the crypto provider to obtain what it needs.
Implements XSECCryptoProvider. |
|
Return a HMAC MD5 implementation. Call used by the library to obtain a HMAC MD5 object from the provider. The caller will need to set the key in the hash object with an XSECCryptoKeyHMAC using XSECCryptoHash::setKey()
Implements XSECCryptoProvider. |
|
Return a HMAC SHA(1-512) implementation. Call used by the library to obtain a HMAC SHA object from the provider. The caller will need to set the key in the hash object with an XSECCryptoKeyHMAC using XSECCryptoHash::setKey()
Implements XSECCryptoProvider. |
|
Return a HMAC SHA1 implementation. Call used by the library to obtain a HMAC SHA1 object from the provider. The caller will need to set the key in the hash object with an XSECCryptoKeyHMAC using WinCAPICryptoHash::setKey()
Implements XSECCryptoProvider. |
|
Return a MD5 implementation. Call used by the library to obtain a MD5 object from the WiNCAPI provider.
Implements XSECCryptoProvider. |
|
Return a SHA implementation. Call used by the library to obtain a SHA object from the provider. Size of hash determined by length argument (160 = SHA1)
Implements XSECCryptoProvider. |
|
Return a SHA1 implementation. Call used by the library to obtain a SHA1 object from the provider.
Implements XSECCryptoProvider. |
|
Return a DSA key implementation object. Call used by the library to obtain a DSA key object.
Implements XSECCryptoProvider. |
|
Return a HMAC key. Sometimes the library needs to create an HMAC key (notably within the XKMS utilities. This function allows the library to obtain a key that can then have a value set within it. Implements XSECCryptoProvider. |
|
Return an RSA key implementation object. Call used by the library to obtain an WinCAPI RSA key object.
Implements XSECCryptoProvider. |
|
Return a Symmetric Key implementation object. Call used by the library to obtain a bulk encryption object.
Implements XSECCryptoProvider. |
|
Translate a WinCAPI int to a B64 I2OS integer . Encodes a Windows integer in I2OSP base64 encoded format.
|
|
Return an X509 implementation object. Call used by the library to obtain an object that can work with X509 certificates.
Implements XSECCryptoProvider. |