CPKCS10KeyHelper Class Reference

class CPKCS10KeyHelper : public CBase

Abstract base class defines the interface for PKCS#10 key helpers.

This class is fairly dumb, and provides a generic interface for various keystore functionality. The methods are called from the RunL of CPKCS10Request .

The implementation decodes the public key to create a public key object - this is pretty wasteful, as the first thing we're going to do is re-encode it again, mostly in exactly the same format. However it's simpler and less error-prome to do it this way.

Inherits from

Constructor & Destructor Documentation

CPKCS10KeyHelper(MCTKeyStore &, const CCTKeyInfo &)

CPKCS10KeyHelper ( MCTKeyStore & aKeyStore,
const CCTKeyInfo & aKeyInfo
) [protected]

Parameters

MCTKeyStore & aKeyStore
const CCTKeyInfo & aKeyInfo

~CPKCS10KeyHelper()

~CPKCS10KeyHelper ( ) [virtual]

Member Functions Documentation

CancelFetchPublicKey()

void CancelFetchPublicKey ( )

CancelOpenSigner()

void CancelOpenSigner ( ) [pure virtual]

CancelSignDigest()

void CancelSignDigest ( ) [pure virtual]

CreateKeyEncoderL(const TDesC8 &, const TAlgorithmId)

void CreateKeyEncoderL ( const TDesC8 & aExportedKey,
const TAlgorithmId aDigestId
) [protected, pure virtual]

Parameters

const TDesC8 & aExportedKey
const TAlgorithmId aDigestId

CreateKeyHelperL(MCTKeyStore &, const CCTKeyInfo &, const TDesC8 &, const TAlgorithmId)

CPKCS10KeyHelper * CreateKeyHelperL ( MCTKeyStore & aKeyStore,
const CCTKeyInfo & aKeyInfo,
const TDesC8 & aExportedKey,
const TAlgorithmId aDigestId
) [static]

Create appropriate subclass of CPKCS10KeyHelper depending on key alogorithm.

Parameters

MCTKeyStore & aKeyStore The keystore to use - this object takes ownership.
const CCTKeyInfo & aKeyInfo The key to use.
const TDesC8 & aExportedKey
const TAlgorithmId aDigestId

DigestInfoLC(const TDesC8 &)

CASN1EncBase * DigestInfoLC ( const TDesC8 & digest ) [protected]

Parameters

const TDesC8 & digest

EncodeKeyLC()

CASN1EncBase * EncodeKeyLC ( ) [virtual]

EncodeSignatureAlgorithmLC()

CASN1EncSequence * EncodeSignatureAlgorithmLC ( ) [virtual]

EncodeSignatureLC()

CASN1EncBitString * EncodeSignatureLC ( ) [pure virtual]

FetchPublicKey(TRequestStatus &)

void FetchPublicKey ( TRequestStatus & aStatus )

Parameters

TRequestStatus & aStatus

OpenSigner(TRequestStatus &)

void OpenSigner ( TRequestStatus & aStatus ) [pure virtual]

Parameters

TRequestStatus & aStatus

SignDigestL(const TDesC8 &, TRequestStatus &)

void SignDigestL ( const TDesC8 & aDigest,
TRequestStatus & aStatus
) [pure virtual]

Parameters

const TDesC8 & aDigest
TRequestStatus & aStatus

Member Data Documentation

TX509KeyEncoder * iKeyEncoder

TX509KeyEncoder * iKeyEncoder [protected]

const CCTKeyInfo & iKeyInfo

const CCTKeyInfo & iKeyInfo [protected]

MCTKeyStore & iKeyStore

MCTKeyStore & iKeyStore [protected]