CWTLSCertificate Class Reference

class CWTLSCertificate : public CCertificate

Inherits from

Public Member Functions
~CWTLSCertificate ()
IMPORT_C const TPtrC8 * DataElementEncoding (const TUint )
IMPORT_C void InternalizeL ( RReadStream &)
IMPORT_C TBool IsEqualL (const CWTLSCertificate &)
IMPORT_C TBool IsSelfSignedL ()
IMPORT_C TBool IsTCAL ()
IMPORT_C HBufC * IssuerL ()
IMPORT_C const CWTLSName & IssuerName ()
IMPORT_C CWTLSCertificate * NewL (const TDesC8 &)
IMPORT_C CWTLSCertificate * NewL (const TDesC8 &, TInt &)
IMPORT_C CWTLSCertificate * NewL ( RReadStream &)
IMPORT_C CWTLSCertificate * NewL (const CWTLSCertificate &)
IMPORT_C CWTLSCertificate * NewLC (const TDesC8 &)
IMPORT_C CWTLSCertificate * NewLC (const TDesC8 &, TInt &)
IMPORT_C CWTLSCertificate * NewLC ( RReadStream &)
IMPORT_C CWTLSCertificate * NewLC (const CWTLSCertificate &)
IMPORT_C const TPtrC8 SignedDataL ()
IMPORT_C HBufC * SubjectL ()
IMPORT_C const CWTLSName & SubjectName ()
IMPORT_C TInt Version ()
Private Member Functions
CWTLSCertificate ()
void ConstructCertL (const TDesC8 &, TInt &)
void ConstructL (const TDesC8 &, TInt &)
void ConstructL (const CWTLSCertificate &)
void InitEncodedDataElementsL ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CCertificate::KeyIdentifierL()const
CCertificate::PublicKey()const
CCertificate::SerialNumber()const
CCertificate::ValidityPeriod()const
CCertificate::~CCertificate()
CSignedObject::Encoding()const
CSignedObject::ExternalizeL(RWriteStream &)const
CSignedObject::Fingerprint()const
CSignedObject::SetParametersL(const CSigningKeyParameters &)
CSignedObject::Signature()const
CSignedObject::SigningAlgorithm()const
CSignedObject::VerifyRSASignatureL(const TDesC8 &)const
CSignedObject::VerifyRSASignatureL(const TDesC8 &,const TDesC8 &)const
CSignedObject::VerifySignatureL(const TDesC8 &)const
CSignedObject::VerifySignatureL(const TDesC8 &,const TDesC8 &)const
CSignedObject::~CSignedObject()
Public Member Enumerations
enum anonymous {
EVersionNumber  = 0, EAlgorithmId  = 1, EIssuerName  = 2, EValidityPeriod  = 3, ESubjectName  = 4, ESubjectPublicKeyInfo  = 5
}
Private Attributes
TFixedArray < TPtrC8 *, KWTLSCertMaxDataElements > * iDataElements
CWTLSName * iIssuerName
CWTLSName * iSubjectName
TInt iVersion
Inherited Attributes
CCertificate::iSerialNumber
CCertificate::iSubjectPublicKeyInfo
CCertificate::iValidityPeriod
CSignedObject::iEncoding
CSignedObject::iFingerprint
CSignedObject::iKeyFactory
CSignedObject::iParameters
CSignedObject::iSignature
CSignedObject::iSigningAlgorithm

Constructor & Destructor Documentation

CWTLSCertificate()

CWTLSCertificate ( ) [private]

~CWTLSCertificate()

IMPORT_C ~CWTLSCertificate ( )

Destructor.

Frees all resources owned by the object, prior to its destruction.

Member Functions Documentation

ConstructCertL(const TDesC8 &, TInt &)

void ConstructCertL ( const TDesC8 & aBinaryData,
TInt & aPos
) [private]

Parameters

const TDesC8 & aBinaryData
TInt & aPos

ConstructL(const TDesC8 &, TInt &)

void ConstructL ( const TDesC8 & aBinaryData,
TInt & aPos
) [private]

Parameters

const TDesC8 & aBinaryData
TInt & aPos

ConstructL(const CWTLSCertificate &)

void ConstructL ( const CWTLSCertificate & aCertificate ) [private]

Parameters

const CWTLSCertificate & aCertificate

DataElementEncoding(const TUint)

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

Gets the encoding for a data element at the specified index.

Parameters

const TUint aIndex The position of the encoded data element.

InitEncodedDataElementsL()

void InitEncodedDataElementsL ( ) [private]

InternalizeL(RReadStream &)

IMPORT_C void InternalizeL ( RReadStream & aStream ) [virtual]

Initialises the certificate from a stream.

This should not be called by client code; instead the static factory function above should be used. If a client is using the certstore component for storage then it should use CCertStore::AddL() for externalizing and CWTLSCert::NewL(CCertStore& aStore, const CCertStoreEntry& aEntry); for restoring.

Parameters

RReadStream & aStream

IsEqualL(const CWTLSCertificate &)

IMPORT_C TBool IsEqualL ( const CWTLSCertificate & aCert ) const

Tests whether this WTLS certificate is the same as the specified WTLS certificate.

This is not a simple as it sounds. For X.509 certificates equality means that the issuer name and serial number fields are the same. This guarantees equality since a CA must ensure that every certificate it issues has a unique serial number. But WTLS certificates do not include serial numbers, so there seems to be no definition of equality. This function uses a byte-for-byte comparison of the signatures on the certificates: this should not result in any false positives, but may give false negatives if CAs do naughty things like recertifying the same key (which they have been known to do).

Parameters

const CWTLSCertificate & aCert A WTLS certificate

IsSelfSignedL()

IMPORT_C TBool IsSelfSignedL ( ) const [virtual]

Tests whether a certificate is self-signed.

IsTCAL()

IMPORT_C TBool IsTCAL ( ) const

Tests whether a non-selfsigned certificate can be used to sign others.

Currently this only supports structured text variety of WTLS certificates. Other certificate types will return EFalse.

IssuerL()

IMPORT_C HBufC * IssuerL ( ) const [virtual]

Gets the issuer.

IssuerName()

IMPORT_C const CWTLSName & IssuerName ( ) const

Gets the name of the WTLS certificate's issuing authority.

NewL(const TDesC8 &)

IMPORT_C CWTLSCertificate * NewL ( const TDesC8 & aBinaryData ) [static]

Creates a new CWTLSCertificate object from the specified buffer containing the binary coded representation.

Parameters

const TDesC8 & aBinaryData The encoded binary representation.

NewL(const TDesC8 &, TInt &)

IMPORT_C CWTLSCertificate * NewL ( const TDesC8 & aBinaryData,
TInt & aPos
) [static]

Creates a new CWTLSCertificate object from the specified buffer containing the binary coded representation.

Parameters

const TDesC8 & aBinaryData The encoded binary representation.
TInt & aPos An offset into the descriptor, and is updated to the position at the end of the object.

NewL(RReadStream &)

IMPORT_C CWTLSCertificate * NewL ( RReadStream & aStream ) [static]

Creates a new CWTLSCertificate object from a stream.

The stream must have been written using the corresponding ExternalizeL() function.

Parameters

RReadStream & aStream The stream to be used as input.

NewL(const CWTLSCertificate &)

IMPORT_C CWTLSCertificate * NewL ( const CWTLSCertificate & aCert ) [static]

Creates a new CWTLSCertificate object from an existing one in the certificate store.

Parameters

const CWTLSCertificate & aCert The certificate to be copied.

NewLC(const TDesC8 &)

IMPORT_C CWTLSCertificate * NewLC ( const TDesC8 & aBinaryData ) [static]

Creates a new CWTLSCertificate object from the specified buffer containing the binary coded representation, and puts a pointer to it onto the cleanup stack.

Parameters

const TDesC8 & aBinaryData The encoded binary representation.

NewLC(const TDesC8 &, TInt &)

IMPORT_C CWTLSCertificate * NewLC ( const TDesC8 & aBinaryData,
TInt & aPos
) [static]

Creates a new CWTLSCertificate object from the specified buffer containing the binary coded representation, and puts a pointer to it onto the cleanup stack.

Parameters

const TDesC8 & aBinaryData The encoded binary representation.
TInt & aPos An offset into the descriptor, and is updated to the position at the end of the object.

NewLC(RReadStream &)

IMPORT_C CWTLSCertificate * NewLC ( RReadStream & aStream ) [static]

Creates a new CWTLSCertificate object from a stream, and puts a pointer to it onto the cleanup stack.

The stream must have been written using the corresponding ExternalizeL() function.

Parameters

RReadStream & aStream The stream to be used as input.

NewLC(const CWTLSCertificate &)

IMPORT_C CWTLSCertificate * NewLC ( const CWTLSCertificate & aCert ) [static]

Creates a new CWTLSCertificate object from an existing one in the certificate store, and puts a pointer to it onto the cleanup stack.

Parameters

const CWTLSCertificate & aCert The certificate to be copied.

SignedDataL()

IMPORT_C const TPtrC8 SignedDataL ( ) const [virtual]

Gets the certificate's signed data.

SubjectL()

IMPORT_C HBufC * SubjectL ( ) const [virtual]

Gets the subject.

SubjectName()

IMPORT_C const CWTLSName & SubjectName ( ) const

Gets the name of the owner of the public key the WTLS certificate contains.

Version()

IMPORT_C TInt Version ( ) const

Gets the version number of the WTLS certificate.

Member Enumerations Documentation

Enum anonymous

Enumerators

EVersionNumber = 0
EAlgorithmId = 1
EIssuerName = 2
EValidityPeriod = 3
ESubjectName = 4
ESubjectPublicKeyInfo = 5

Member Data Documentation

TFixedArray< TPtrC8 *, KWTLSCertMaxDataElements > * iDataElements

TFixedArray < TPtrC8 *, KWTLSCertMaxDataElements > * iDataElements [private]

CWTLSName * iIssuerName

CWTLSName * iIssuerName [private]

CWTLSName * iSubjectName

CWTLSName * iSubjectName [private]

TInt iVersion

TInt iVersion [private]