CWTLSCertChain Class Reference

#include <wtlscertchain.h>

Link against: wtlscert.lib

class CWTLSCertChain : public CBase

Inherits from

Detailed Description

Implements a WTLS certificate chain.

Constructor & Destructor Documentation

~CWTLSCertChain ( )

IMPORT_C~CWTLSCertChain()

Destructor.

Frees all resources owned by the object.

Member Function Documentation

AppendCertsL ( const TPtrC8 & )

IMPORT_C voidAppendCertsL(const TPtrC8 &aEncodedCerts)

Appends the specified encoded certificate to the chain.

Parameters
aEncodedCertsOne 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(TIntaIndex)const

Gets the certificate at the specified index.

Parameters
aIndexThe ordinal number representing the position of the certificate within the chain.
Return Value
The WTLS certificate at the specified index.

ChainHasRoot ( )

IMPORT_C TBoolChainHasRoot()const

Tests whether the root certificate of the chain is locatable.

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

Return Value
ETrue if the chain has a root; EFalse, otherwise.

Count ( )

IMPORT_C TIntCount()const

Gets the number of WTLS certificates in the chain.

Return Value
The number of WTLS certificates in the chain.

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

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

Creates a certificate chain using the binary data in aEncodedCerts.

Parameters
aFsAn open file server session.
aEncodedCertsOne 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.
aClientThe 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
aFsAn open file server session.
aEncodedCertsOne 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.
aRootCertsAn 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 TUidaClient
)[static]

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

Parameters
aFsAn open file server session
aEncodedCertsOne 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.
aClientThe 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
aFsAn open file server session.
aEncodedCertsOne 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.
aRootCertsAn 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 voidValidateL(CWTLSValidationResult &aValidationResult,
const TTime &aValidationTime,
TRequestStatus &aStatus
)

Validates the chain.

Parameters
aValidationResultOn completion, this contains the result of the validation.
aValidationTimeThe time for which validation should be performed, usually the current time.
aStatusAn asynchronous request status object.