CryptoSpi::MPluginSelector Class Reference

class CryptoSpi::MPluginSelector

Base class for the selectors

Public Member Functions
~MPluginSelector()
voidCreateAsymmetricCipherL(CAsymmetricCipher *&, TUid, const CKey &, TUid, TUid, const CCryptoParams *)
voidCreateAsyncAsymmetricCipherL(CAsyncAsymmetricCipher *&, TUid, const CKey &, TUid, TUid, const CCryptoParams *)
voidCreateAsyncHashL(CAsyncHash *&, TUid, TUid, const CKey *, const CCryptoParams *)
voidCreateAsyncKeyAgreementL(CAsyncKeyAgreement *&, TUid, const CKey &, const CCryptoParams *)
voidCreateAsyncKeyPairGeneratorL(CAsyncKeyPairGenerator *&, TUid, const CCryptoParams *)
voidCreateAsyncRandomL(CAsyncRandom *&, TUid, const CCryptoParams *)
voidCreateAsyncSignerL(CAsyncSigner *&, TUid, const CKey &, TUid, const CCryptoParams *)
voidCreateAsyncSymmetricCipherL(CAsyncSymmetricCipher *&, TUid, const CKey &, TUid, TUid, TUid, const CCryptoParams *)
voidCreateAsyncVerifierL(CAsyncVerifier *&, TUid, const CKey &, TUid, const CCryptoParams *)
voidCreateHashL(CHash *&, TUid, TUid, const CKey *, const CCryptoParams *)
voidCreateKeyAgreementL(CKeyAgreement *&, TUid, const CKey &, const CCryptoParams *)
voidCreateKeyPairGeneratorL(CKeyPairGenerator *&, TUid, const CCryptoParams *)
voidCreateRandomL(CRandom *&, TUid, const CCryptoParams *)
voidCreateSignerL(CSigner *&, TUid, const CKey &, TUid, const CCryptoParams *)
voidCreateSymmetricCipherL(CSymmetricCipher *&, TUid, const CKey &, TUid, TUid, TUid, const CCryptoParams *)
voidCreateVerifierL(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 *)

voidCreateAsymmetricCipherL(CAsymmetricCipher *&aCipher,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaCryptoMode,
TUidaPaddingMode,
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 *& aCipherA reference to a pointer that should be set to point to the new asymmetric cipher object.
TUid aAlgorithmUidThe asymmetric cipher algorithm to use (e.g. KRsaCipherUid)
const CKey & aKeyThe encryption/decryption key.
TUid aCryptoModewhether to encrypt or decrypt
TUid aPaddingModeThe padding mode to use
const CCryptoParams * aAlgorithmParamsParameters 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 *)

voidCreateAsyncAsymmetricCipherL(CAsyncAsymmetricCipher *&aCipher,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaCryptoMode,
TUidaPaddingMode,
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 *& aCipherA reference to a pointer that should be set to point to the new asymmetric cipher object.
TUid aAlgorithmUidThe asymmetric cipher algorithm to use (e.g. KRsaCipherUid)
const CKey & aKeyThe encryption/decryption key.
TUid aCryptoModewhether to encrypt or decrypt
TUid aPaddingModeThe padding mode to use
const CCryptoParams * aAlgorithmParamsParameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateAsyncHashL(CAsyncHash *&aHash,
TUidaAlgorithmUid,
TUidaOperationMode,
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 *& aHashThe pointer to CHash
TUid aAlgorithmUidThe specific hash algorithm e.g. MD2, SHA1
TUid aOperationModeThe operation mode of the hash e.g. Hash mode, Hmac mode
const CKey * aKeyThe key for Hmac mode, which should be NULL in Hash mode
const CCryptoParams * aAlgorithmParamsThe parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateAsyncKeyAgreementL(CAsyncKeyAgreement *&aKeyAgreement,
TUidaAlgorithmUid,
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 *& aKeyAgreementA reference to a pointer that should be set to point to the new key agreement object.
TUid aAlgorithmUidThe algorithm to use
const CKey & aPrivateKeyThe private key to combine with the other parties public key during the agreement.
const CCryptoParams * aAlgorithmParamsThe parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateAsyncKeyPairGeneratorL(CAsyncKeyPairGenerator *&aKeyPairGenerator,
TUidaAlgorithmUid,
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 *& aKeyPairGeneratorA reference to a pointer that should be set to point to the new asymmetric key pair generator object.
TUid aAlgorithmUid
const CCryptoParams * aAlgorithmParamsThe parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateAsyncRandomL(CAsyncRandom *&aRandom,
TUidaAlgorithmUid,
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 *& aRandomA reference to a pointer that should be set to point to the new CRandom object.
TUid aAlgorithmUidThe algorithm to use
const CCryptoParams * aAlgorithmParamsParameters that are specific this algorithm.

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

voidCreateAsyncSignerL(CAsyncSigner *&aSigner,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaPaddingMode,
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 *& aSignerA reference to a pointer that should be set to point to the new signer object.
TUid aAlgorithmUidThe algorithm to use.
const CKey & aKeyThe signing key.
TUid aPaddingModeThe padding mode of the signer.
const CCryptoParams * aAlgorithmParamsParameters 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 *)

voidCreateAsyncSymmetricCipherL(CAsyncSymmetricCipher *&aCipher,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaCryptoMode,
TUidaOperationMode,
TUidaPaddingMode,
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 *& aCipherA reference to a pointer that should be set to point to the new symmetric object.
TUid aAlgorithmUidThe algorithm to use
const CKey & aKeyThe encryption/decryption key.
TUid aCryptoModeThe Symmetric cipher mode.
TUid aOperationModeThe Symmetric cipher operation mode.
TUid aPaddingModeThe Symmetric cipher padding mode.
const CCryptoParams * aAlgorithmParamsParameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateAsyncVerifierL(CAsyncVerifier *&aVerifier,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaPaddingMode,
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 *& aVerifierA reference to a pointer that should be set to point to the new verifier object.
TUid aAlgorithmUidThe algorithm to use
const CKey & aKeyThe key to verify the signature with.
TUid aPaddingModeThe padding mode of the signer.
const CCryptoParams * aAlgorithmParamsParameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateHashL(CHash *&aHash,
TUidaAlgorithmUid,
TUidaOperationMode,
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 *& aHashThe pointer to CHash
TUid aAlgorithmUidThe specific hash algorithm e.g. MD2, SHA1
TUid aOperationModeThe operation mode of the hash e.g. Hash mode, Hmac mode
const CKey * aKeyThe key for Hmac mode, which should be NULL in Hash mode
const CCryptoParams * aAlgorithmParamsThe parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateKeyAgreementL(CKeyAgreement *&aKeyAgreement,
TUidaAlgorithmUid,
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 *& aKeyAgreementA reference to a pointer that should be set to point to the new key agreement object.
TUid aAlgorithmUidThe algorithm to use
const CKey & aPrivateKeyThe private key to combine with the other parties public key during the agreement.
const CCryptoParams * aAlgorithmParamsThe parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateKeyPairGeneratorL(CKeyPairGenerator *&aKeyPairGenerator,
TUidaKeyAlgorithmUid,
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 *& aKeyPairGeneratorA reference to a pointer that should be set to point to the new asymmetric key pair generator object.
TUid aKeyAlgorithmUidThe algorithm UID
const CCryptoParams * aAlgorithmParamsThe parameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateRandomL(CRandom *&aRandom,
TUidaAlgorithmUid,
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 *& aRandomA reference to a pointer that should be set to point to the new CRandom object.
TUid aAlgorithmUidThe algorithm to use
const CCryptoParams * aAlgorithmParamsParameters that are specific this algorithm.

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

voidCreateSignerL(CSigner *&aSigner,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaPaddingMode,
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 *& aSignerA reference to a pointer that should be set to point to the new signer object.
TUid aAlgorithmUidThe algorithm to use.
const CKey & aKeyThe signing key.
TUid aPaddingModeThe padding mode of the signer.
const CCryptoParams * aAlgorithmParamsParameters 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 *)

voidCreateSymmetricCipherL(CSymmetricCipher *&aCipher,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaCryptoMode,
TUidaOperationMode,
TUidaPaddingMode,
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 *& aCipherA reference to a pointer that should be set to point to the new symmetric object.
TUid aAlgorithmUidThe algorithm to use
const CKey & aKeyThe encryption/decryption key.
TUid aCryptoModeThe Symmetric cipher mode.
TUid aOperationModeThe Symmetric cipher operation mode.
TUid aPaddingModeThe Symmetric cipher padding mode.
const CCryptoParams * aAlgorithmParamsParameters that are specific to a particular algorithm. This is for extendibility and will normally be null.

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

voidCreateVerifierL(CVerifier *&aVerifier,
TUidaAlgorithmUid,
const CKey &aKey,
TUidaPaddingMode,
const CCryptoParams *aAlgorithmParams
)[pure virtual]

Creates a new instance of a verifier.

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

Parameters

CVerifier *& aVerifierA reference to a pointer that should be set to point to the new verifier object.
TUid aAlgorithmUidThe algorithm to use
const CKey & aKeyThe key to verify the signature with.
TUid aPaddingModeThe padding mode of the signer.
const CCryptoParams * aAlgorithmParamsParameters that are specific to a particular algorithm. This is for extendibility and will normally be null.