CryptoSpi::MPluginSelector Class Reference

class CryptoSpi::MPluginSelector

Base class for the selectors

Public Member Functions
~MPluginSelector ()
void CreateAsymmetricCipherL (CAsymmetricCipher *&, TUid , const CKey &, TUid , TUid , const CCryptoParams *)
void CreateAsyncAsymmetricCipherL (CAsyncAsymmetricCipher *&, TUid , const CKey &, TUid , TUid , const CCryptoParams *)
void CreateAsyncHashL (CAsyncHash *&, TUid , TUid , const CKey *, const CCryptoParams *)
void CreateAsyncKeyAgreementL (CAsyncKeyAgreement *&, TUid , const CKey &, const CCryptoParams *)
void CreateAsyncKeyPairGeneratorL (CAsyncKeyPairGenerator *&, TUid , const CCryptoParams *)
void CreateAsyncRandomL (CAsyncRandom *&, TUid , const CCryptoParams *)
void CreateAsyncSignerL (CAsyncSigner *&, TUid , const CKey &, TUid , const CCryptoParams *)
void CreateAsyncSymmetricCipherL (CAsyncSymmetricCipher *&, TUid , const CKey &, TUid , TUid , TUid , const CCryptoParams *)
void CreateAsyncVerifierL (CAsyncVerifier *&, TUid , const CKey &, TUid , const CCryptoParams *)
void CreateHashL (CHash *&, TUid , TUid , const CKey *, const CCryptoParams *)
void CreateKeyAgreementL (CKeyAgreement *&, TUid , const CKey &, const CCryptoParams *)
void CreateKeyPairGeneratorL (CKeyPairGenerator *&, TUid , const CCryptoParams *)
void CreateRandomL (CRandom *&, TUid , const CCryptoParams *)
void CreateSignerL (CSigner *&, TUid , const CKey &, TUid , const CCryptoParams *)
void CreateSymmetricCipherL (CSymmetricCipher *&, TUid , const CKey &, TUid , TUid , TUid , const CCryptoParams *)
void CreateVerifierL (CVerifier *&, TUid , const CKey &, TUid , const CCryptoParams *)

Constructor & Destructor Documentation

~MPluginSelector()

~MPluginSelector ( ) [inline, pure virtual]

Destructor

Member Functions Documentation

CreateAsymmetricCipherL(CAsymmetricCipher *&, TUid, const CKey &, TUid, TUid, const CCryptoParams *)

void CreateAsymmetricCipherL ( CAsymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of an asymmetric cipher

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsymmetricCipher *& aCipher A reference to a pointer that should be set to point to the new asymmetric cipher object.
TUid aAlgorithmUid The asymmetric cipher algorithm to use (e.g. KRsaCipherUid)
const CKey & aKey The encryption/decryption key.
TUid aCryptoMode whether to encrypt or decrypt
TUid aPaddingMode The padding mode to use
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncAsymmetricCipherL(CAsyncAsymmetricCipher *&, TUid, const CKey &, TUid, TUid, const CCryptoParams *)

void CreateAsyncAsymmetricCipherL ( CAsyncAsymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of an asynchronous asymmetric cipher

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncAsymmetricCipher *& aCipher A reference to a pointer that should be set to point to the new asymmetric cipher object.
TUid aAlgorithmUid The asymmetric cipher algorithm to use (e.g. KRsaCipherUid)
const CKey & aKey The encryption/decryption key.
TUid aCryptoMode whether to encrypt or decrypt
TUid aPaddingMode The padding mode to use
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncHashL(CAsyncHash *&, TUid, TUid, const CKey *, const CCryptoParams *)

void CreateAsyncHashL ( CAsyncHash *& aHash,
TUid aAlgorithmUid,
TUid aOperationMode,
const CKey * aKey,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Create a new instance of a asynchronous hash object

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncHash *& aHash The pointer to CHash
TUid aAlgorithmUid The specific hash algorithm e.g. MD2, SHA1
TUid aOperationMode The operation mode of the hash e.g. Hash mode, Hmac mode
const CKey * aKey The key for Hmac mode, which should be NULL in Hash mode
const CCryptoParams * aAlgorithmParams The parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncKeyAgreementL(CAsyncKeyAgreement *&, TUid, const CKey &, const CCryptoParams *)

void CreateAsyncKeyAgreementL ( CAsyncKeyAgreement *& aKeyAgreement,
TUid aAlgorithmUid,
const CKey & aPrivateKey,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a asynchronous key agreement system.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncKeyAgreement *& aKeyAgreement A reference to a pointer that should be set to point to the new key agreement object.
TUid aAlgorithmUid The algorithm to use
const CKey & aPrivateKey The private key to combine with the other parties public key during the agreement.
const CCryptoParams * aAlgorithmParams The parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncKeyPairGeneratorL(CAsyncKeyPairGenerator *&, TUid, const CCryptoParams *)

void CreateAsyncKeyPairGeneratorL ( CAsyncKeyPairGenerator *& aKeyPairGenerator,
TUid aAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a asynchronous key pair generator.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncKeyPairGenerator *& aKeyPairGenerator A reference to a pointer that should be set to point to the new asymmetric key pair generator object.
TUid aAlgorithmUid
const CCryptoParams * aAlgorithmParams The parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncRandomL(CAsyncRandom *&, TUid, const CCryptoParams *)

void CreateAsyncRandomL ( CAsyncRandom *& aRandom,
TUid aAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a asynchronous random object.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncRandom *& aRandom A reference to a pointer that should be set to point to the new CRandom object.
TUid aAlgorithmUid The algorithm to use
const CCryptoParams * aAlgorithmParams Parameters that are specific this algorithm.

CreateAsyncSignerL(CAsyncSigner *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateAsyncSignerL ( CAsyncSigner *& aSigner,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a asynchronous signer.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncSigner *& aSigner A reference to a pointer that should be set to point to the new signer object.
TUid aAlgorithmUid The algorithm to use.
const CKey & aKey The signing key.
TUid aPaddingMode The padding mode of the signer.
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncSymmetricCipherL(CAsyncSymmetricCipher *&, TUid, const CKey &, TUid, TUid, TUid, const CCryptoParams *)

void CreateAsyncSymmetricCipherL ( CAsyncSymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aOperationMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new synchronous instance of a asynchronous symmetric cipher

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncSymmetricCipher *& aCipher A reference to a pointer that should be set to point to the new symmetric object.
TUid aAlgorithmUid The algorithm to use
const CKey & aKey The encryption/decryption key.
TUid aCryptoMode The Symmetric cipher mode.
TUid aOperationMode The Symmetric cipher operation mode.
TUid aPaddingMode The Symmetric cipher padding mode.
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateAsyncVerifierL(CAsyncVerifier *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateAsyncVerifierL ( CAsyncVerifier *& aVerifier,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a asynchronous verifier.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CAsyncVerifier *& aVerifier A reference to a pointer that should be set to point to the new verifier object.
TUid aAlgorithmUid The algorithm to use
const CKey & aKey The key to verify the signature with.
TUid aPaddingMode The padding mode of the signer.
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateHashL(CHash *&, TUid, TUid, const CKey *, const CCryptoParams *)

void CreateHashL ( CHash *& aHash,
TUid aAlgorithmUid,
TUid aOperationMode,
const CKey * aKey,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Create a new instance of a hash object

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CHash *& aHash The pointer to CHash
TUid aAlgorithmUid The specific hash algorithm e.g. MD2, SHA1
TUid aOperationMode The operation mode of the hash e.g. Hash mode, Hmac mode
const CKey * aKey The key for Hmac mode, which should be NULL in Hash mode
const CCryptoParams * aAlgorithmParams The parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateKeyAgreementL(CKeyAgreement *&, TUid, const CKey &, const CCryptoParams *)

void CreateKeyAgreementL ( CKeyAgreement *& aKeyAgreement,
TUid aAlgorithmUid,
const CKey & aPrivateKey,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a key agreement system.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CKeyAgreement *& aKeyAgreement A reference to a pointer that should be set to point to the new key agreement object.
TUid aAlgorithmUid The algorithm to use
const CKey & aPrivateKey The private key to combine with the other parties public key during the agreement.
const CCryptoParams * aAlgorithmParams The parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateKeyPairGeneratorL(CKeyPairGenerator *&, TUid, const CCryptoParams *)

void CreateKeyPairGeneratorL ( CKeyPairGenerator *& aKeyPairGenerator,
TUid aKeyAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a key pair generator.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CKeyPairGenerator *& aKeyPairGenerator A reference to a pointer that should be set to point to the new asymmetric key pair generator object.
TUid aKeyAlgorithmUid The algorithm UID
const CCryptoParams * aAlgorithmParams The parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateRandomL(CRandom *&, TUid, const CCryptoParams *)

void CreateRandomL ( CRandom *& aRandom,
TUid aAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a Random object.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CRandom *& aRandom A reference to a pointer that should be set to point to the new CRandom object.
TUid aAlgorithmUid The algorithm to use
const CCryptoParams * aAlgorithmParams Parameters that are specific this algorithm.

CreateSignerL(CSigner *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateSignerL ( CSigner *& aSigner,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a synchronous signer.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CSigner *& aSigner A reference to a pointer that should be set to point to the new signer object.
TUid aAlgorithmUid The algorithm to use.
const CKey & aKey The signing key.
TUid aPaddingMode The padding mode of the signer.
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateSymmetricCipherL(CSymmetricCipher *&, TUid, const CKey &, TUid, TUid, TUid, const CCryptoParams *)

void CreateSymmetricCipherL ( CSymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aOperationMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new synchronous instance of a symmetric cipher

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CSymmetricCipher *& aCipher A reference to a pointer that should be set to point to the new symmetric object.
TUid aAlgorithmUid The algorithm to use
const CKey & aKey The encryption/decryption key.
TUid aCryptoMode The Symmetric cipher mode.
TUid aOperationMode The Symmetric cipher operation mode.
TUid aPaddingMode The Symmetric cipher padding mode.
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

CreateVerifierL(CVerifier *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateVerifierL ( CVerifier *& aVerifier,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [pure virtual]

Creates a new instance of a verifier.

leave
KErrNone if successful; otherwise, a system wide error code.

Parameters

CVerifier *& aVerifier A reference to a pointer that should be set to point to the new verifier object.
TUid aAlgorithmUid The algorithm to use
const CKey & aKey The key to verify the signature with.
TUid aPaddingMode The padding mode of the signer.
const CCryptoParams * aAlgorithmParams Parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.