class CSignedObject : public CBase |
Base class for certificates.
Public Member Functions | |
---|---|
~CSignedObject () | |
IMPORT_C const TPtrC8 * | DataElementEncoding (const TUint ) |
IMPORT_C const TPtrC8 | Encoding () |
IMPORT_C void | ExternalizeL ( RWriteStream &) |
IMPORT_C const TPtrC8 | Fingerprint () |
IMPORT_C void | InternalizeL ( RReadStream &) |
IMPORT_C void | SetParametersL (const CSigningKeyParameters &) |
IMPORT_C const TPtrC8 | Signature () |
IMPORT_C const TPtrC8 | SignedDataL () |
IMPORT_C const CSigningAlgorithmIdentifier & | SigningAlgorithm () |
IMPORT_C TBool | VerifySignatureL (const TDesC8 &) |
IMPORT_C TBool | VerifySignatureL (const TDesC8 &, const TDesC8 &) |
Protected Member Functions | |
---|---|
TBool | VerifyRSASignatureL (const TDesC8 &) |
TBool | VerifyRSASignatureL (const TDesC8 &, const TDesC8 &) |
Protected Attributes | |
---|---|
HBufC8 * | iEncoding |
HBufC8 * | iFingerprint |
TKeyFactory * | iKeyFactory |
CSigningKeyParameters * | iParameters |
HBufC8 * | iSignature |
CSigningAlgorithmIdentifier * | iSigningAlgorithm |
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.
const TUint aIndex | The encoded data element position in the tbsCertificate data structure. See the enumeration: CX509Certificate::Anonymous. |
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.
RWriteStream & aStream | Stream to which the object should be externalised. |
IMPORT_C const TPtrC8 | Fingerprint | ( | ) | const |
Gets the fingerprint.
The fingerprint returned is the SHA1 hash of the encoding of the entire object.
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.
RReadStream & aStream | Stream from which the contents of the field should be internalised. |
IMPORT_C void | SetParametersL | ( | const CSigningKeyParameters & | aParameters | ) |
Sets the signing key parameters.
const CSigningKeyParameters & aParameters | The signing key parameters. |
IMPORT_C const CSigningAlgorithmIdentifier & | SigningAlgorithm | ( | ) | const |
Gets the signing algorithm ID used.
TBool | VerifyRSASignatureL | ( | const TDesC8 & | aEncodedKey | ) | const [protected] |
Verifies a RSA signature using the specified encoded key.
const TDesC8 & aEncodedKey | The encoded key. |
TBool | VerifyRSASignatureL | ( | const TDesC8 & | aEncodedKey, |
const TDesC8 & | aHash | |||
) | const [protected] |
IMPORT_C TBool | VerifySignatureL | ( | const TDesC8 & | aEncodedKey | ) | const |
Verifies a signature using the specified encoded key.
const TDesC8 & aEncodedKey | The encoded key. |
IMPORT_C TBool | VerifySignatureL | ( | const TDesC8 & | aEncodedKey, |
const TDesC8 & | aHash | |||
) | const |
Verifies a signature using the specified encoded key and hash.
HBufC8 * | iEncoding | [protected] |
A heap descriptor representing the entire encoding.
HBufC8 * | iFingerprint | [protected] |
The fingerprint.
The SHA1 hash of the encoding of the entire object.
CSigningKeyParameters * | iParameters | [protected] |
The signing key parameters
CSigningAlgorithmIdentifier * | iSigningAlgorithm | [protected] |
The signing algorithm ID.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.