KSSLCertificate Class Reference
KDE X.509 Certificate. More...
#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
- See also:
- KSSL KDE X.509 Certificate
Definition at line 75 of file ksslcertificate.h.
Member Enumeration Documentation
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 | ( | ) |
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 |
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.
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 | ( | 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.
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.
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 | ( | 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.
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.
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 | ( | 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::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::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.
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.
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: