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()

voidCancelFetchPublicKey()

CancelOpenSigner()

voidCancelOpenSigner()[pure virtual]

CancelSignDigest()

voidCancelSignDigest()[pure virtual]

CreateKeyEncoderL(const TDesC8 &, const TAlgorithmId)

voidCreateKeyEncoderL(const TDesC8 &aExportedKey,
const TAlgorithmIdaDigestId
)[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 TAlgorithmIdaDigestId
)[static]

Create appropriate subclass of CPKCS10KeyHelper depending on key alogorithm.

Parameters

MCTKeyStore & aKeyStoreThe keystore to use - this object takes ownership.
const CCTKeyInfo & aKeyInfoThe 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 &)

voidFetchPublicKey(TRequestStatus &aStatus)

Parameters

TRequestStatus & aStatus

OpenSigner(TRequestStatus &)

voidOpenSigner(TRequestStatus &aStatus)[pure virtual]

Parameters

TRequestStatus & aStatus

SignDigestL(const TDesC8 &, TRequestStatus &)

voidSignDigestL(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]