• 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 <kprocess.h>
37 #include <kiconloader.h>
38 #include <tdeglobalsettings.h>
39 #include <ksqueezedtextlabel.h>
40 #include <kurllabel.h>
41 #include <kstdguiitem.h>
42 //#include <kstandarddirs.h>
43 //#include <krun.h>
44 #include <kcombobox.h>
45 #include "ksslcertificate.h"
46 #include "ksslcertchain.h"
47 #include "ksslsigners.h"
48 
49 
50 class 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 
75 KSSLInfoDlg::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, TQT_SIGNAL(clicked()), TQT_SLOT(launchConfig()));
111  buttonLayout->addWidget( button );
112  }
113 
114  button = new KPushButton(KStdGuiItem::close(), this);
115  connect(button, TQT_SIGNAL(clicked()), TQT_SLOT(close()));
116  buttonLayout->addWidget( button );
117 
118  button->setFocus();
119 
120  setCaption(i18n("TDE SSL Information"));
121  d->inQuestion = false;
122  }
123 
124 
125 KSSLInfoDlg::~KSSLInfoDlg() {
126  delete d;
127 }
128 
129 void KSSLInfoDlg::launchConfig() {
130  TDEProcess p;
131  p << "tdecmshell" << "crypto";
132  p.start(TDEProcess::DontCare);
133 }
134 
135 
136 void 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  } else {
144  d->info->setText(i18n("Some of this document is secured with SSL, but the main part is not."));
145  }
146  } else {
147  if (d->m_secCon) {
148  d->pixmap->setPixmap(BarIcon("encrypted"));
149  d->info->setText(i18n("Current connection is secured with SSL."));
150  } else {
151  d->pixmap->setPixmap(BarIcon("decrypted"));
152  d->info->setText(i18n("Current connection is not secured with SSL."));
153  }
154  }
155 }
156 
157 
158 void KSSLInfoDlg::setup( KSSL & ssl, const TQString & ip, const TQString & url )
159 {
160  setup(
161  &ssl.peerInfo().getPeerCertificate(),
162  ip,
163  url,
164  ssl.connectionInfo().getCipher(),
165  ssl.connectionInfo().getCipherDescription(),
166  ssl.connectionInfo().getCipherVersion(),
167  ssl.connectionInfo().getCipherUsedBits(),
168  ssl.connectionInfo().getCipherBits(),
169  ssl.peerInfo().getPeerCertificate().validate()
170  );
171 }
172 
173 void KSSLInfoDlg::setup(KSSLCertificate *cert,
174  const TQString& ip, const TQString& url,
175  const TQString& cipher, const TQString& cipherdesc,
176  const TQString& sslversion, int usedbits, int bits,
177  KSSLCertificate::KSSLValidation /*certState*/) {
178  // Needed to put the GUI stuff here to get the layouting right
179 
180  d->_cert = cert;
181 
182  TQGridLayout *layout = new TQGridLayout(4, 2, KDialog::spacingHint());
183 
184  layout->addWidget(new TQLabel(i18n("Chain:"), this), 0, 0);
185  d->_chain = new KComboBox(this);
186  layout->addMultiCellWidget(d->_chain, 1, 1, 0, 1);
187  connect(d->_chain, TQT_SIGNAL(activated(int)), this, TQT_SLOT(slotChain(int)));
188 
189  d->_chain->clear();
190 
191  if (cert->chain().isValid() && cert->chain().depth() > 1) {
192  d->_chain->setEnabled(true);
193  d->_chain->insertItem(i18n("0 - Site Certificate"));
194  int cnt = 0;
195  TQPtrList<KSSLCertificate> cl = cert->chain().getChain();
196  cl.setAutoDelete(true);
197  for (KSSLCertificate *c = cl.first(); c != 0; c = cl.next()) {
198  KSSLX509Map map(c->getSubject());
199  TQString id;
200  id = map.getValue("CN");
201  if (id.length() == 0)
202  id = map.getValue("O");
203  if (id.length() == 0)
204  id = map.getValue("OU");
205  d->_chain->insertItem(TQString::number(++cnt)+" - "+id);
206  }
207  d->_chain->setCurrentItem(0);
208  } else d->_chain->setEnabled(false);
209 
210  layout->addWidget(new TQLabel(i18n("Peer certificate:"), this), 2, 0);
211  layout->addWidget(d->_subject = static_cast<KSSLCertBox*>(buildCertInfo(cert->getSubject())), 3, 0);
212  layout->addWidget(new TQLabel(i18n("Issuer:"), this), 2, 1);
213  layout->addWidget(d->_issuer = static_cast<KSSLCertBox*>(buildCertInfo(cert->getIssuer())), 3, 1);
214  d->m_layout->addMultiCell(layout, 1, 1, 0, 2);
215 
216  layout = new TQGridLayout(11, 2, KDialog::spacingHint());
217  layout->setColStretch(1, 1);
218  TQLabel *ipl = new TQLabel(i18n("IP address:"), this);
219  layout->addWidget(ipl, 0, 0);
220  if (ip.isEmpty()) {
221  ipl->hide();
222  }
223  layout->addWidget(ipl = new TQLabel(ip, this), 0, 1);
224  if (ip.isEmpty()) {
225  ipl->hide();
226  }
227  layout->addWidget(new TQLabel(i18n("URL:"), this), 1, 0);
228  KSqueezedTextLabel *urlLabel = new KSqueezedTextLabel(url, this);
229  layout->addWidget(urlLabel, 1, 1);
230  layout->addWidget(new TQLabel(i18n("Certificate state:"), this), 2, 0);
231 
232  layout->addWidget(d->_csl = new TQLabel("", this), 2, 1);
233 
234  update();
235 
236  layout->addWidget(new TQLabel(i18n("Valid from:"), this), 3, 0);
237  layout->addWidget(d->_validFrom = new TQLabel("", this), 3, 1);
238  layout->addWidget(new TQLabel(i18n("Valid until:"), this), 4, 0);
239  layout->addWidget(d->_validUntil = new TQLabel("", this), 4, 1);
240 
241  layout->addWidget(new TQLabel(i18n("Serial number:"), this), 5, 0);
242  layout->addWidget(d->_serialNum = new TQLabel("", this), 5, 1);
243  layout->addWidget(new TQLabel(i18n("MD5 digest:"), this), 6, 0);
244  layout->addWidget(d->_digest = new TQLabel("", this), 6, 1);
245 
246  layout->addWidget(new TQLabel(i18n("Cipher in use:"), this), 7, 0);
247  layout->addWidget(new TQLabel(cipher, this), 7, 1);
248  layout->addWidget(new TQLabel(i18n("Details:"), this), 8, 0);
249  layout->addWidget(new TQLabel(cipherdesc.simplifyWhiteSpace(), this), 8, 1);
250  layout->addWidget(new TQLabel(i18n("SSL version:"), this), 9, 0);
251  layout->addWidget(new TQLabel(sslversion, this), 9, 1);
252  layout->addWidget(new TQLabel(i18n("Cipher strength:"), this), 10, 0);
253  layout->addWidget(new TQLabel(i18n("%1 bits used of a %2 bit cipher").arg(usedbits).arg(bits), this), 10, 1);
254  d->m_layout->addMultiCell(layout, 2, 2, 0, 2);
255 
256  ipl->setTextFormat(TQt::PlainText);
257  urlLabel->setTextFormat(TQt::PlainText);
258  d->_serialNum->setTextFormat(TQt::PlainText);
259  d->_csl->setTextFormat(TQt::PlainText);
260  d->_validFrom->setTextFormat(TQt::PlainText);
261  d->_validUntil->setTextFormat(TQt::PlainText);
262  d->_digest->setTextFormat(TQt::PlainText);
263 
264  displayCert(cert);
265 }
266 
267 void KSSLInfoDlg::setCertState(const TQString &errorNrs)
268 {
269  d->_cert_ksvl.clear();
270  TQStringList errors = TQStringList::split(':', errorNrs);
271  for(TQStringList::ConstIterator it = errors.begin();
272  it != errors.end(); ++it)
273  {
274  d->_cert_ksvl << (KSSLCertificate::KSSLValidation) (*it).toInt();
275  }
276 }
277 
278 void KSSLInfoDlg::displayCert(KSSLCertificate *x) {
279  TQPalette cspl;
280 
281  d->_serialNum->setText(x->getSerialNumber());
282 
283  cspl = d->_validFrom->palette();
284  if (x->getQDTNotBefore() > TQDateTime::currentDateTime(Qt::UTC))
285  cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
286  else cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
287  d->_validFrom->setPalette(cspl);
288  d->_validFrom->setText(x->getNotBefore());
289 
290  cspl = d->_validUntil->palette();
291  if (x->getQDTNotAfter() < TQDateTime::currentDateTime(Qt::UTC))
292  cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
293  else cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
294  d->_validUntil->setPalette(cspl);
295  d->_validUntil->setText(x->getNotAfter());
296 
297  cspl = palette();
298 
299  KSSLCertificate::KSSLValidation ksv;
300  KSSLCertificate::KSSLValidationList ksvl;
301  if ((x == d->_cert) && !d->_cert_ksvl.isEmpty()) {
302  ksvl = d->_cert_ksvl;
303  ksv = ksvl.first();
304  } else {
305  if (x == d->_cert)
306  ksvl = d->_cert->validateVerbose(KSSLCertificate::SSLServer);
307  else
308  ksvl = d->_cert->validateVerbose(KSSLCertificate::SSLServer, x);
309 
310  if (ksvl.isEmpty())
311  ksvl << KSSLCertificate::Ok;
312 
313  ksv = ksvl.first();
314 
315  if (ksv == KSSLCertificate::SelfSigned) {
316  if (x->getQDTNotAfter() > TQDateTime::currentDateTime(Qt::UTC) &&
317  x->getQDTNotBefore() < TQDateTime::currentDateTime(Qt::UTC)) {
318  if (KSSLSigners().useForSSL(*x))
319  ksv = KSSLCertificate::Ok;
320  } else {
321  ksv = KSSLCertificate::Expired;
322  }
323  }
324  }
325 
326  if (ksv == KSSLCertificate::Ok) {
327  cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
328  } else if (ksv != KSSLCertificate::Irrelevant) {
329  cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
330  }
331  d->_csl->setPalette(cspl);
332 
333  TQString errorStr;
334  for(KSSLCertificate::KSSLValidationList::ConstIterator it = ksvl.begin();
335  it != ksvl.end(); ++it) {
336  if (!errorStr.isEmpty())
337  errorStr.append('\n');
338  errorStr += KSSLCertificate::verifyText(*it);
339  }
340 
341  d->_csl->setText(errorStr);
342  d->_csl->setMinimumSize(d->_csl->sizeHint());
343 
344  d->_subject->setValues(x->getSubject());
345  d->_issuer->setValues(x->getIssuer());
346 
347  d->_digest->setText(x->getMD5DigestText());
348 }
349 
350 
351 void KSSLInfoDlg::slotChain(int x) {
352  if (x == 0) {
353  displayCert(d->_cert);
354  } else {
355  TQPtrList<KSSLCertificate> cl = d->_cert->chain().getChain();
356  cl.setAutoDelete(true);
357  for (int i = 0; i < x-1; i++)
358  cl.remove((unsigned int)0);
359  KSSLCertificate thisCert = *(cl.at(0));
360  cl.remove((unsigned int)0);
361  thisCert.chain().setChain(cl);
362  displayCert(&thisCert);
363  }
364 }
365 
366 
367 KSSLCertBox *KSSLInfoDlg::certInfoWidget(TQWidget *parent, const TQString &certName, TQWidget *mailCatcher) {
368  KSSLCertBox *result = new KSSLCertBox(parent);
369  if (!certName.isEmpty()) {
370  result->setValues(certName, mailCatcher);
371  }
372  return result;
373 }
374 
375 
376 KSSLCertBox::KSSLCertBox(TQWidget *parent, const char *name, WFlags f)
377 : TQScrollView(parent, name, f)
378 {
379  _frame = 0L;
380  setBackgroundMode(TQWidget::PaletteButton);
381  setValues(TQString::null, 0L);
382 }
383 
384 
385 void KSSLCertBox::setValues(TQString certName, TQWidget *mailCatcher) {
386  if (_frame) {
387  removeChild(_frame);
388  delete _frame;
389  }
390 
391  if (certName.isEmpty()) {
392  _frame = new TQFrame(this);
393  addChild(_frame);
394  viewport()->setBackgroundMode(_frame->backgroundMode());
395  _frame->show();
396  updateScrollBars();
397  show();
398  return;
399  }
400 
401  KSSLX509Map cert(certName);
402  TQString tmp;
403  viewport()->setBackgroundMode(TQWidget::PaletteButton);
404  _frame = new TQFrame(this);
405  TQGridLayout *grid = new TQGridLayout(_frame, 1, 2, KDialog::marginHint(), KDialog::spacingHint());
406  grid->setAutoAdd(true);
407  TQLabel *label = 0L;
408  if (!(tmp = cert.getValue("O")).isEmpty()) {
409  label = new TQLabel(i18n("Organization:"), _frame);
410  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
411  (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
412  }
413  if (!(tmp = cert.getValue("OU")).isEmpty()) {
414  label = new TQLabel(i18n("Organizational unit:"), _frame);
415  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
416  (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
417  }
418  if (!(tmp = cert.getValue("L")).isEmpty()) {
419  label = new TQLabel(i18n("Locality:"), _frame);
420  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
421  (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
422  }
423  if (!(tmp = cert.getValue("ST")).isEmpty()) {
424  label = new TQLabel(i18n("Federal State","State:"), _frame);
425  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
426  (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
427  }
428  if (!(tmp = cert.getValue("C")).isEmpty()) {
429  label = new TQLabel(i18n("Country:"), _frame);
430  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
431  (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
432  }
433  if (!(tmp = cert.getValue("CN")).isEmpty()) {
434  label = new TQLabel(i18n("Common name:"), _frame);
435  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
436  (new TQLabel(tmp, _frame))->setTextFormat(TQt::PlainText);
437  }
438  if (!(tmp = cert.getValue("Email")).isEmpty()) {
439  label = new TQLabel(i18n("Email:"), _frame);
440  label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
441  if (mailCatcher) {
442  KURLLabel *mail = new KURLLabel(tmp, tmp, _frame);
443  connect(mail, TQT_SIGNAL(leftClickedURL(const TQString &)), mailCatcher, TQT_SLOT(mailClicked(const TQString &)));
444  } else {
445  label = new TQLabel(tmp, _frame);
446  label->setTextFormat(TQt::PlainText);
447  }
448  }
449  if (label && viewport()) {
450  viewport()->setBackgroundMode(label->backgroundMode());
451  }
452  addChild(_frame);
453  updateScrollBars();
454  _frame->show();
455  show();
456 }
457 
458 
459 TQScrollView *KSSLInfoDlg::buildCertInfo(const TQString &certName) {
460  return KSSLInfoDlg::certInfoWidget(this, certName, this);
461 }
462 
463 void KSSLInfoDlg::urlClicked(const TQString &url) {
464  kapp->invokeBrowser(url);
465 }
466 
467 void KSSLInfoDlg::mailClicked(const TQString &url) {
468  kapp->invokeMailer(url, TQString::null);
469 }
470 
471 #include "ksslinfodlg.moc"
KSSLInfoDlg
KDE SSL Information Dialog.
Definition: ksslinfodlg.h:50
KSSLCertificate::getQDTNotAfter
TQDateTime getQDTNotAfter() const
Get the date that the certificate is valid until.
Definition: ksslcertificate.cpp:931
KSSLCertBox
KDE SSL Certificate Box.
Definition: ksslinfodlg.h:149
KSSLCertificate::getIssuer
TQString getIssuer() const
Get the issuer of the certificate (X.509 map).
Definition: ksslcertificate.cpp:467
KSSLSigners
KDE SSL Signer Database.
Definition: ksslsigners.h:43
KSSLCertificate::verifyText
static TQString verifyText(KSSLValidation x)
Obtain the localized message that corresponds to a validation result.
Definition: ksslcertificate.cpp:987
KSSLCertificate::validate
KSSLValidation validate()
Check if this is a valid certificate.
Definition: ksslcertificate.cpp:643
KSSLCertificate::chain
KSSLCertChain & chain()
Get a reference to the certificate chain.
Definition: ksslcertificate.cpp:134
KSSLConnectionInfo::getCipher
const TQString & getCipher() const
Get the cipher in use.
Definition: ksslconnectioninfo.cpp:51
KSSLConnectionInfo::getCipherBits
int getCipherBits() const
Get bit-size of the cipher.
Definition: ksslconnectioninfo.cpp:61
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:367
KSSLCertBox::setValues
void setValues(TQString certName, TQWidget *mailCatcher=0L)
Change the contents of the widget.
Definition: ksslinfodlg.cpp:385
KSSLX509Map
X.509 Map Parsing Class.
Definition: ksslx509map.h:39
KSSLCertificate::getSerialNumber
TQString getSerialNumber() const
Get the serial number of the certificate.
Definition: ksslcertificate.cpp:207
KSSLCertificate
KDE X.509 Certificate.
Definition: ksslcertificate.h:77
KSSLInfoDlg::setCertState
void setCertState(const TQString &errorNrs)
Set the errors that were encountered while validating the site certificate.
Definition: ksslinfodlg.cpp:267
KSSLConnectionInfo::getCipherVersion
const TQString & getCipherVersion() const
Get the version of the cipher in use.
Definition: ksslconnectioninfo.cpp:41
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:173
KSSLCertificate::getMD5DigestText
TQString getMD5DigestText() const
Get the MD5 digest of the certificate.
Definition: ksslcertificate.cpp:287
KSSLInfoDlg::~KSSLInfoDlg
virtual ~KSSLInfoDlg()
Destroy this dialog.
Definition: ksslinfodlg.cpp:125
KSSLCertificate::getNotAfter
TQString getNotAfter() const
Get the date that the certificate is valid until.
Definition: ksslcertificate.cpp:913
KSSLCertChain::setChain
void setChain(void *stack_of_x509)
Set the raw chain from OpenSSL.
Definition: ksslcertchain.cpp:148
KSSLCertificate::getQDTNotBefore
TQDateTime getQDTNotBefore() const
Get the date that the certificate becomes valid on.
Definition: ksslcertificate.cpp:922
KSSLX509Map::getValue
TQString getValue(const TQString &key) const
Get the value of an entry in the map.
Definition: ksslx509map.cpp:40
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
KSSLConnectionInfo::getCipherUsedBits
int getCipherUsedBits() const
Get the number of bits of the cipher that are actually used.
Definition: ksslconnectioninfo.cpp:56
KSSLCertificate::getNotBefore
TQString getNotBefore() const
Get the date that the certificate becomes valid on.
Definition: ksslcertificate.cpp:904
KSSLInfoDlg::KSSLInfoDlg
KSSLInfoDlg(bool secureConnection, TQWidget *parent=0L, const char *name=0L, bool modal=false)
Construct a KSSL Information Dialog.
Definition: ksslinfodlg.cpp:75
KSSL
KDE SSL Wrapper Class.
Definition: kssl.h:42
KSSLCertChain::depth
int depth()
Determine the number of entries (depth) of the chain.
Definition: ksslcertchain.cpp:97
KSSLInfoDlg::setSecurityInQuestion
void setSecurityInQuestion(bool isIt)
Tell the dialog if the connection has portions that may not be secure (ie.
Definition: ksslinfodlg.cpp:136
KSSL::peerInfo
KSSLPeerInfo & peerInfo()
Obtain a reference to the information about the peer.
Definition: kssl.cpp:651
KSSLCertChain::isValid
bool isValid()
Determine if this represents a valid certificate chain.
Definition: ksslcertchain.cpp:82
KSSLCertificate::getSubject
TQString getSubject() const
Get the subject of the certificate (X.509 map).
Definition: ksslcertificate.cpp:193
KSSL::doesSSLWork
static bool doesSSLWork()
Determine if SSL is available and works.
Definition: kssl.cpp:594
KSSLCertBox::KSSLCertBox
KSSLCertBox(TQWidget *parent=0L, const char *name=0L, WFlags f=0)
Construct a certificate box.
Definition: ksslinfodlg.cpp:376
KSSLPeerInfo::getPeerCertificate
KSSLCertificate & getPeerCertificate()
Get a reference to the peer's certificate.
Definition: ksslpeerinfo.cpp:56
KSSLConnectionInfo::getCipherDescription
const TQString & getCipherDescription() const
Describe the cipher in use.
Definition: ksslconnectioninfo.cpp:46
KSSL::connectionInfo
KSSLConnectionInfo & connectionInfo()
Obtain a reference to the connection information.
Definition: kssl.cpp:636
KSSLCertChain::getChain
TQPtrList< KSSLCertificate > getChain()
Obtain a copy of the certificate chain.
Definition: ksslcertchain.cpp:105
KSSLSigners::useForSSL
bool useForSSL(KSSLCertificate &cert)
Determine if a certificate can be used for SSL certificate signing.
Definition: ksslsigners.cpp:93

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
  •     tdecore
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  • tdeioslave
  •   http
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeio/kssl by doxygen 1.8.8
This website is maintained by Timothy Pearson.