CSignedObject Class Reference

class CSignedObject : public CBase

Base class for certificates.

Since
v6.0

Inherits from

Constructor & Destructor Documentation

~CSignedObject()

IMPORT_C ~CSignedObject ( )

Destructor.

Frees all resources owned by the object.

Member Functions Documentation

DataElementEncoding(const TUint)

IMPORT_C const TPtrC8 * DataElementEncoding ( const TUint aIndex ) const [pure virtual]

Gets the encoded data for the specified encoded data element, in the (to be signed) tbsCertificate data structure, of the signed object.

Parameters

const TUint aIndex The encoded data element position in the tbsCertificate data structure. See the enumeration: CX509Certificate::Anonymous.

Encoding()

IMPORT_C const TPtrC8 Encoding ( ) const

Gets the entire encoding.

ExternalizeL(RWriteStream &)

IMPORT_C void ExternalizeL ( RWriteStream & aStream ) const [virtual]

Externalises the encoding of the entire object to a write stream.

The fingerprint and the signed data can be regenerated after restoration.

The presence of this function means that the standard templated operator<<() can be used to externalise objects of this class.

Parameters

RWriteStream & aStream Stream to which the object should be externalised.

Fingerprint()

IMPORT_C const TPtrC8 Fingerprint ( ) const

Gets the fingerprint.

The fingerprint returned is the SHA1 hash of the encoding of the entire object.

InternalizeL(RReadStream &)

IMPORT_C void InternalizeL ( RReadStream & aStream ) [pure virtual]

Internalises the encoded object from a read stream.

The class makes use of a specification-specific parser class for extracting the various elements, that is provided by a subclass of CSignedObject . For this reason this function is pure virtual.

The presence of this function means that the standard templated operator>>() can be used to internalise objects of this class.

Parameters

RReadStream & aStream Stream from which the contents of the field should be internalised.

SetParametersL(const CSigningKeyParameters &)

IMPORT_C void SetParametersL ( const CSigningKeyParameters & aParameters )

Sets the signing key parameters.

Parameters

const CSigningKeyParameters & aParameters The signing key parameters.

Signature()

IMPORT_C const TPtrC8 Signature ( ) const

Gets the digital signature.

SignedDataL()

IMPORT_C const TPtrC8 SignedDataL ( ) const [pure virtual]

Gets the signed data.

SigningAlgorithm()

IMPORT_C const CSigningAlgorithmIdentifier & SigningAlgorithm ( ) const

Gets the signing algorithm ID used.

VerifyRSASignatureL(const TDesC8 &)

TBool VerifyRSASignatureL ( const TDesC8 & aEncodedKey ) const [protected]

Verifies a RSA signature using the specified encoded key.

Parameters

const TDesC8 & aEncodedKey The encoded key.

VerifyRSASignatureL(const TDesC8 &, const TDesC8 &)

TBool VerifyRSASignatureL ( const TDesC8 & aEncodedKey,
const TDesC8 & aHash
) const [protected]

Parameters

const TDesC8 & aEncodedKey
const TDesC8 & aHash

VerifySignatureL(const TDesC8 &)

IMPORT_C TBool VerifySignatureL ( const TDesC8 & aEncodedKey ) const

Verifies a signature using the specified encoded key.

Parameters

const TDesC8 & aEncodedKey The encoded key.

VerifySignatureL(const TDesC8 &, const TDesC8 &)

IMPORT_C TBool VerifySignatureL ( const TDesC8 & aEncodedKey,
const TDesC8 & aHash
) const

Verifies a signature using the specified encoded key and hash.

Parameters

const TDesC8 & aEncodedKey The encoded key.
const TDesC8 & aHash The hash of the data to be validated.

Member Data Documentation

HBufC8 * iEncoding

HBufC8 * iEncoding [protected]

A heap descriptor representing the entire encoding.

HBufC8 * iFingerprint

HBufC8 * iFingerprint [protected]

The fingerprint.

The SHA1 hash of the encoding of the entire object.

TKeyFactory * iKeyFactory

TKeyFactory * iKeyFactory [protected]

A pointer to a key factory object.

CSigningKeyParameters * iParameters

CSigningKeyParameters * iParameters [protected]

The signing key parameters

HBufC8 * iSignature

HBufC8 * iSignature [protected]

The digital signature.

CSigningAlgorithmIdentifier * iSigningAlgorithm

CSigningAlgorithmIdentifier * iSigningAlgorithm [protected]

The signing algorithm ID.