KSSLCertificate Class Reference

`#include <ksslcertificate.h>`

## Public Types

enum | KSSLValidation { Unknown, Ok, NoCARoot, InvalidPurpose, PathLengthExceeded, InvalidCA, Expired, SelfSigned, ErrorReadingRoot, NoSSL, Revoked, Untrusted, SignatureFailed, Rejected, PrivateKeyFailed, InvalidHost, Irrelevant, SelfSignedChain }
enum | KSSLPurpose { None =0, SSLServer =1, SSLClient =2, SMIMESign =3, SMIMEEncrypt =4, Any =5 }
typedef QValueList < KSSLValidation > | KSSLValidationList

## Public Member Functions

| ~KSSLCertificate ()
QString | toString ()
QString | getSubject () const
QString | getIssuer () const
QString | getNotBefore () const
QString | getNotAfter () const
QDateTime | getQDTNotBefore () const
QDateTime | getQDTNotAfter () const
QByteArray | toDer ()
QByteArray | toPem ()
QByteArray | toNetscape ()
QString | toText ()
QString | getSerialNumber () const
QString | getKeyType () const
QString | getPublicKeyText () const
QString | getMD5DigestText () const
QString | getMD5Digest () const
QString | getSignatureText () const
bool | isValid ()
bool | isValid (KSSLPurpose p)
QStringList | subjAltNames () const
KSSLValidation | validate ()
KSSLValidation | validate (KSSLPurpose p)
KSSLValidationList | validateVerbose (KSSLPurpose p)
KSSLValidationList | validateVerbose (KSSLPurpose p, KSSLCertificate *ca)
KSSLValidation | revalidate ()
KSSLValidation | revalidate (KSSLPurpose p)
KSSLCertChain & | chain ()
KSSLCertificate * | replicate ()
| KSSLCertificate (const KSSLCertificate &x)
bool | setCert (QString &cert)
KSSLX509V3 & | x509V3Extensions ()
bool | isSigner ()
void | getEmails (QStringList &to) const
QString | getKDEKey () const

## Static Public Member Functions

static KSSLCertificate * | fromString (QCString cert)
static KSSLCertificate * | fromX509 (X509 *x5)
static QString | verifyText (KSSLValidation x)
static QString | getMD5DigestFromKDEKey (const QString &k)

## Protected Member Functions

void | setCert (X509 *c)
void | setChain (void *c)
X509 * | getCert ()
KSSLValidation | processError (int ec)

## Friends

class | KSSL
class | KSSLCertificateHome
class | KSSLCertificateFactory
class | KSSLCertificateCache
class | KSSLCertChain
class | KSSLPeerInfo
class | KSSLPKCS12
class | KSSLD
class | KSMIMECryptoPrivate
KIO_EXPORT friend int | operator!= (KSSLCertificate &x, KSSLCertificate &y)
KIO_EXPORT friend int | operator== (KSSLCertificate &x, KSSLCertificate &y)

## Detailed Description

KDE X.509 Certificate.

This class represents an X.509 (SSL) certificate. Note: this object is VERY HEAVY TO COPY. Please try to use reference or pointer whenever possible

Author
  George Staikos staik.nosp@m.os@k.nosp@m.de.or.nosp@m.g

See also
  KSSL KDE X.509 Certificate

Definition at line 75 of file ksslcertificate.h.

## Member Enumeration Documentation

enum KSSLCertificate::KSSLValidation

A CA certificate can be validated as Irrelevant when it was not used to sign any other relevant certificate.

Definition at line 113 of file ksslcertificate.h.

## Constructor & Destructor Documentation

KSSLCertificate::~KSSLCertificate | ( |  | ) |

Destroy this X.509 certificate.

Definition at line 118 of file ksslcertificate.cc.

KSSLCertificate::KSSLCertificate | ( | const KSSLCertificate & | x | ) |

Copy constructor.

Beware, this is very expensive.

Parameters

  x | the object to copy from

Definition at line 103 of file ksslcertificate.cc.

## Member Function Documentation

KSSLCertChain & KSSLCertificate::chain | ( |  | ) |

Get a reference to the certificate chain.

Returns
  reference to the chain

Definition at line 127 of file ksslcertificate.cc.

KSSLCertificate * KSSLCertificate::fromString | ( | QCString | cert | ) |

static

Create an X.509 certificate from a base64 encoded string.

Parameters

  cert | the certificate in base64 form

Returns
  the X.509 certificate, or NULL

Definition at line 144 of file ksslcertificate.cc.

KSSLCertificate * KSSLCertificate::fromX509 | ( | X509 * | x5 | ) |

static

Create an X.509 certificate from the internal representation.

This one duplicates the X509 object for itself.

Parameters

  x5 | the OpenSSL representation of the certificate

Returns
  the X.509 certificate, or NULL

Definition at line 132 of file ksslcertificate.cc.

void KSSLCertificate::getEmails | ( | QStringList & | to | ) | const

FIXME: document.

Definition at line 222 of file ksslcertificate.cc.

QString KSSLCertificate::getIssuer | ( |  | ) | const

Get the issuer of the certificate (X.509 map).

Returns
  the issuer

Definition at line 425 of file ksslcertificate.cc.

QString KSSLCertificate::getKDEKey | ( |  | ) | const

KDEKey is a concatenation "Subject (MD5)", mostly needed for SMIME.

The result of getKDEKey might change and should not be used for persistant storage.

Definition at line 239 of file ksslcertificate.cc.

QString KSSLCertificate::getKeyType | ( |  | ) | const

Get the key type (RSA, DSA, etc).

Returns
  the key type as a string

Definition at line 305 of file ksslcertificate.cc.

QString KSSLCertificate::getMD5Digest | ( |  | ) | const

Get the MD5 digest of the certificate.

Returns
  the MD5 digest in a hexidecimal string

Definition at line 282 of file ksslcertificate.cc.

QString KSSLCertificate::getMD5DigestFromKDEKey | ( | const QString & | k | ) |

static

Aegypten semantics force us to search by MD5Digest only.

Definition at line 244 of file ksslcertificate.cc.

QString KSSLCertificate::getMD5DigestText | ( |  | ) | const

Get the MD5 digest of the certificate.

Result is padded with : to separate bytes - it's a text version!

Returns
  the MD5 digest in a hexidecimal string

Definition at line 257 of file ksslcertificate.cc.

QString KSSLCertificate::getNotAfter | ( |  | ) | const

Get the date that the certificate is valid until.

Returns
  the date as a string, localised

Definition at line 861 of file ksslcertificate.cc.

QString KSSLCertificate::getNotBefore | ( |  | ) | const

Get the date that the certificate becomes valid on.

Returns
  the date as a string, localised

Definition at line 852 of file ksslcertificate.cc.

QString KSSLCertificate::getPublicKeyText | ( |  | ) | const

Get the public key.

Returns
  the public key as a hexidecimal string

Definition at line 331 of file ksslcertificate.cc.

QDateTime KSSLCertificate::getQDTNotAfter | ( |  | ) | const

Get the date that the certificate is valid until.

Returns
  the date

Definition at line 879 of file ksslcertificate.cc.

QDateTime KSSLCertificate::getQDTNotBefore | ( |  | ) | const

Get the date that the certificate becomes valid on.

Returns
  the date

Definition at line 870 of file ksslcertificate.cc.

QString KSSLCertificate::getSerialNumber | ( |  | ) | const

Get the serial number of the certificate.

Returns
  the serial number as a string

Definition at line 180 of file ksslcertificate.cc.

QString KSSLCertificate::getSignatureText | ( |  | ) | const

Get the signature.

Returns
  the signature in text format

Definition at line 194 of file ksslcertificate.cc.

QString KSSLCertificate::getSubject | ( |  | ) | const

Get the subject of the certificate (X.509 map).

Returns
  the subject

Definition at line 166 of file ksslcertificate.cc.

bool KSSLCertificate::isSigner | ( |  | ) |

Check if this is a signer certificate.

Returns
  true if this is a signer certificate

Definition at line 1078 of file ksslcertificate.cc.

bool KSSLCertificate::isValid | ( |  | ) |

Check if this is a valid certificate.

Will use cached data.

Returns
  true if it is valid

Definition at line 565 of file ksslcertificate.cc.

bool KSSLCertificate::isValid | ( | KSSLCertificate::KSSLPurpose | p | ) |

Check if this is a valid certificate.

Will use cached data.

Parameters

  p | the purpose to validate for

Returns
  true if it is valid

Definition at line 560 of file ksslcertificate.cc.

KSSLCertificate * KSSLCertificate::replicate | ( |  | ) |

Explicitly make a copy of this certificate.

Returns
  a copy of the certificate

Definition at line 898 of file ksslcertificate.cc.

KSSLCertificate::KSSLValidation KSSLCertificate::revalidate | ( |  | ) |

Check if this is a valid certificate.

Will NOT use cached data.

Returns
  the result of the validation

Definition at line 753 of file ksslcertificate.cc.

KSSLCertificate::KSSLValidation KSSLCertificate::revalidate | ( | KSSLCertificate::KSSLPurpose | p | ) |

Check if this is a valid certificate.

Will NOT use cached data.

Parameters

  p | the purpose to validate for

Returns
  the result of the validation

Definition at line 758 of file ksslcertificate.cc.

bool KSSLCertificate::setCert | ( | QString & | cert | ) |

Re-set the certificate from a base64 string.

Parameters

  cert | the certificate to set to

Returns
  true on success

Definition at line 1058 of file ksslcertificate.cc.

QStringList KSSLCertificate::subjAltNames | ( |  | ) | const

The alternate subject name.

Returns
  string list with subjectAltName

Definition at line 1083 of file ksslcertificate.cc.

QByteArray KSSLCertificate::toDer | ( |  | ) |

Convert the certificate to DER (ASN.1) format.

Returns
  the binary data of the DER encoding

Definition at line 957 of file ksslcertificate.cc.

QByteArray KSSLCertificate::toNetscape | ( |  | ) |

Convert the certificate to Netscape format.

Returns
  the binary data of the Netscape encoding

Definition at line 1003 of file ksslcertificate.cc.

QByteArray KSSLCertificate::toPem | ( |  | ) |

Convert the certificate to PEM (base64) format.

Returns
  the binary data of the PEM encoding

Definition at line 975 of file ksslcertificate.cc.

QString KSSLCertificate::toString | ( |  | ) |

Convert this certificate to a string.

Returns
  the certificate in base64 format

Definition at line 912 of file ksslcertificate.cc.

QString KSSLCertificate::toText | ( |  | ) |

Convert the certificate to OpenSSL plain text format.

Returns
  the OpenSSL text encoding

Definition at line 1036 of file ksslcertificate.cc.

KSSLCertificate::KSSLValidation KSSLCertificate::validate | ( |  | ) |

Check if this is a valid certificate.

Will use cached data.

Returns
  the result of the validation

Definition at line 590 of file ksslcertificate.cc.

KSSLCertificate::KSSLValidation KSSLCertificate::validate | ( | KSSLCertificate::KSSLPurpose | purpose | ) |

Check if this is a valid certificate.

Will use cached data.

Parameters

  p | the purpose to validate for

Returns
  the result of the validation

Definition at line 594 of file ksslcertificate.cc.

KSSLCertificate::KSSLValidationList KSSLCertificate::validateVerbose | ( | KSSLCertificate::KSSLPurpose | purpose | ) |

Check if this is a valid certificate.

Will use cached data.

Parameters

  p | the purpose to validate for

Returns
  all problems encountered during validation

Definition at line 608 of file ksslcertificate.cc.

KSSLCertificate::KSSLValidationList KSSLCertificate::validateVerbose | ( | KSSLCertificate::KSSLPurpose | purpose,
|  | KSSLCertificate * | ca
| ) |  |

Check if the certificate ca is a proper CA for this certificate.

Parameters

  p | the purpose to validate for
  ca | the certificate to check

Returns
  all problems encountered during validation

Definition at line 613 of file ksslcertificate.cc.

QString KSSLCertificate::verifyText | ( | KSSLValidation | x | ) |

static

Obtain the localized message that corresponds to a validation result.

Parameters

  x | the code to look up

Returns
  the message text corresponding to the validation code

Definition at line 917 of file ksslcertificate.cc.

KSSLX509V3 & KSSLCertificate::x509V3Extensions | ( |  | ) |

Access the X.509v3 parameters.

Returns
  reference to the extension object

See also
  KSSLX509V3

Definition at line 1073 of file ksslcertificate.cc.

The documentation for this class was generated from the following files:

- ksslcertificate.h
- ksslcertificate.cc

KDE Home | KDE Accessibility Home | Description of Access Keys