KSSLCertificate Class Reference
#include <ksslcertificate.h>
Detailed Description
KDE X.509 CertificateKDE 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 <staikos@kde.org>
- See also:
- KSSL
Definition at line 75 of file ksslcertificate.h.
Public Types | |
| typedef QValueList< KSSLValidation > | KSSLValidationList |
| Unknown | |
| Ok | |
| NoCARoot | |
| InvalidPurpose | |
| PathLengthExceeded | |
| InvalidCA | |
| Expired | |
| SelfSigned | |
| ErrorReadingRoot | |
| NoSSL | |
| Revoked | |
| Untrusted | |
| SignatureFailed | |
| Rejected | |
| PrivateKeyFailed | |
| InvalidHost | |
| Irrelevant | |
| SelfSignedChain | |
| None = 0 | |
| SSLServer = 1 | |
| SSLClient = 2 | |
| SMIMESign = 3 | |
| SMIMEEncrypt = 4 | |
| Any = 5 | |
| 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 } |
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 | |
| KSSLCertificate () | |
| 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) |
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 | ( | 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 | ( | 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 | ( | KSSLPurpose | p | ) |
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 | ( | KSSLPurpose | p, | |
| 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 | ( | KSSLPurpose | p | ) |
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:

