21 #ifndef _KSSLCERTIFICATE_H 22 #define _KSSLCERTIFICATE_H 38 #include <tqcstring.h> 39 #include <tqvaluelist.h> 45 class KSSLCertificatePrivate;
50 #include <tdelibs_export.h> 53 #include "ksslconfig_win.h" 55 #include "ksslconfig.h" 59 typedef struct x509_st X509;
77 friend class KSSLCertificateHome;
78 friend class KSSLCertificateFactory;
79 friend class KSSLCertificateCache;
84 friend class KSMIMECryptoPrivate;
114 PathLengthExceeded, InvalidCA, Expired,
115 SelfSigned, ErrorReadingRoot, NoSSL,
116 Revoked, Untrusted, SignatureFailed,
117 Rejected, PrivateKeyFailed, InvalidHost,
118 Irrelevant, SelfSignedChain
121 enum KSSLPurpose { None=0, SSLServer=1, SSLClient=2,
122 SMIMESign=3, SMIMEEncrypt=4, Any=5 };
124 typedef TQValueList<KSSLValidation> KSSLValidationList;
136 TQString getSubject()
const;
142 TQString getIssuer()
const;
148 TQString getNotBefore()
const;
154 TQString getNotAfter()
const;
160 TQDateTime getQDTNotBefore()
const;
166 TQDateTime getQDTNotAfter()
const;
184 TQByteArray toNetscape();
196 TQString getSerialNumber()
const;
202 TQString getKeyType()
const;
208 TQString getPublicKeyText()
const;
215 TQString getMD5DigestText()
const;
221 TQString getMD5Digest()
const;
227 TQString getSignatureText()
const;
240 bool isValid(KSSLPurpose p);
246 TQStringList subjAltNames()
const;
266 KSSLValidationList validateVerbose(KSSLPurpose p);
275 KSSLValidationList validateVerbose(KSSLPurpose p,
KSSLCertificate *ca);
320 bool setCert(TQString& cert);
338 void getEmails(TQStringList& to)
const;
345 TQString getKDEKey()
const;
350 static TQString getMD5DigestFromKDEKey(
const TQString& k);
356 KSSLCertificatePrivate *d;
357 int purposeToOpenSSL(KSSLPurpose p)
const;
362 void setCert(X509 *c);
363 void setChain(
void *c);
368 TDEIO_EXPORT TQDataStream& operator<<(TQDataStream& s,
const KSSLCertificate& r);
369 TDEIO_EXPORT TQDataStream& operator>>(TQDataStream& s,
KSSLCertificate& r);
373 {
return !(x == y); }
KDE Certificate Chain Representation Class.
KSSLValidation
A CA certificate can be validated as Irrelevant when it was not used to sign any other relevant certi...