»
Symbian OS v9.3 »
Symbian OS reference »
C++ component reference »
Security CERTMAN »
CX500DistinguishedName
Location:
x500dn.h
Link against: x500.lib
Class CX500DistinguishedName
class CX500DistinguishedName : public CBase;
Description
Holds the Distinguished Name of a subject.
A collection of 'attribute type and value' objects, as defined by the X.520 standard.
The name used in X.509 certificates is the X.500 Distinguished Name, which describes a path through an X.500 Directory Information
Tree.
A Distinguished Name is a series of name-value pairs that uniquely identify an entity, i.e. the certificate subject.
Derivation
CBase
- Base class for all classes to be instantiated on the heap
CX500DistinguishedName
- Holds the Distinguished Name of a subject
Members
Defined in CX500DistinguishedName
:
Count()
, DisplayNameL()
, Element()
, EncodeASN1L()
, EncodeASN1LC()
, ExactMatchL()
, ExternalizeL()
, ExtractFieldL()
, IsWithinSubtreeL()
, MatchElementL()
, NewL()
, NewL()
, NewL()
, NewL()
, NewL()
, NewLC()
, NewLC()
, NewLC()
, NewLC()
, NewLC()
, ~CX500DistinguishedName()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
Construction and destruction
static IMPORT_C CX500DistinguishedName *NewL(const TDesC8 &aBinaryData, TInt &aPos);
Description
Creates a new Distinguished Name object from the specified buffer containing the encoded binary representation, starting at
the specified offset.
Parameters
const TDesC8 &aBinaryData |
The encoded binary representation.
|
TInt &aPos |
The position from which to start decoding.
|
|
Return value
static IMPORT_C CX500DistinguishedName *NewLC(const TDesC8 &aBinaryData, TInt &aPos);
Description
Creates a new Distinguished Name object from the specified buffer containing the encoded binary representation, starting at
the specified offset, and puts a pointer to it onto the cleanup stack.
Parameters
const TDesC8 &aBinaryData |
The encoded binary representation.
|
TInt &aPos |
The position from which to start decoding.
|
|
Return value
static IMPORT_C CX500DistinguishedName *NewL(const TDesC8 &aBinaryData);
Description
Creates a new Distinguished Name object from the specified buffer containing the encoded binary representation.
Initialises the object from its encoded binary form into an internal representation.
Parameters
const TDesC8 &aBinaryData |
The encoded binary representation.
|
|
Return value
static IMPORT_C CX500DistinguishedName *NewLC(const TDesC8 &aBinaryData);
Description
Creates a new Distinguished Name object from the specified buffer containing the encoded binary representation, and puts a
pointer to it onto the cleanup stack.
Initialises the object from its encoded binary form into an internal representation.
Parameters
const TDesC8 &aBinaryData |
The encoded binary representation.
|
|
Return value
static IMPORT_C CX500DistinguishedName *NewL(RReadStream &aStream);
Description
Creates a new Distinguished Name object from the specified read stream.
Construction is from a stream.
Parameters
RReadStream &aStream |
Stream from which the contents should be internalised.
|
|
Return value
static IMPORT_C CX500DistinguishedName *NewLC(RReadStream &aStream);
Description
Creates a new Distinguished Name object from the specified read stream, and puts a pointer to it onto the cleanup stack.
Parameters
RReadStream &aStream |
Stream from which the contents should be internalised.
|
|
Return value
static IMPORT_C CX500DistinguishedName *NewL(const CArrayPtr< CX520AttributeTypeAndValue > &aElements);
Description
Creates a new Distinguished Name object from the specified array of 'attribute type and value' objects.
The elements of the specified array are copied into this object.
Parameters
Return value
static IMPORT_C CX500DistinguishedName *NewLC(const CArrayPtr< CX520AttributeTypeAndValue > &aElements);
Description
Creates a new Distinguished Name object from the specified array of 'attribute type and value' objects, and puts a pointer
to it onto the cleanup stack.
The elements of the specified array are copied into this object.
Parameters
Return value
static IMPORT_C CX500DistinguishedName *NewL(const CX500DistinguishedName &aName);
Description
Creates a new Distinguished Name object from an existing object.
This is equivalent to a copy constructor.
Parameters
Return value
static IMPORT_C CX500DistinguishedName *NewLC(const CX500DistinguishedName &aName);
Description
Creates a new Distinguished Name object from an existing object, and puts a pointer to it onto the cleanup stack.
This is equivalent to a copy constructor.
Parameters
Return value
~CX500DistinguishedName()
IMPORT_C ~CX500DistinguishedName();
Description
Destructor.
Frees all resources owned by the object, prior to its destruction.
IMPORT_C void ExternalizeL(RWriteStream &aStream) const;
Description
Externalises an object of this class to a write stream.
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.
|
|
IMPORT_C TInt Count() const;
Description
Gets the number of 'attribute type and value' objects contained by this Distinguished Name object.
Return value
TInt
|
The number of 'attribute type and value' objects.
|
|
IMPORT_C const CX520AttributeTypeAndValue &Element(TInt aIndex) const;
Description
Gets a reference to specific 'attribute type and value' object as identified by the specified index.
Parameters
TInt aIndex |
The index number identifying the specific 'attribute type and value' object. This number is relative to zero. This value must
be non-negative and less than the number of objects currently contained by this Distinguished Name object.
|
|
Return value
IMPORT_C TBool ExactMatchL(const CX500DistinguishedName &aName) const;
Description
Compares the specified Distinguished Name object with this Distinguished Name object.
Parameters
Return value
TBool
|
ETrue, if the Distinguished Name objects contain exactly the same 'attribute type and value' objects; EFalse, otherwise.
|
|
See also:
IMPORT_C TBool IsWithinSubtreeL(const CX500DistinguishedName &aName) const;
Description
Tests whether all 'attribute type and value' objects contained in the specified Distinguished Name object are also contained
within this Distinguished Name object.
This function checks if the elements of iElements are a superset of the fields in aName.
Parameters
Return value
TBool
|
ETrue, if all 'attribute type and value' objects contained in the specified Distinguished Name object are also contained within
this Distinguished Name object; EFalse, otherwise.
|
|
IMPORT_C TBool MatchElementL(const CX520AttributeTypeAndValue &aElement) const;
Description
Tests whether this Distinguished Name object contains the specified 'attribute type and value' object.
This function compares each of the elements in iElements with aElement. The comparison is made by the CX520AttributeTypeAndValue::ExactMatchL()
function.
Parameters
Return value
TBool
|
ETrue, if the specified 'attribute type and value' object is contained in this Distinguished Name object; EFalse otherwise.
|
|
IMPORT_C HBufC *ExtractFieldL(const TDesC &aFieldName) const;
Description
Gets the decoded value associated with the specified field/attribute name, from the Distinguished Name.
Parameters
const TDesC &aFieldName |
The field name.
|
|
Return value
HBufC *
|
A heap descriptor containing the decoded value associated with the specified field name.
|
|
IMPORT_C HBufC *DisplayNameL() const;
Description
Gets the decoded value for the common or organisation name.
Return value
HBufC *
|
A heap descriptor containing the decoded value of the common or organisation name.
|
|
IMPORT_C CASN1EncSequence *EncodeASN1LC() const;
Description
Encodes a DN into an ASN.1 object tree.
Note that the tree has the following format:
SEQUENCE-OF
SET-OF
SEQUENCE-OF
OID
value (usually OCTET STRING)
...
A SEQUENCE-OF object with a changed tag is used instead of a SET-OF object. This should be all right as long as it contains
only one child, because otherwise child order in a SET-OF becomes important.
This function does not introduce an additional dependency on ASN1 library because X500 library already depends on it -- the
attribute type/value class stores and manipulated ASN.1 encodings as its values.
Return value
CASN1EncSequence *
|
ASN.1 sequence object containing the DN, pushed on the cleanup stack.
|
|
IMPORT_C CASN1EncSequence *EncodeASN1L() const;
Description
Encodes a DN into an ASN.1 object tree.
See note in the description of EncodeASN1LC
for the explanation of the resulting encoding tree format.
Return value