struct CCL::Security::Crypto::Internal::ICryptoService
Overview
Helper methods for crypto class implementation. More…
#include <icryptoservice.h> struct ICryptoService: public CCL::IUnknown { // methods virtual tresult CCL_API RNG_generate (BlockRef randomData) = 0; virtual tresult CCL_API MD5_calculate ( BlockRef digest, IStream& data, IProgressNotify* progress = nullptr ) = 0; virtual tresult CCL_API SHA1_calculate ( BlockRef digest, IStream& data, IProgressNotify* progress = nullptr ) = 0; virtual tresult CCL_API SHA256_calculate ( BlockRef digest, IStream& data, IProgressNotify* progress = nullptr ) = 0; virtual tresult CCL_API HMAC_SHA1_sign ( IStream& signature, BlockRef key, IStream& data ) = 0; virtual tresult CCL_API HMAC_SHA256_sign ( IStream& signature, BlockRef key, IStream& data ) = 0; virtual tresult CCL_API HKDF_deriveKey ( IStream& _derivedKey, uint32 derivedKeyLength, BlockRef secret, BlockRef salt, BlockRef info ) = 0; virtual tresult CCL_API AES_encrypt ( IStream& cipherData, BlockRef key, BlockRef iv, IStream& plainData, BlockCipherMode mode ) = 0; virtual tresult CCL_API AES_decrypt ( IStream& plainData, BlockRef key, BlockRef iv, IStream& cipherData, BlockCipherMode mode ) = 0; virtual tresult CCL_API RSA_generateKeyPair ( IStream& privateKey, IStream& publicKey, uint32 keyLength, BlockRef randomData ) = 0; virtual tresult CCL_API RSA_encrypt ( IStream& cipherData, IStream& publicKey, BlockRef randomData, IStream& plainData ) = 0; virtual tresult CCL_API RSA_decrypt ( IStream& plainData, IStream& privateKey, IStream& cipherData ) = 0; virtual tresult CCL_API RSA_sign ( IStream& signature, IStream& privateKey, IStream& data, Hash hash ) = 0; virtual tresult CCL_API RSA_verify ( IStream& data, IStream& publicKey, IStream& signature, Hash hash ) = 0; virtual tresult CCL_API BER_decode ( IASN1ContentHandler& reader, IStream& encodedData ) = 0; virtual tresult CCL_API DER_encode ( IStream& encodedData, int tag, IStream& content ) = 0; virtual tresult CCL_API PKCS7_decodeData ( IASN1ContentHandler& reader, IStream& encodedData ) = 0; virtual tresult CCL_API PKCS7_getCertificates ( IStream& certficates, IStream& encodedData ) = 0; virtual IInteger*CCL_API Integer_create () = 0; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0;
Detailed Documentation
Helper methods for crypto class implementation.
Do not use this interface directly.
Methods
virtual tresult CCL_API RNG_generate (BlockRef randomData) = 0
Generate random data.
virtual tresult CCL_API MD5_calculate ( BlockRef digest, IStream& data, IProgressNotify* progress = nullptr ) = 0
[MD5] Calculate digest from data stream - DEPRECATED.
virtual tresult CCL_API SHA1_calculate ( BlockRef digest, IStream& data, IProgressNotify* progress = nullptr ) = 0
[SHA1] Calculate digest from data stream.
virtual tresult CCL_API SHA256_calculate ( BlockRef digest, IStream& data, IProgressNotify* progress = nullptr ) = 0
[SHA256] Calculate digest from data stream.
virtual tresult CCL_API HMAC_SHA1_sign ( IStream& signature, BlockRef key, IStream& data ) = 0
[HMAC-SHA1] Sign data.
virtual tresult CCL_API HMAC_SHA256_sign ( IStream& signature, BlockRef key, IStream& data ) = 0
[HMAC-SHA256] Sign data.
virtual tresult CCL_API AES_encrypt ( IStream& cipherData, BlockRef key, BlockRef iv, IStream& plainData, BlockCipherMode mode ) = 0
[AES] Encrypt data.
virtual tresult CCL_API AES_decrypt ( IStream& plainData, BlockRef key, BlockRef iv, IStream& cipherData, BlockCipherMode mode ) = 0
[AES] Decrypt data.
virtual tresult CCL_API RSA_generateKeyPair ( IStream& privateKey, IStream& publicKey, uint32 keyLength, BlockRef randomData ) = 0
[RSA] Generate private/public key pair.
virtual tresult CCL_API RSA_encrypt ( IStream& cipherData, IStream& publicKey, BlockRef randomData, IStream& plainData ) = 0
[RSA] Encrypt data.
virtual tresult CCL_API RSA_decrypt ( IStream& plainData, IStream& privateKey, IStream& cipherData ) = 0
[RSA] Decrypt data.
virtual tresult CCL_API RSA_sign ( IStream& signature, IStream& privateKey, IStream& data, Hash hash ) = 0
[RSA] Sign data.
virtual tresult CCL_API RSA_verify ( IStream& data, IStream& publicKey, IStream& signature, Hash hash ) = 0
[RSA] Verify data.
virtual tresult CCL_API BER_decode ( IASN1ContentHandler& reader, IStream& encodedData ) = 0
Parse ASN.1 encoded data (Basic Encoding Rules)
virtual tresult CCL_API DER_encode ( IStream& encodedData, int tag, IStream& content ) = 0
Write ASN.1 encoded data (Distinguished Encoding Rules)
virtual tresult CCL_API PKCS7_decodeData ( IASN1ContentHandler& reader, IStream& encodedData ) = 0
Parse the ASN.1 payload from a PKCS #7 container.
virtual tresult CCL_API PKCS7_getCertificates ( IStream& certficates, IStream& encodedData ) = 0
Get an X.509 certificate (chain) from a PKCS #7 container.
virtual IInteger*CCL_API Integer_create () = 0
Create new integer instance.