• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeio/kssl
 

tdeio/kssl

  • tdeio
  • kssl
ksslinfodlg.cpp
1/* This file is part of the KDE project
2 *
3 * Copyright (C) 2000,2001 George Staikos <staikos@kde.org>
4 * Copyright (C) 2000 Malte Starostik <malte@kde.org>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public License
17 * along with this library; see the file COPYING.LIB. If not, write to
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
20 */
21
22#include "ksslinfodlg.h"
23
24#include <kssl.h>
25
26#include <tqlayout.h>
27#include <kpushbutton.h>
28#include <tqframe.h>
29#include <tqlabel.h>
30#include <tqscrollview.h>
31#include <tqfile.h>
32
33#include <tdeapplication.h>
34#include <tdeglobal.h>
35#include <tdelocale.h>
36#include <tdeprocess.h>
37#include <kiconloader.h>
38#include <tdeglobalsettings.h>
39#include <ksqueezedtextlabel.h>
40#include <kurllabel.h>
41#include <kstdguiitem.h>
42//#include <tdestandarddirs.h>
43//#include <krun.h>
44#include <kcombobox.h>
45#include "ksslcertificate.h"
46#include "ksslcertchain.h"
47#include "ksslsigners.h"
48
49
50class KSSLInfoDlg::KSSLInfoDlgPrivate {
51 private:
52 friend class KSSLInfoDlg;
53 bool m_secCon;
54 TQGridLayout *m_layout;
55 KComboBox *_chain;
56 KSSLCertificate *_cert;
57 KSSLCertificate::KSSLValidationList _cert_ksvl;
58
59 bool inQuestion;
60
61 TQLabel *_serialNum;
62 TQLabel *_csl;
63 TQLabel *_validFrom;
64 TQLabel *_validUntil;
65 TQLabel *_digest;
66
67 TQLabel *pixmap;
68 TQLabel *info;
69
70 KSSLCertBox *_subject, *_issuer;
71};
72
73
74
75KSSLInfoDlg::KSSLInfoDlg(bool secureConnection, TQWidget *parent, const char *name, bool modal)
76 : KDialog(parent, name, modal, (WFlags)TQt::WDestructiveClose), d(new KSSLInfoDlgPrivate) {
77 TQVBoxLayout *topLayout = new TQVBoxLayout(this, KDialog::marginHint(), KDialog::spacingHint());
78 d->m_secCon = secureConnection;
79 d->m_layout = new TQGridLayout(topLayout, 3, 3, KDialog::spacingHint());
80 d->m_layout->setColStretch(1, 1);
81 d->m_layout->setColStretch(2, 1);
82
83 d->pixmap = new TQLabel(this);
84 d->m_layout->addWidget(d->pixmap, 0, 0);
85
86 d->info = new TQLabel(this);
87 d->m_layout->addWidget(d->info, 0, 1);
88
89 if (KSSL::doesSSLWork()) {
90 if (d->m_secCon) {
91 d->pixmap->setPixmap(BarIcon("encrypted"));
92 d->info->setText(i18n("Current connection is secured with SSL."));
93 } else {
94 d->pixmap->setPixmap(BarIcon("decrypted"));
95 d->info->setText(i18n("Current connection is not secured with SSL."));
96 }
97 } else {
98 d->pixmap->setPixmap(BarIcon("decrypted"));
99 d->info->setText(i18n("SSL support is not available in this build of TDE."));
100 }
101 d->m_layout->addRowSpacing( 0, 50 ); // give minimum height to look better
102
103 TQHBoxLayout *buttonLayout = new TQHBoxLayout(topLayout, KDialog::spacingHint());
104 buttonLayout->addStretch( 1 );
105
106 KPushButton *button;
107
108 if (KSSL::doesSSLWork()) {
109 button = new KPushButton(KGuiItem(i18n("C&ryptography Configuration..."),"configure"), this);
110 connect(button, TQ_SIGNAL(clicked()), TQ_SLOT(launchConfig()));
111 buttonLayout->addWidget( button );
112 }
113
114 button = new KPushButton(KStdGuiItem::close(), this);
115 connect(button, TQ_SIGNAL(clicked()), TQ_SLOT(close()));
116 buttonLayout->addWidget( button );
117
118 button->setFocus();
119
120 setCaption(i18n("TDE SSL Information"));
121 d->inQuestion = false;
122 }
123
124
125KSSLInfoDlg::~KSSLInfoDlg() {
126 delete d;
127}
128
129void KSSLInfoDlg::launchConfig() {
130 TDEProcess p;
131 p << "tdecmshell" << "crypto";
132 p.start(TDEProcess::DontCare);
133}
134
135
136void KSSLInfoDlg::setSecurityInQuestion(bool isIt) {
137 d->inQuestion = isIt;
138 if (KSSL::doesSSLWork()) {
139 if (isIt) {
140 d->pixmap->setPixmap(BarIcon("halfencrypted"));
141 if (d->m_secCon) {
142 d->info->setText(i18n("The main part of this document is secured with SSL, but some parts are not."));
143 }
144 else {
145 d->info->setText(i18n("Some of this document is secured with SSL, but the main part is not."));
146 }
147 }
148 else {
149 if (d->m_secCon) {
150 d->pixmap->setPixmap(BarIcon("encrypted"));
151 d->info->setText(i18n("Current connection is secured with SSL."));
152 }
153 else {
154 d->pixmap->setPixmap(BarIcon("decrypted"));
155 d->info->setText(i18n("Current connection is not secured with SSL."));
156 }
157 }
158 }
159}
160
161
162void KSSLInfoDlg::setup( KSSL & ssl, const TQString & ip, const TQString & url )
163{
164 setup(
165 &ssl.peerInfo().getPeerCertificate(),
166 ip,
167 url,
168 ssl.connectionInfo().getCipher(),
169 ssl.connectionInfo().getCipherDescription(),
170 ssl.connectionInfo().getCipherVersion(),
171 ssl.connectionInfo().getCipherUsedBits(),
172 ssl.connectionInfo().getCipherBits(),
173 ssl.peerInfo().getPeerCertificate().validate()
174 );
175}
176
177void KSSLInfoDlg::setup(KSSLCertificate *cert,
178 const TQString& ip, const TQString& url,
179 const TQString& cipher, const TQString& cipherdesc,
180 const TQString& sslversion, int usedbits, int bits,
181 KSSLCertificate::KSSLValidation /*certState*/) {
182 // Needed to put the GUI stuff here to get the layouting right
183
184 d->_cert = cert;
185
186 TQGridLayout *layout = new TQGridLayout(4, 2, KDialog::spacingHint());
187
188 layout->addWidget(new TQLabel(i18n("Chain:"), this), 0, 0);
189 d->_chain = new KComboBox(this);
190 layout->addMultiCellWidget(d->_chain, 1, 1, 0, 1);
191 connect(d->_chain, TQ_SIGNAL(activated(int)), this, TQ_SLOT(slotChain(int)));
192
193 d->_chain->clear();
194
195 if (cert->chain().isValid() && cert->chain().depth() > 1) {
196 d->_chain->setEnabled(true);
197 d->_chain->insertItem(i18n("0 - Site Certificate"));
198 int cnt = 0;
199 TQPtrList<KSSLCertificate> cl = cert->chain().getChain();
200 cl.setAutoDelete(true);
201 for (KSSLCertificate *c = cl.first(); c != 0; c = cl.next()) {
202 KSSLX509Map map(c->getSubject());
203 TQString id;
204 id = map.getValue("CN");
205 if (id.length() == 0)
206 id = map.getValue("O");
207 if (id.length() == 0)
208 id = map.getValue("OU");
209 d->_chain->insertItem(TQString::number(++cnt)+" - "+id);
210 }
211 d->_chain->setCurrentItem(0);
212 } else d->_chain->setEnabled(false);
213
214 layout->addWidget(new TQLabel(i18n("Peer certificate:"), this), 2, 0);
215 layout->addWidget(d->_subject = static_cast<KSSLCertBox*>(buildCertInfo(cert->getSubject())), 3, 0);
216 layout->addWidget(new TQLabel(i18n("Issuer:"), this), 2, 1);
217 layout->addWidget(d->_issuer = static_cast<KSSLCertBox*>(buildCertInfo(cert->getIssuer())), 3, 1);
218 d->m_layout->addMultiCell(layout, 1, 1, 0, 2);
219
220 layout = new TQGridLayout(11, 2, KDialog::spacingHint());
221 layout->setColStretch(1, 1);
222 TQLabel *ipl = new TQLabel(i18n("IP address:"), this);
223 layout->addWidget(ipl, 0, 0);
224 if (ip.isEmpty()) {
225 ipl->hide();
226 }
227 layout->addWidget(ipl = new TQLabel(ip, this), 0, 1);
228 if (ip.isEmpty()) {
229 ipl->hide();
230 }
231 layout->addWidget(new TQLabel(i18n("URL:"), this), 1, 0);
232 KSqueezedTextLabel *urlLabel = new KSqueezedTextLabel(url, this);
233 layout->addWidget(urlLabel, 1, 1);
234 layout->addWidget(new TQLabel(i18n("Certificate state:"), this), 2, 0);
235
236 layout->addWidget(d->_csl = new TQLabel("", this), 2, 1);
237
238 update();
239
240 layout->addWidget(new TQLabel(i18n("Valid from:"), this), 3, 0);
241 layout->addWidget(d->_validFrom = new TQLabel("", this), 3, 1);
242 layout->addWidget(new TQLabel(i18n("Valid until:"), this), 4, 0);
243 layout->addWidget(d->_validUntil = new TQLabel("", this), 4, 1);
244
245 layout->addWidget(new TQLabel(i18n("Serial number:"), this), 5, 0);
246 layout->addWidget(d->_serialNum = new TQLabel("", this), 5, 1);
247 layout->addWidget(new TQLabel(i18n("MD5 digest:"), this), 6, 0);
248 layout->addWidget(d->_digest = new TQLabel("", this), 6, 1);
249
250 layout->addWidget(new TQLabel(i18n("Cipher in use:"), this), 7, 0);
251 layout->addWidget(new TQLabel(cipher, this), 7, 1);
252 layout->addWidget(new TQLabel(i18n("Details:"), this), 8, 0);
253 layout->addWidget(new TQLabel(cipherdesc.simplifyWhiteSpace(), this), 8, 1);
254 layout->addWidget(new TQLabel(i18n("SSL version:"), this), 9, 0);
255 layout->addWidget(new TQLabel(sslversion, this), 9, 1);
256 layout->addWidget(new TQLabel(i18n("Cipher strength:"), this), 10, 0);
257 layout->addWidget(new TQLabel(i18n("%1 bits used of a %2 bit cipher").arg(usedbits).arg(bits), this), 10, 1);
258 d->m_layout->addMultiCell(layout, 2, 2, 0, 2);
259
260 ipl->setTextFormat(TQt::PlainText);
261 urlLabel->setTextFormat(TQt::PlainText);
262 d->_serialNum->setTextFormat(TQt::PlainText);
263 d->_csl->setTextFormat(TQt::PlainText);
264 d->_validFrom->setTextFormat(TQt::PlainText);
265 d->_validUntil->setTextFormat(TQt::PlainText);
266 d->_digest->setTextFormat(TQt::PlainText);
267
268 displayCert(cert);
269}
270
271void KSSLInfoDlg::setCertState(const TQString &errorNrs)
272{
273 d->_cert_ksvl.clear();
274 TQStringList errors = TQStringList::split(':', errorNrs);
275 for(TQStringList::ConstIterator it = errors.begin();
276 it != errors.end(); ++it)
277 {
278 d->_cert_ksvl << (KSSLCertificate::KSSLValidation) (*it).toInt();
279 }
280}
281
282void KSSLInfoDlg::displayCert(KSSLCertificate *x) {
283 TQPalette cspl;
284
285 d->_serialNum->setText(x->getSerialNumber());
286
287 cspl = d->_validFrom->palette();
288 if (x->getQDTNotBefore() > TQDateTime::currentDateTime(TQt::UTC))
289 cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
290 else cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
291 d->_validFrom->setPalette(cspl);
292 d->_validFrom->setText(x->getNotBefore());
293
294 cspl = d->_validUntil->palette();
295 if (x->getQDTNotAfter() < TQDateTime::currentDateTime(TQt::UTC))
296 cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
297 else cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
298 d->_validUntil->setPalette(cspl);
299 d->_validUntil->setText(x->getNotAfter());
300
301 cspl = palette();
302
303 KSSLCertificate::KSSLValidation ksv;
304 KSSLCertificate::KSSLValidationList ksvl;
305 if ((x == d->_cert) && !d->_cert_ksvl.isEmpty()) {
306 ksvl = d->_cert_ksvl;
307 ksv = ksvl.first();
308 } else {
309 if (x == d->_cert)
310 ksvl = d->_cert->validateVerbose(KSSLCertificate::SSLServer);
311 else
312 ksvl = d->_cert->validateVerbose(KSSLCertificate::SSLServer, x);
313
314 if (ksvl.isEmpty())
315 ksvl << KSSLCertificate::Ok;
316
317 ksv = ksvl.first();
318
319 if (ksv == KSSLCertificate::SelfSigned) {
320 if (x->getQDTNotAfter() > TQDateTime::currentDateTime(TQt::UTC) &&
321 x->getQDTNotBefore() < TQDateTime::currentDateTime(TQt::UTC)) {
322 if (KSSLSigners().useForSSL(*x))
323 ksv = KSSLCertificate::Ok;
324 } else {
325 ksv = KSSLCertificate::Expired;
326 }
327 }
328 }
329
330 if (ksv == KSSLCertificate::Ok) {
331 cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
332 } else if (ksv != KSSLCertificate::Irrelevant) {
333 cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
334 }
335 d->_csl->setPalette(cspl);
336
337 TQString errorStr;
338 for(KSSLCertificate::KSSLValidationList::ConstIterator it = ksvl.begin();
339 it != ksvl.end(); ++it) {
340 if (!errorStr.isEmpty())
341 errorStr.append('\n');
342 errorStr += KSSLCertificate::verifyText(*it);
343 }
344
345 d->_csl->setText(errorStr);
346 d->_csl->setMinimumSize(d->_csl->sizeHint());
347
348 d->_subject->setValues(x->getSubject());
349 d->_issuer->setValues(x->getIssuer());
350
351 d->_digest->setText(x->getMD5DigestText());
352}
353
354
355void KSSLInfoDlg::slotChain(int x) {
356 if (x == 0) {
357 displayCert(d->_cert);
358 } else {
359 TQPtrList<KSSLCertificate> cl = d->_cert->chain().getChain();
360 cl.setAutoDelete(true);
361 for (int i = 0; i < x-1; i++)
362 cl.remove((unsigned int)0);
363 KSSLCertificate thisCert = *(cl.at(0));
364 cl.remove((unsigned int)0);
365 thisCert.chain().setChain(cl);
366 displayCert(&thisCert);
367 }
368}
369
370
371KSSLCertBox *KSSLInfoDlg::certInfoWidget(TQWidget *parent, const TQString &certName, TQWidget *mailCatcher) {
372 KSSLCertBox *result = new KSSLCertBox(parent);
373 if (!certName.isEmpty()) {
374 result->setValues(certName, mailCatcher);
375 }
376 return result;
377}
378
379
380KSSLCertBox::KSSLCertBox(TQWidget *parent, const char *name, WFlags f)
381: TQScrollView(parent, name, f)
382{
383 _frame = 0L;
384 setBackgroundMode(TQWidget::PaletteButton);
385 setValues(TQString::null, 0L);
386}
387
388
389void KSSLCertBox::setValues(TQString certName, TQWidget *mailCatcher) {
390 if (_frame) {
391 removeChild(_frame);
392 delete _frame;
393 }
394
395 if (certName.isEmpty()) {
396 _frame = new TQFrame(this);
397 addChild(_frame);
398 viewport()->setBackgroundMode(_frame->backgroundMode());
399 _frame->show();
400 updateScrollBars();
401 show();
402 return;
403 }
404
405 KSSLX509Map cert(certName);
406 TQString tmp;
407 viewport()->setBackgroundMode(TQWidget::PaletteButton);
408 _frame = new TQFrame(this);
409 TQGridLayout *grid = new TQGridLayout(_frame, 1, 2, KDialog::marginHint(), KDialog::spacingHint());
410 grid->setAutoAdd(true);
411 TQLabel *label = 0L;
412 if (!(tmp = cert.getValue("O")).isEmpty()) {
413 label = new TQLabel(i18n("Organization:"), _frame);
414 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
415 (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
416 }
417 if (!(tmp = cert.getValue("OU")).isEmpty()) {
418 label = new TQLabel(i18n("Organizational unit:"), _frame);
419 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
420 (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
421 }
422 if (!(tmp = cert.getValue("L")).isEmpty()) {
423 label = new TQLabel(i18n("Locality:"), _frame);
424 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
425 (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
426 }
427 if (!(tmp = cert.getValue("ST")).isEmpty()) {
428 label = new TQLabel(i18n("Federal State","State:"), _frame);
429 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
430 (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
431 }
432 if (!(tmp = cert.getValue("C")).isEmpty()) {
433 label = new TQLabel(i18n("Country:"), _frame);
434 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
435 (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
436 }
437 if (!(tmp = cert.getValue("CN")).isEmpty()) {
438 label = new TQLabel(i18n("Common name:"), _frame);
439 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
440 (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
441 }
442 if (!(tmp = cert.getValue("Email")).isEmpty()) {
443 label = new TQLabel(i18n("Email:"), _frame);
444 label->setAlignment(TQt::AlignLeft | TQt::AlignTop);
445 if (mailCatcher) {
446 KURLLabel *mail = new KURLLabel(tmp, tmp, _frame);
447 connect(mail, TQ_SIGNAL(leftClickedURL(const TQString &)), mailCatcher, TQ_SLOT(mailClicked(const TQString &)));
448 } else {
449 label = new TQLabel(tmp, _frame);
450 label->setTextFormat(TQt::PlainText);
451 }
452 }
453 if (label && viewport()) {
454 viewport()->setBackgroundMode(label->backgroundMode());
455 }
456 addChild(_frame);
457 updateScrollBars();
458 _frame->show();
459 show();
460}
461
462
463TQScrollView *KSSLInfoDlg::buildCertInfo(const TQString &certName) {
464 return KSSLInfoDlg::certInfoWidget(this, certName, this);
465}
466
467void KSSLInfoDlg::urlClicked(const TQString &url) {
468 tdeApp->invokeBrowser(url);
469}
470
471void KSSLInfoDlg::mailClicked(const TQString &url) {
472 tdeApp->invokeMailer(url, TQString::null);
473}
474
475#include "ksslinfodlg.moc"
KSSLCertBox
KDE SSL Certificate Box.
Definition: ksslinfodlg.h:149
KSSLCertBox::KSSLCertBox
KSSLCertBox(TQWidget *parent=0L, const char *name=0L, WFlags f=0)
Construct a certificate box.
Definition: ksslinfodlg.cpp:380
KSSLCertBox::setValues
void setValues(TQString certName, TQWidget *mailCatcher=0L)
Change the contents of the widget.
Definition: ksslinfodlg.cpp:389
KSSLCertChain::getChain
TQPtrList< KSSLCertificate > getChain()
Obtain a copy of the certificate chain.
Definition: ksslcertchain.cpp:105
KSSLCertChain::setChain
void setChain(void *stack_of_x509)
Set the raw chain from OpenSSL.
Definition: ksslcertchain.cpp:148
KSSLCertChain::isValid
bool isValid()
Determine if this represents a valid certificate chain.
Definition: ksslcertchain.cpp:82
KSSLCertChain::depth
int depth()
Determine the number of entries (depth) of the chain.
Definition: ksslcertchain.cpp:97
KSSLCertificate
KDE X.509 Certificate.
Definition: ksslcertificate.h:77
KSSLCertificate::getNotBefore
TQString getNotBefore() const
Get the date that the certificate becomes valid on.
Definition: ksslcertificate.cpp:904
KSSLCertificate::KSSLValidation
KSSLValidation
A CA certificate can be validated as Irrelevant when it was not used to sign any other relevant certi...
Definition: ksslcertificate.h:122
KSSLCertificate::getQDTNotAfter
TQDateTime getQDTNotAfter() const
Get the date that the certificate is valid until.
Definition: ksslcertificate.cpp:931
KSSLCertificate::getNotAfter
TQString getNotAfter() const
Get the date that the certificate is valid until.
Definition: ksslcertificate.cpp:913
KSSLCertificate::getIssuer
TQString getIssuer() const
Get the issuer of the certificate (X.509 map).
Definition: ksslcertificate.cpp:467
KSSLCertificate::getSubject
TQString getSubject() const
Get the subject of the certificate (X.509 map).
Definition: ksslcertificate.cpp:193
KSSLCertificate::validate
KSSLValidation validate()
Check if this is a valid certificate.
Definition: ksslcertificate.cpp:643
KSSLCertificate::verifyText
static TQString verifyText(KSSLValidation x)
Obtain the localized message that corresponds to a validation result.
Definition: ksslcertificate.cpp:987
KSSLCertificate::getSerialNumber
TQString getSerialNumber() const
Get the serial number of the certificate.
Definition: ksslcertificate.cpp:207
KSSLCertificate::chain
KSSLCertChain & chain()
Get a reference to the certificate chain.
Definition: ksslcertificate.cpp:134
KSSLCertificate::getMD5DigestText
TQString getMD5DigestText() const
Get the MD5 digest of the certificate.
Definition: ksslcertificate.cpp:287
KSSLCertificate::getQDTNotBefore
TQDateTime getQDTNotBefore() const
Get the date that the certificate becomes valid on.
Definition: ksslcertificate.cpp:922
KSSLConnectionInfo::getCipher
const TQString & getCipher() const
Get the cipher in use.
Definition: ksslconnectioninfo.cpp:51
KSSLConnectionInfo::getCipherUsedBits
int getCipherUsedBits() const
Get the number of bits of the cipher that are actually used.
Definition: ksslconnectioninfo.cpp:56
KSSLConnectionInfo::getCipherDescription
const TQString & getCipherDescription() const
Describe the cipher in use.
Definition: ksslconnectioninfo.cpp:46
KSSLConnectionInfo::getCipherVersion
const TQString & getCipherVersion() const
Get the version of the cipher in use.
Definition: ksslconnectioninfo.cpp:41
KSSLConnectionInfo::getCipherBits
int getCipherBits() const
Get bit-size of the cipher.
Definition: ksslconnectioninfo.cpp:61
KSSLInfoDlg
KDE SSL Information Dialog.
Definition: ksslinfodlg.h:50
KSSLInfoDlg::KSSLInfoDlg
KSSLInfoDlg(bool secureConnection, TQWidget *parent=0L, const char *name=0L, bool modal=false)
Construct a KSSL Information Dialog.
Definition: ksslinfodlg.cpp:75
KSSLInfoDlg::setCertState
void setCertState(const TQString &errorNrs)
Set the errors that were encountered while validating the site certificate.
Definition: ksslinfodlg.cpp:271
KSSLInfoDlg::~KSSLInfoDlg
virtual ~KSSLInfoDlg()
Destroy this dialog.
Definition: ksslinfodlg.cpp:125
KSSLInfoDlg::certInfoWidget
static KSSLCertBox * certInfoWidget(TQWidget *parent, const TQString &certName, TQWidget *mailCatcher=0)
Utility function to generate the widget which displays the detailed information about an X....
Definition: ksslinfodlg.cpp:371
KSSLInfoDlg::setup
void setup(KSSLCertificate *cert, const TQString &ip, const TQString &url, const TQString &cipher, const TQString &cipherdesc, const TQString &sslversion, int usedbits, int bits, KSSLCertificate::KSSLValidation certState)
Setup the dialog before showing it.
Definition: ksslinfodlg.cpp:177
KSSLInfoDlg::setSecurityInQuestion
void setSecurityInQuestion(bool isIt)
Tell the dialog if the connection has portions that may not be secure (ie.
Definition: ksslinfodlg.cpp:136
KSSLPeerInfo::getPeerCertificate
KSSLCertificate & getPeerCertificate()
Get a reference to the peer's certificate.
Definition: ksslpeerinfo.cpp:56
KSSLSigners
KDE SSL Signer Database.
Definition: ksslsigners.h:43
KSSLX509Map
X.509 Map Parsing Class.
Definition: ksslx509map.h:39
KSSLX509Map::getValue
TQString getValue(const TQString &key) const
Get the value of an entry in the map.
Definition: ksslx509map.cpp:40
KSSL
KDE SSL Wrapper Class.
Definition: kssl.h:42
KSSL::doesSSLWork
static bool doesSSLWork()
Determine if SSL is available and works.
Definition: kssl.cpp:594
KSSL::peerInfo
KSSLPeerInfo & peerInfo()
Obtain a reference to the information about the peer.
Definition: kssl.cpp:651
KSSL::connectionInfo
KSSLConnectionInfo & connectionInfo()
Obtain a reference to the connection information.
Definition: kssl.cpp:636

tdeio/kssl

Skip menu "tdeio/kssl"
  • Main Page
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

tdeio/kssl

Skip menu "tdeio/kssl"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeio/kssl by doxygen 1.9.4
This website is maintained by Timothy Pearson.