CWTLSCertChain Class Reference

class CWTLSCertChain : public CBase

Implements a WTLS certificate chain.

Inherits from

Constructor & Destructor Documentation

CWTLSCertChain(RFs &)

CWTLSCertChain ( RFs & aFs ) [private]

Parameters

RFs & aFs

~CWTLSCertChain()

IMPORT_C ~CWTLSCertChain ( )

Destructor.

Frees all resources owned by the object.

Member Functions Documentation

AppendCertsL(const TPtrC8 &)

IMPORT_C void AppendCertsL ( const TPtrC8 & aEncodedCerts )

Appends the specified encoded certificate to the chain.

Parameters

const TPtrC8 & aEncodedCerts One or more concatenated DER encoded WTLS certificates. These certificates will be used as candidates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates.

Cert(TInt)

IMPORT_C const CWTLSCertificate & Cert ( TInt aIndex ) const

Gets the certificate at the specified index.

Parameters

TInt aIndex The ordinal number representing the position of the certificate within the chain.

ChainHasRoot()

IMPORT_C TBool ChainHasRoot ( ) const

Tests whether the root certificate of the chain is locatable.

Note that the value is only significant after a successfull call to ValidateL() .

ConstructL(const TPtrC8 &, const TUid)

void ConstructL ( const TPtrC8 & aEncodedCerts,
const TUid aClient
) [private]

Parameters

const TPtrC8 & aEncodedCerts
const TUid aClient

ConstructL(const TPtrC8 &, const CArrayPtr< CWTLSCertificate > &)

void ConstructL ( const TPtrC8 & aEncodedCerts,
const CArrayPtr < CWTLSCertificate > & aRootCerts
) [private]

Parameters

const TPtrC8 & aEncodedCerts
const CArrayPtr < CWTLSCertificate > & aRootCerts

Count()

IMPORT_C TInt Count ( ) const

Gets the number of WTLS certificates in the chain.

DoConstructL(const TPtrC8 &)

void DoConstructL ( const TPtrC8 & aEncodedCerts ) [private]

Parameters

const TPtrC8 & aEncodedCerts

NewL(RFs &, const TPtrC8 &, const TUid)

IMPORT_C CWTLSCertChain * NewL ( RFs & aFs,
const TPtrC8 & aEncodedCerts,
const TUid aClient
) [static]

Creates a certificate chain using the binary data in aEncodedCerts.

Parameters

RFs & aFs An open file server session.
const TPtrC8 & aEncodedCerts One or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates.
const TUid aClient The uid of the client. It is a value identifying the application to the chain; this will be used to select a subset of stored certificates to use as candidate root certificates.

NewL(RFs &, const TPtrC8 &, const CArrayPtr< CWTLSCertificate > &)

IMPORT_C CWTLSCertChain * NewL ( RFs & aFs,
const TPtrC8 & aEncodedCerts,
const CArrayPtr < CWTLSCertificate > & aRootCerts
) [static]

Creates a certificate chain using the binary data in aEncodedCerts.

Parameters

RFs & aFs An open file server session.
const TPtrC8 & aEncodedCerts One or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates. Any self signed certificates supplied here after the first one will be discarded, as self signed certificates cannot by definition be intermediate certificates.
const CArrayPtr < CWTLSCertificate > & aRootCerts An array of certificates which the chain will treat as candidate root certificates. If one of these overloads is used, the chain will not look in stores for root certificates, but will only use the certificates supplied here.

NewLC(RFs &, const TPtrC8 &, const TUid)

IMPORT_C CWTLSCertChain * NewLC ( RFs & aFs,
const TPtrC8 & aEncodedCerts,
const TUid aClient
) [static]

Creates a certificate chain using the binary data in aEncodedCerts and puts a pointer to the new object onto the cleanup stack.

Parameters

RFs & aFs An open file server session
const TPtrC8 & aEncodedCerts One or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates.
const TUid aClient The uid of the client. It is a value identifying the application to the chain; this will be used to select a subset of stored certificates to use as candidate root certificates.

NewLC(RFs &, const TPtrC8 &, const CArrayPtr< CWTLSCertificate > &)

IMPORT_C CWTLSCertChain * NewLC ( RFs & aFs,
const TPtrC8 & aEncodedCerts,
const CArrayPtr < CWTLSCertificate > & aRootCerts
) [static]

Creates a certificate chain using the binary data in aEncodedCerts and puts a pointer to the new object onto the cleanup stack.

Parameters

RFs & aFs An open file server session.
const TPtrC8 & aEncodedCerts One or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates. Any self signed certificates supplied here after the first one will be discarded as self signed certificates cannot by definition be intermediate certificates.
const CArrayPtr < CWTLSCertificate > & aRootCerts An array of certificates which the chain will treat as candidate root certificates. If one of these overloads is used, the chain will not look in stores for root certificates, but will only use the certificates supplied here.

ValidateL(CWTLSValidationResult &, const TTime &, TRequestStatus &)

IMPORT_C void ValidateL ( CWTLSValidationResult & aValidationResult,
const TTime & aValidationTime,
TRequestStatus & aStatus
)

Validates the chain.

Parameters

CWTLSValidationResult & aValidationResult On completion, this contains the result of the validation.
const TTime & aValidationTime The time for which validation should be performed, usually the current time.
TRequestStatus & aStatus An asynchronous request status object.

Member Data Documentation

CWTLSCertChainAO * iActiveObject

CWTLSCertChainAO * iActiveObject [private]

CArrayPtrFlat< CWTLSCertificate > * iChain

CArrayPtrFlat < CWTLSCertificate > * iChain [private]

TBool iChainHasRoot

TBool iChainHasRoot [private]

RFs & iFs

RFs & iFs [private]