\section{KSSLCertificate Class Reference}
\label{classKSSLCertificate}\index{KSSLCertificate@{KSSLCertificate}}
{\bf KDE} X.509 Certificate {\bf KDE} X.509 Certificate.  


{\tt \#include $<$ksslcertificate.h$>$}

\subsection*{Public Types}
\begin{CompactItemize}
\item 
typedef {\bf QValue\-List}$<$ {\bf KSSLValidation} $>$ {\bf KSSLValidation\-List}\label{classKSSLCertificate_w0}

\item 
enum {\bf KSSLValidation} \{ \par
{\bf Unknown}, 
{\bf Ok}, 
{\bf No\-CARoot}, 
{\bf Invalid\-Purpose}, 
\par
{\bf Path\-Length\-Exceeded}, 
{\bf Invalid\-CA}, 
{\bf Expired}, 
{\bf Self\-Signed}, 
\par
{\bf Error\-Reading\-Root}, 
{\bf No\-SSL}, 
{\bf Revoked}, 
{\bf Untrusted}, 
\par
{\bf Signature\-Failed}, 
{\bf Rejected}, 
{\bf Private\-Key\-Failed}, 
{\bf Invalid\-Host}, 
\par
{\bf Irrelevant}, 
{\bf Self\-Signed\-Chain}
 \}
\item 
enum {\bf KSSLPurpose} \{ \par
{\bf None} = 0, 
{\bf SSLServer} = 1, 
{\bf SSLClient} = 2, 
{\bf SMIMESign} = 3, 
\par
{\bf SMIMEEncrypt} = 4, 
{\bf Any} = 5
 \}
\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf $\sim$KSSLCertificate} ()
\item 
{\bf QString} {\bf to\-String} ()
\item 
{\bf QString} {\bf get\-Subject} () const 
\item 
{\bf QString} {\bf get\-Issuer} () const 
\item 
{\bf QString} {\bf get\-Not\-Before} () const 
\item 
{\bf QString} {\bf get\-Not\-After} () const 
\item 
{\bf QDate\-Time} {\bf get\-QDTNot\-Before} () const 
\item 
{\bf QDate\-Time} {\bf get\-QDTNot\-After} () const 
\item 
{\bf QByte\-Array} {\bf to\-Der} ()
\item 
{\bf QByte\-Array} {\bf to\-Pem} ()
\item 
{\bf QByte\-Array} {\bf to\-Netscape} ()
\item 
{\bf QString} {\bf to\-Text} ()
\item 
{\bf QString} {\bf get\-Serial\-Number} () const 
\item 
{\bf QString} {\bf get\-Key\-Type} () const 
\item 
{\bf QString} {\bf get\-Public\-Key\-Text} () const 
\item 
{\bf QString} {\bf get\-MD5Digest\-Text} () const 
\item 
{\bf QString} {\bf get\-MD5Digest} () const 
\item 
{\bf QString} {\bf get\-Signature\-Text} () const 
\item 
bool {\bf is\-Valid} ()
\item 
bool {\bf is\-Valid} (KSSLPurpose p)
\item 
{\bf QString\-List} {\bf subj\-Alt\-Names} () const 
\item 
{\bf KSSLValidation} {\bf validate} ()
\item 
{\bf KSSLValidation} {\bf validate} (KSSLPurpose p)
\item 
{\bf KSSLValidation\-List} {\bf validate\-Verbose} (KSSLPurpose p)
\item 
{\bf KSSLValidation\-List} {\bf validate\-Verbose} (KSSLPurpose p, {\bf KSSLCertificate} $\ast$ca)
\item 
{\bf KSSLValidation} {\bf revalidate} ()
\item 
{\bf KSSLValidation} {\bf revalidate} (KSSLPurpose p)
\item 
{\bf KSSLCert\-Chain} \& {\bf chain} ()
\item 
{\bf KSSLCertificate} $\ast$ {\bf replicate} ()
\item 
{\bf KSSLCertificate} (const {\bf KSSLCertificate} \&x)
\item 
bool {\bf set\-Cert} ({\bf QString} \&cert)
\item 
{\bf KSSLX509V3} \& {\bf x509V3Extensions} ()
\item 
bool {\bf is\-Signer} ()
\item 
void {\bf get\-Emails} ({\bf QString\-List} \&to) const 
\item 
{\bf QString} {\bf get\-KDEKey} () const 
\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
static {\bf KSSLCertificate} $\ast$ {\bf from\-String} ({\bf QCString} cert)
\item 
static {\bf KSSLCertificate} $\ast$ {\bf from\-X509} (X509 $\ast$x5)
\item 
static {\bf QString} {\bf verify\-Text} ({\bf KSSLValidation} x)
\item 
static {\bf QString} {\bf get\-MD5Digest\-From\-KDEKey} (const {\bf QString} \&k)
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
void {\bf set\-Cert} (X509 $\ast$c)\label{classKSSLCertificate_b1}

\item 
void {\bf set\-Chain} (void $\ast$c)\label{classKSSLCertificate_b2}

\item 
X509 $\ast$ {\bf get\-Cert} ()\label{classKSSLCertificate_b3}

\item 
{\bf KSSLValidation} {\bf process\-Error} (int ec)\label{classKSSLCertificate_b4}

\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf KSSL}\label{classKSSLCertificate_n0}

\item 
class {\bf KSSLCertificate\-Home}\label{classKSSLCertificate_n1}

\item 
class {\bf KSSLCertificate\-Factory}\label{classKSSLCertificate_n2}

\item 
class {\bf KSSLCertificate\-Cache}\label{classKSSLCertificate_n3}

\item 
class {\bf KSSLCert\-Chain}\label{classKSSLCertificate_n4}

\item 
class {\bf KSSLPeer\-Info}\label{classKSSLCertificate_n5}

\item 
class {\bf KSSLPKCS12}\label{classKSSLCertificate_n6}

\item 
class {\bf KSSLD}\label{classKSSLCertificate_n7}

\item 
class {\bf KSMIMECrypto\-Private}\label{classKSSLCertificate_n8}

\item 
KIO\_\-EXPORT friend int {\bf operator!=} ({\bf KSSLCertificate} \&x, {\bf KSSLCertificate} \&y)\label{classKSSLCertificate_n9}

\item 
KIO\_\-EXPORT friend int {\bf operator==} ({\bf KSSLCertificate} \&x, {\bf KSSLCertificate} \&y)\label{classKSSLCertificate_n10}

\end{CompactItemize}


\subsection{Detailed Description}
{\bf KDE} X.509 Certificate {\bf 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

\begin{Desc}
\item[Author:]George Staikos $<${\tt staikos@kde.org}$>$ \end{Desc}
\begin{Desc}
\item[See also:]{\bf KSSL}{\rm (p.\,\pageref{classKSSL})} \end{Desc}




Definition at line 75 of file ksslcertificate.h.

\subsection{Member Enumeration Documentation}
\index{KSSLCertificate@{KSSLCertificate}!KSSLValidation@{KSSLValidation}}
\index{KSSLValidation@{KSSLValidation}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf KSSLCertificate::KSSLValidation}}\label{classKSSLCertificate_w25}


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.

\subsection{Constructor \& Destructor Documentation}
\index{KSSLCertificate@{KSSLCertificate}!~KSSLCertificate@{$\sim$KSSLCertificate}}
\index{~KSSLCertificate@{$\sim$KSSLCertificate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}KSSLCertificate::$\sim${\bf KSSLCertificate} ()}\label{classKSSLCertificate_a0}


Destroy this X.509 certificate. 



Definition at line 118 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!KSSLCertificate@{KSSLCertificate}}
\index{KSSLCertificate@{KSSLCertificate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}KSSLCertificate::KSSLCertificate (const {\bf KSSLCertificate} \& {\em x})}\label{classKSSLCertificate_a29}


Copy constructor. 

Beware, this is very expensive. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em x}]the object to copy from\end{description}
\end{Desc}


Definition at line 103 of file ksslcertificate.cc.

References KStandard\-Dirs::add\-Resource\-Type(), KGlobal::dirs(), KSSLCert\-Chain::raw\-Chain(), and set\-Cert().

Referenced by replicate().

\subsection{Member Function Documentation}
\index{KSSLCertificate@{KSSLCertificate}!fromString@{fromString}}
\index{fromString@{fromString}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate} $\ast$ KSSLCertificate::from\-String ({\bf QCString} {\em cert})\hspace{0.3cm}{\tt  [static]}}\label{classKSSLCertificate_e0}


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

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em cert}]the certificate in base64 form \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the X.509 certificate, or NULL\end{Desc}


Definition at line 144 of file ksslcertificate.cc.

References KCodecs::base64Decode(), QCString::copy(), QCString::length(), and set\-Cert().

Referenced by Observer::message\-Box(), and KSSLCert\-Chain::set\-Cert\-Chain().\index{KSSLCertificate@{KSSLCertificate}!fromX509@{fromX509}}
\index{fromX509@{fromX509}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate} $\ast$ KSSLCertificate::from\-X509 (X509 $\ast$ {\em x5})\hspace{0.3cm}{\tt  [static]}}\label{classKSSLCertificate_e1}


Create an X.509 certificate from the internal representation. 

This one duplicates the X509 object for itself. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em x5}]the Open\-SSL representation of the certificate \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the X.509 certificate, or NULL \end{Desc}


Definition at line 132 of file ksslcertificate.cc.

References set\-Cert().\index{KSSLCertificate@{KSSLCertificate}!toString@{toString}}
\index{toString@{toString}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::to\-String ()}\label{classKSSLCertificate_a1}


Convert this certificate to a string. 

\begin{Desc}
\item[Returns:]the certificate in base64 format\end{Desc}


Definition at line 912 of file ksslcertificate.cc.

References KCodecs::base64Encode(), and to\-Der().

Referenced by to\-Pem().\index{KSSLCertificate@{KSSLCertificate}!getSubject@{getSubject}}
\index{getSubject@{getSubject}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Subject () const}\label{classKSSLCertificate_a2}


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

\begin{Desc}
\item[Returns:]the subject\end{Desc}


Definition at line 166 of file ksslcertificate.cc.

Referenced by KSSLPeer\-Info::cert\-Matches\-Address(), get\-KDEKey(), and KSSLPKCS7::name().\index{KSSLCertificate@{KSSLCertificate}!getIssuer@{getIssuer}}
\index{getIssuer@{getIssuer}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Issuer () const}\label{classKSSLCertificate_a3}


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

\begin{Desc}
\item[Returns:]the issuer\end{Desc}


Definition at line 425 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!getNotBefore@{getNotBefore}}
\index{getNotBefore@{getNotBefore}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Not\-Before () const}\label{classKSSLCertificate_a4}


Get the date that the certificate becomes valid on. 

\begin{Desc}
\item[Returns:]the date as a string, localised\end{Desc}


Definition at line 852 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!getNotAfter@{getNotAfter}}
\index{getNotAfter@{getNotAfter}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Not\-After () const}\label{classKSSLCertificate_a5}


Get the date that the certificate is valid until. 

\begin{Desc}
\item[Returns:]the date as a string, localised\end{Desc}


Definition at line 861 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!getQDTNotBefore@{getQDTNotBefore}}
\index{getQDTNotBefore@{getQDTNotBefore}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QDate\-Time} KSSLCertificate::get\-QDTNot\-Before () const}\label{classKSSLCertificate_a6}


Get the date that the certificate becomes valid on. 

\begin{Desc}
\item[Returns:]the date\end{Desc}


Definition at line 870 of file ksslcertificate.cc.

References QDate\-Time::current\-Date\-Time().\index{KSSLCertificate@{KSSLCertificate}!getQDTNotAfter@{getQDTNotAfter}}
\index{getQDTNotAfter@{getQDTNotAfter}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QDate\-Time} KSSLCertificate::get\-QDTNot\-After () const}\label{classKSSLCertificate_a7}


Get the date that the certificate is valid until. 

\begin{Desc}
\item[Returns:]the date\end{Desc}


Definition at line 879 of file ksslcertificate.cc.

References QDate\-Time::current\-Date\-Time().\index{KSSLCertificate@{KSSLCertificate}!toDer@{toDer}}
\index{toDer@{toDer}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QByte\-Array} KSSLCertificate::to\-Der ()}\label{classKSSLCertificate_a8}


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

\begin{Desc}
\item[Returns:]the binary data of the DER encoding\end{Desc}


Definition at line 957 of file ksslcertificate.cc.

Referenced by to\-String().\index{KSSLCertificate@{KSSLCertificate}!toPem@{toPem}}
\index{toPem@{toPem}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QByte\-Array} KSSLCertificate::to\-Pem ()}\label{classKSSLCertificate_a9}


Convert the certificate to PEM (base64) format. 

\begin{Desc}
\item[Returns:]the binary data of the PEM encoding\end{Desc}


Definition at line 977 of file ksslcertificate.cc.

References QString::append(), QString::insert(), QString::length(), QString::local8Bit(), QString::prepend(), and to\-String().\index{KSSLCertificate@{KSSLCertificate}!toNetscape@{toNetscape}}
\index{toNetscape@{toNetscape}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QByte\-Array} KSSLCertificate::to\-Netscape ()}\label{classKSSLCertificate_a10}


Convert the certificate to Netscape format. 

\begin{Desc}
\item[Returns:]the binary data of the Netscape encoding\end{Desc}


Definition at line 1005 of file ksslcertificate.cc.

References KTemp\-File::close(), KTemp\-File::fstream(), KTemp\-File::name(), and KTemp\-File::unlink().\index{KSSLCertificate@{KSSLCertificate}!toText@{toText}}
\index{toText@{toText}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::to\-Text ()}\label{classKSSLCertificate_a11}


Convert the certificate to Open\-SSL plain text format. 

\begin{Desc}
\item[Returns:]the Open\-SSL text encoding\end{Desc}


Definition at line 1038 of file ksslcertificate.cc.

References KTemp\-File::close(), KTemp\-File::fstream(), KTemp\-File::name(), and KTemp\-File::unlink().\index{KSSLCertificate@{KSSLCertificate}!getSerialNumber@{getSerialNumber}}
\index{getSerialNumber@{getSerialNumber}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Serial\-Number () const}\label{classKSSLCertificate_a12}


Get the serial number of the certificate. 

\begin{Desc}
\item[Returns:]the serial number as a string\end{Desc}


Definition at line 180 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!getKeyType@{getKeyType}}
\index{getKeyType@{getKeyType}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Key\-Type () const}\label{classKSSLCertificate_a13}


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

\begin{Desc}
\item[Returns:]the key type as a string\end{Desc}


Definition at line 305 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!getPublicKeyText@{getPublicKeyText}}
\index{getPublicKeyText@{getPublicKeyText}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Public\-Key\-Text () const}\label{classKSSLCertificate_a14}


Get the public key. 

\begin{Desc}
\item[Returns:]the public key as a hexidecimal string\end{Desc}


Definition at line 331 of file ksslcertificate.cc.

References QString::arg().\index{KSSLCertificate@{KSSLCertificate}!getMD5DigestText@{getMD5DigestText}}
\index{getMD5DigestText@{getMD5DigestText}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-MD5Digest\-Text () const}\label{classKSSLCertificate_a15}


Get the MD5 digest of the certificate. 

Result is padded with : to separate bytes - it's a text version! \begin{Desc}
\item[Returns:]the MD5 digest in a hexidecimal string\end{Desc}


Definition at line 257 of file ksslcertificate.cc.

References QString::append().

Referenced by get\-KDEKey().\index{KSSLCertificate@{KSSLCertificate}!getMD5Digest@{getMD5Digest}}
\index{getMD5Digest@{getMD5Digest}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-MD5Digest () const}\label{classKSSLCertificate_a16}


Get the MD5 digest of the certificate. 

\begin{Desc}
\item[Returns:]the MD5 digest in a hexidecimal string\end{Desc}


Definition at line 282 of file ksslcertificate.cc.

References QString::append().\index{KSSLCertificate@{KSSLCertificate}!getSignatureText@{getSignatureText}}
\index{getSignatureText@{getSignatureText}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-Signature\-Text () const}\label{classKSSLCertificate_a17}


Get the signature. 

\begin{Desc}
\item[Returns:]the signature in text format\end{Desc}


Definition at line 194 of file ksslcertificate.cc.

References QString::append(), and QString::length().\index{KSSLCertificate@{KSSLCertificate}!isValid@{isValid}}
\index{isValid@{isValid}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool KSSLCertificate::is\-Valid ()}\label{classKSSLCertificate_a18}


Check if this is a valid certificate. 

Will use cached data. \begin{Desc}
\item[Returns:]true if it is valid\end{Desc}


Definition at line 565 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!isValid@{isValid}}
\index{isValid@{isValid}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool KSSLCertificate::is\-Valid (KSSLPurpose {\em p})}\label{classKSSLCertificate_a19}


Check if this is a valid certificate. 

Will use cached data. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em p}]the purpose to validate for \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true if it is valid\end{Desc}


Definition at line 560 of file ksslcertificate.cc.

References validate().\index{KSSLCertificate@{KSSLCertificate}!subjAltNames@{subjAltNames}}
\index{subjAltNames@{subjAltNames}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString\-List} KSSLCertificate::subj\-Alt\-Names () const}\label{classKSSLCertificate_a20}


The alternate subject name. 

\begin{Desc}
\item[Returns:]string list with subject\-Alt\-Name\end{Desc}


Definition at line 1085 of file ksslcertificate.cc.

References QString::is\-Empty().

Referenced by KSSLPeer\-Info::cert\-Matches\-Address().\index{KSSLCertificate@{KSSLCertificate}!validate@{validate}}
\index{validate@{validate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate::KSSLValidation} KSSLCertificate::validate ()}\label{classKSSLCertificate_a21}


Check if this is a valid certificate. 

Will use cached data. \begin{Desc}
\item[Returns:]the result of the validation\end{Desc}


Definition at line 590 of file ksslcertificate.cc.

Referenced by is\-Valid(), revalidate(), and KSSLPKCS7::validate().\index{KSSLCertificate@{KSSLCertificate}!validate@{validate}}
\index{validate@{validate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate::KSSLValidation} KSSLCertificate::validate (KSSLPurpose {\em p})}\label{classKSSLCertificate_a22}


Check if this is a valid certificate. 

Will use cached data. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em p}]the purpose to validate for \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the result of the validation\end{Desc}


Definition at line 594 of file ksslcertificate.cc.

References QValue\-List::first(), QValue\-List::is\-Empty(), and validate\-Verbose().\index{KSSLCertificate@{KSSLCertificate}!validateVerbose@{validateVerbose}}
\index{validateVerbose@{validateVerbose}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate::KSSLValidation\-List} KSSLCertificate::validate\-Verbose (KSSLPurpose {\em p})}\label{classKSSLCertificate_a23}


Check if this is a valid certificate. 

Will use cached data. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em p}]the purpose to validate for \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]all problems encountered during validation\end{Desc}


Definition at line 608 of file ksslcertificate.cc.

Referenced by validate().\index{KSSLCertificate@{KSSLCertificate}!validateVerbose@{validateVerbose}}
\index{validateVerbose@{validateVerbose}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate::KSSLValidation\-List} KSSLCertificate::validate\-Verbose (KSSLPurpose {\em p}, {\bf KSSLCertificate} $\ast$ {\em ca})}\label{classKSSLCertificate_a24}


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

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em p}]the purpose to validate for \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]all problems encountered during validation\end{Desc}


Definition at line 613 of file ksslcertificate.cc.

References KGlobal::dirs(), endl(), kd\-Debug(), and KStandard\-Dirs::resource\-Dirs().\index{KSSLCertificate@{KSSLCertificate}!revalidate@{revalidate}}
\index{revalidate@{revalidate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate::KSSLValidation} KSSLCertificate::revalidate ()}\label{classKSSLCertificate_a25}


Check if this is a valid certificate. 

Will NOT use cached data. \begin{Desc}
\item[Returns:]the result of the validation\end{Desc}


Definition at line 753 of file ksslcertificate.cc.

Referenced by KSSLPKCS7::revalidate().\index{KSSLCertificate@{KSSLCertificate}!revalidate@{revalidate}}
\index{revalidate@{revalidate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate::KSSLValidation} KSSLCertificate::revalidate (KSSLPurpose {\em p})}\label{classKSSLCertificate_a26}


Check if this is a valid certificate. 

Will NOT use cached data. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em p}]the purpose to validate for \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the result of the validation\end{Desc}


Definition at line 758 of file ksslcertificate.cc.

References validate().\index{KSSLCertificate@{KSSLCertificate}!chain@{chain}}
\index{chain@{chain}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCert\-Chain} \& KSSLCertificate::chain ()}\label{classKSSLCertificate_a27}


Get a reference to the certificate chain. 

\begin{Desc}
\item[Returns:]reference to the chain\end{Desc}


Definition at line 127 of file ksslcertificate.cc.

References KSSLCert\-Chain::\_\-chain.

Referenced by Observer::message\-Box().\index{KSSLCertificate@{KSSLCertificate}!verifyText@{verifyText}}
\index{verifyText@{verifyText}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::verify\-Text ({\bf KSSLValidation} {\em x})\hspace{0.3cm}{\tt  [static]}}\label{classKSSLCertificate_e2}


Obtain the localized message that corresponds to a validation result. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em x}]the code to look up \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the message text corresponding to the validation code\end{Desc}


Definition at line 917 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!replicate@{replicate}}
\index{replicate@{replicate}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLCertificate} $\ast$ KSSLCertificate::replicate ()}\label{classKSSLCertificate_a28}


Explicitly make a copy of this certificate. 

\begin{Desc}
\item[Returns:]a copy of the certificate\end{Desc}


Definition at line 898 of file ksslcertificate.cc.

References KSSLCertificate(), KSSLCert\-Chain::raw\-Chain(), set\-Cert(), and set\-Chain().\index{KSSLCertificate@{KSSLCertificate}!setCert@{setCert}}
\index{setCert@{setCert}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool KSSLCertificate::set\-Cert ({\bf QString} \& {\em cert})}\label{classKSSLCertificate_a30}


Re-set the certificate from a base64 string. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em cert}]the certificate to set to \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true on success\end{Desc}


Definition at line 1060 of file ksslcertificate.cc.

References KCodecs::base64Decode(), and QString::local8Bit().

Referenced by from\-String(), from\-X509(), KSSLCert\-Chain::get\-Chain(), KSSLCertificate(), and replicate().\index{KSSLCertificate@{KSSLCertificate}!x509V3Extensions@{x509V3Extensions}}
\index{x509V3Extensions@{x509V3Extensions}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KSSLX509V3} \& KSSLCertificate::x509V3Extensions ()}\label{classKSSLCertificate_a31}


Access the X.509v3 parameters. 

\begin{Desc}
\item[Returns:]reference to the extension object \end{Desc}
\begin{Desc}
\item[See also:]{\bf KSSLX509V3}{\rm (p.\,\pageref{classKSSLX509V3})}\end{Desc}


Definition at line 1075 of file ksslcertificate.cc.\index{KSSLCertificate@{KSSLCertificate}!isSigner@{isSigner}}
\index{isSigner@{isSigner}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool KSSLCertificate::is\-Signer ()}\label{classKSSLCertificate_a32}


Check if this is a signer certificate. 

\begin{Desc}
\item[Returns:]true if this is a signer certificate\end{Desc}


Definition at line 1080 of file ksslcertificate.cc.

References KSSLX509V3::cert\-Type\-CA().\index{KSSLCertificate@{KSSLCertificate}!getEmails@{getEmails}}
\index{getEmails@{getEmails}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void KSSLCertificate::get\-Emails ({\bf QString\-List} \& {\em to}) const}\label{classKSSLCertificate_a33}


FIXME: document. 



Definition at line 222 of file ksslcertificate.cc.

References QString::append().\index{KSSLCertificate@{KSSLCertificate}!getKDEKey@{getKDEKey}}
\index{getKDEKey@{getKDEKey}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-KDEKey () const}\label{classKSSLCertificate_a34}


KDEKey is a concatenation \char`\"{}Subject (MD5)\char`\"{}, mostly needed for SMIME. 

The result of get\-KDEKey might change and should not be used for persistant storage.

Definition at line 239 of file ksslcertificate.cc.

References get\-MD5Digest\-Text(), and get\-Subject().\index{KSSLCertificate@{KSSLCertificate}!getMD5DigestFromKDEKey@{getMD5DigestFromKDEKey}}
\index{getMD5DigestFromKDEKey@{getMD5DigestFromKDEKey}!KSSLCertificate@{KSSLCertificate}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf QString} KSSLCertificate::get\-MD5Digest\-From\-KDEKey (const {\bf QString} \& {\em k})\hspace{0.3cm}{\tt  [static]}}\label{classKSSLCertificate_e3}


Aegypten semantics force us to search by MD5Digest only. 



Definition at line 244 of file ksslcertificate.cc.

References QString::find\-Rev(), QString::length(), and QString::mid().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
ksslcertificate.h\item 
ksslcertificate.cc\end{CompactItemize}
