class AkentiCertificateImpl

This abstract class is the base for all the akenti certificates implementations.

Inheritance:


Public Methods

[more]virtual ~AkentiCertificateImpl ()
Destroys this object
[more]virtual string hashCode () const
Computes the md5 hashcode of this AkentiCertificateImpl object for searching purposes.
[more]virtual string getHashString () const
Returns the approriate hash string whose digest will be used to simplify certificate retrieval process.
[more]const string& getType () const
Returns the type of this AkentiCertificateImpl object.
[more]bool hasType (const string& type) const
Returns true if this certificate's type is equal to the argument specified by type
[more]int getVersionNumber () const
Returns the version number of this AkentiCertificateImpl object.
[more]const string& getUniqueID () const
Returns the unique id of this AkentiCertificateImpl object.
[more]const AkentiIssuer& getIssuer () const
Returns the issuer of this AkentiCertificateImpl object.
[more]const UtcTime& getNotBefore () const
Returns the start validity date of this AkentiCertificateImpl object.
[more]const UtcTime& getNotAfter () const
Returns the end validity date of this AkentiCertificateImpl object.
[more]bool verify (const PublicKey& publicKey) const
Verifies the signature of AkentiCertificateImpl object using a PublicKey specified by publicKey.
[more]virtual string getSignable () const
Returns the signable portion of this AkentiCertificateImpl object.
[more]const string& getCanonAlg () const
Returns the name of the formatting algorithm that was used for the signature or pem encoding.
[more]const string& getSignatureAlg () const
Returns the signature algorithm that was used to sign this AkentiCertificateImpl object.
[more]const string& getSignature () const
Returns the signature that resulted from signing the signable part of this AkentiCertificateImpl object.
[more]bool checkValidity (const UtcTime& utcTime) const
Is this AkentiCertificateImpl valid at the time specified by utcTime?
[more]bool checkValidity () const
Is this AkentiCertificateImpl valid now?
[more]string paramString () const
Returns debugging info.
[more]string toText (int indentAmt = 0) const
Returns the Akenti Certificate in text format.
[more]string toLogString () const
Returns logging info

Protected Methods

[more] AkentiCertificateImpl (const string& type = "NO_TYPE")
Constructs this object given a string specified by type
[more]virtual void doWrite (AkentiOutputStream& drain) const
[more]virtual void doRead (AkentiInputStream& source)
[more]virtual void doToXML (DOMElement* element) const
[more]virtual void doFromXML (const DOMElement* element)
[more]virtual AkentiCertificateImpl* newInstance () const
Returns an instance of the concrete class.
[more]virtual void doParamString (ostream& os) const
[more]virtual void doToText (int indentAmt, ostream& os) const


Documentation

This abstract class is the base for all the akenti certificates implementations.

We have designed all the certificates to be immutable. Subclass Implementors should adhere to this policy.

1) The set methods should be accessed by the genarators only.

2) The doReadObject should be protected.

Encoding Rules:
1) The various fields are separated by one blank space.

2) The AkentiOutputStream is configured
to write primitive types and user define types.

Note:
The encoding is straightforward with the exception of the version number which is preceded by the character 'V'.

  * CertificateEncoding {
  *    type             // certificate's type 
  *    version          // certificate's version number
  *    id               // certificate's unique id 
  *    issuer           // issuer and signer of certificate     
  *    notBefore        // start validity date 
  *    notAfter         // end validity date 
  *    canonAlg         // name of algorithm used to format certificate
  *                        for signing or pem encoding.
  *    signatureAlg     // name of algorithm used to sign this certificate
  *    ...              // fields contained in the concrete subclasses
  *    signature        // digital signature of the certificate
  *  }
  * 

ovirtual ~AkentiCertificateImpl()
Destroys this object

ovirtual string hashCode() const
Computes the md5 hashcode of this AkentiCertificateImpl object for searching purposes.

Returns:
the hashcode of this AkentiCertificateImpl
See Also:
getHashString

ovirtual string getHashString() const = 0
Returns the approriate hash string whose digest will be used to simplify certificate retrieval process.

oconst string& getType() const
Returns the type of this AkentiCertificateImpl object.

Returns:
the type of this AkentiCertificateImpl

obool hasType(const string& type) const
Returns true if this certificate's type is equal to the argument specified by type

oint getVersionNumber() const
Returns the version number of this AkentiCertificateImpl object.

Returns:
the version number of this AkentiCertificateImpl

oconst string& getUniqueID() const
Returns the unique id of this AkentiCertificateImpl object.

Returns:
the unique id of this AkentiCertificateImpl

oconst AkentiIssuer& getIssuer() const
Returns the issuer of this AkentiCertificateImpl object.

Returns:
the issuer of this AkentiCertificateImpl
See Also:
AkentiPrincipal

oconst UtcTime& getNotBefore() const
Returns the start validity date of this AkentiCertificateImpl object.

Returns:
the start validity date of this AkentiCertificateImpl
See Also:
UtcTime

oconst UtcTime& getNotAfter() const
Returns the end validity date of this AkentiCertificateImpl object.

Returns:
the end validity date of this AkentiCertificateImpl
See Also:
UtcTime

obool verify(const PublicKey& publicKey) const
Verifies the signature of AkentiCertificateImpl object using a PublicKey specified by publicKey.

Parameters:
publicKey - used to verufy signature
Returns:
true if signature verifies
See Also:
PublicKey

ovirtual string getSignable() const
Returns the signable portion of this AkentiCertificateImpl object.

Returns:
the signable portion of this AkentiCertificateImpl
See Also:
sign(string, PrivateKey)

oconst string& getCanonAlg() const
Returns the name of the formatting algorithm that was used for the signature or pem encoding.

Returns:
the name of the formatting algorithm

oconst string& getSignatureAlg() const
Returns the signature algorithm that was used to sign this AkentiCertificateImpl object.

Returns:
the name of the signature algorithm
See Also:
sign(string, PrivateKey)

oconst string& getSignature() const
Returns the signature that resulted from signing the signable part of this AkentiCertificateImpl object.

Returns:
the signature of this AkentiCertificateImpl
See Also:
getSignable()
sign(string, PrivateKey)

obool checkValidity(const UtcTime& utcTime) const
Is this AkentiCertificateImpl valid at the time specified by utcTime?

Returns:
true if notBefore <= utcTime <= notAfter
See Also:
getNotBefore()
getNotAfter()
UtcTime

obool checkValidity() const
Is this AkentiCertificateImpl valid now?

Returns:
true if notBefore <= now <= notAfter
See Also:
getNotBefore()
getNotAfter()
UtcTime

ostring paramString() const
Returns debugging info.

Subclass implementors must implement the pure virtual function doParamString(ostream&) so that the additional params are included.

Returns:
string a string representation of this object

ostring toText(int indentAmt = 0) const
Returns the Akenti Certificate in text format.

Parameters:
indentAmt - the number of spaces to indent the text form of the Akenti Certificate

ostring toLogString() const
Returns logging info

o AkentiCertificateImpl(const string& type = "NO_TYPE")
Constructs this object given a string specified by type

ovirtual void doWrite(AkentiOutputStream& drain) const = 0

ovirtual void doRead(AkentiInputStream& source) = 0

ovirtual void doToXML(DOMElement* element) const

ovirtual void doFromXML(const DOMElement* element)

ovirtual AkentiCertificateImpl* newInstance() const = 0
Returns an instance of the concrete class.

ovirtual void doParamString(ostream& os) const = 0

ovirtual void doToText(int indentAmt, ostream& os) const = 0


Direct child classes:
DummyCertificateImpl
UseCondCertificateImpl
PolicyCertificateImpl
CapabilityCertificateImpl
CacheCertificateImpl
AttributeCertificateImpl
AkentiX509CertificateImpl
Friends:
class AkentiCertGenerator
class AkentiCertificate
class AkentiCertificateFactory
Author:
Srilekha Mudumbai Abdelilah Essiari
Version:
1.1 00/04/17
See Also:
AkentiCertGenerator
AkentiCertificate
AkentiOutputStream
AkentiInputStream
AkentiObject
AkentiIssuer
UtcTime

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.