summaryrefslogtreecommitdiffstats
path: root/kcert
diff options
context:
space:
mode:
Diffstat (limited to 'kcert')
-rw-r--r--kcert/CMakeLists.txt50
-rw-r--r--kcert/Makefile.am18
-rw-r--r--kcert/kcertpart.cc883
-rw-r--r--kcert/kcertpart.desktop99
-rw-r--r--kcert/kcertpart.h139
-rw-r--r--kcert/kcertpart.rc10
6 files changed, 0 insertions, 1199 deletions
diff --git a/kcert/CMakeLists.txt b/kcert/CMakeLists.txt
deleted file mode 100644
index b8bf6c84b..000000000
--- a/kcert/CMakeLists.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-#################################################
-#
-# (C) 2010 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${TQT_INCLUDE_DIRS}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}/tdecore
- ${CMAKE_BINARY_DIR}/kio/kssl
- ${CMAKE_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}/tdeui
- ${CMAKE_SOURCE_DIR}/kio
- ${CMAKE_SOURCE_DIR}/kio/kio
- ${CMAKE_SOURCE_DIR}/kio/kfile
- ${CMAKE_SOURCE_DIR}/kio/kssl
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-
-##### other data ################################
-
-install( FILES kcertpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
-install( FILES kcertpart.rc DESTINATION ${DATA_INSTALL_DIR}/kcertpart )
-
-
-##### libkcertpart ##############################
-
-set( target libkcertpart )
-
-set( ${target}_SRCS
- kcertpart.cc
-)
-
-tde_add_kpart( ${target} AUTOMOC
- SOURCES ${${target}_SRCS}
- LINK kio-shared kparts-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kcert/Makefile.am b/kcert/Makefile.am
deleted file mode 100644
index e5885a494..000000000
--- a/kcert/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-INCLUDES= -I$(top_srcdir)/kio/kssl -I$(top_builddir)/kio/kssl -I$(top_srcdir) $(SSL_INCLUDES) $(all_includes)
-
-kde_module_LTLIBRARIES = libkcertpart.la
-
-libkcertpart_la_SOURCES = kcertpart.cc
-
-libkcertpart_la_LDFLAGS = $(KDE_PLUGIN) $(all_libraries)
-libkcertpart_la_LIBADD = $(LIB_KPARTS) $(LIB_QT) $(LIB_TDEUI) $(LIB_KFILE) $(LIB_TDECORE)
-libkcertpart_la_DEPENDENCIES = $(LIB_KPARTS)
-
-libkcertpart_la_METASOURCES = AUTO
-
-servicedir = $(kde_servicesdir)
-service_DATA = kcertpart.desktop
-
-rcdir = $(kde_datadir)/kcertpart
-rc_DATA = kcertpart.rc
-
diff --git a/kcert/kcertpart.cc b/kcert/kcertpart.cc
deleted file mode 100644
index ca5912206..000000000
--- a/kcert/kcertpart.cc
+++ /dev/null
@@ -1,883 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2001-2003 George Staikos <staikos@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-
-#include "kcertpart.h"
-#include <kparts/genericfactory.h>
-#include <kinstance.h>
-#include <kaboutdata.h>
-#include <tqframe.h>
-#include <klocale.h>
-#include <kdebug.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqbutton.h>
-#include <tqpushbutton.h>
-#include <tqcombobox.h>
-#include <kmessagebox.h>
-#include <kpassdlg.h>
-#include <ksslall.h>
-#include <kopenssl.h>
-#include <ksslpemcallback.h>
-#include <kfiledialog.h>
-#include <kprocess.h>
-#include <tqtabwidget.h>
-#include <kseparator.h>
-#include <klistview.h>
-#include <kio/kmimemagic.h>
-#include <tqmultilineedit.h>
-#include <tqregexp.h>
-#include <kcombobox.h>
-#include <kparts/browserextension.h>
-#include <kparts/browserinterface.h>
-#include <kio/kservicetypefactory.h>
-
-K_EXPORT_COMPONENT_FACTORY( libkcertpart, KParts::GenericFactory<KCertPart> )
-
-
-KX509Item::KX509Item(KListViewItem *parent, KSSLCertificate *x) :
- KListViewItem(parent, 0L)
-{
- setup(x);
-}
-
-KX509Item::KX509Item(KListView *parent, KSSLCertificate *x) :
- KListViewItem(parent)
-{
- setup(x);
-}
-
-void KX509Item::setup(KSSLCertificate *x) {
- cert = x;
- if (x) {
- KSSLX509Map xm(x->getSubject());
- TQString OU = "OU";
- TQString CN = "CN";
- OU = xm.getValue(OU);
- CN = xm.getValue(CN);
- OU.replace(TQRegExp("\n.*"), "");
- CN.replace(TQRegExp("\n.*"), "");
-
- if (OU.length() > 0) {
- _prettyName = OU;
- }
-
- if (CN.length() > 0) {
- if (_prettyName.length() > 0) {
- _prettyName += " - ";
- }
- _prettyName += CN;
- }
- setText(0, _prettyName);
- } else {
- setText(0, i18n("Invalid certificate!"));
- }
-}
-
-
-KX509Item::~KX509Item()
-{
- delete cert;
-}
-
-
-KPKCS12Item::KPKCS12Item(KListViewItem *parent, KSSLPKCS12 *x) :
- KListViewItem(parent, 0L)
-{
- cert = x;
- if (x) {
- KSSLX509Map xm(x->getCertificate()->getSubject());
- TQString CN = "CN";
- CN = xm.getValue(CN);
- CN.replace(TQRegExp("\n.*"), "");
- _prettyName = CN;
- setText(0, _prettyName);
- } else {
- setText(0, i18n("Invalid certificate!"));
- }
-}
-
-
-KPKCS12Item::~KPKCS12Item()
-{
- delete cert;
-}
-
-
-class KCertPartPrivate {
- public:
- KParts::BrowserExtension *browserExtension;
-};
-
-
-KCertPart::KCertPart(TQWidget *parentWidget, const char *widgetName,
- TQObject *parent, const char *name,
- const TQStringList & /*args*/ )
- : KParts::ReadWritePart(parent, name) {
-TDEInstance *instance = new TDEInstance("KCertPart");
-TQGridLayout *grid;
-setInstance(instance);
-
-
-_signers = new KSSLSigners;
-// This is a bit confusing now. Here's how it works:
-// We create a _frame and split it left/right
-// Then we add the ListView to the left and create
-// a new frame on the right. We set the main widget
-// on the right.
-
-_p12 = NULL;
-_ca = NULL;
-_silentImport = false;
-d = new KCertPartPrivate;
-d->browserExtension = new KParts::BrowserExtension(this);
-
-_frame = new TQFrame(parentWidget, widgetName);
-setWidget(_frame);
-
-_baseGrid = new TQGridLayout(_frame, 15, 9, KDialog::marginHint(),
- KDialog::spacingHint());
-
-_sideList = new KListView(_frame);
-_sideList->setRootIsDecorated(true);
-_sideList->addColumn(i18n("Certificates"));
-_parentCA = new KListViewItem(_sideList, i18n("Signers"));
-_parentCA->setExpandable(true);
-_sideList->setOpen(_parentCA, true);
-_parentP12 = new KListViewItem(_sideList, i18n("Client"));
-_parentP12->setExpandable(true);
-_sideList->setOpen(_parentP12, true);
-
-_baseGrid->addMultiCellWidget(_sideList, 0, 13, 0, 1);
-
-_importAll = new TQPushButton(i18n("Import &All"), _frame);
-_baseGrid->addMultiCellWidget(_importAll, 14, 14, 0, 1);
-connect(_importAll, TQT_SIGNAL(clicked()), TQT_SLOT(slotImportAll()));
-
-
-
-//------------------------------------------------------------------------
-// The PKCS widget
-//------------------------------------------------------------------------
-_pkcsFrame = new TQFrame(_frame);
-
-grid = new TQGridLayout(_pkcsFrame, 13, 6, KDialog::marginHint(),
- KDialog::spacingHint() );
-grid->addMultiCellWidget(new TQLabel(i18n("TDE Secure Certificate Import"), _pkcsFrame), 0, 0, 0, 5);
-grid->addWidget(new TQLabel(i18n("Chain:"), _pkcsFrame), 1, 0);
-_p12_chain = new KComboBox(_pkcsFrame);
-grid->addMultiCellWidget(_p12_chain, 1, 1, 1, 4);
-connect(_p12_chain, TQT_SIGNAL(activated(int)), TQT_SLOT(slotChain(int)));
-
-grid->addWidget(new TQLabel(i18n("Subject:"), _pkcsFrame), 2, 0);
-grid->addWidget(new TQLabel(i18n("Issued by:"), _pkcsFrame), 2, 3);
-_p12_subject = KSSLInfoDlg::certInfoWidget(_pkcsFrame, TQString(""));
-_p12_issuer = KSSLInfoDlg::certInfoWidget(_pkcsFrame, TQString(""));
-grid->addMultiCellWidget(_p12_subject, 3, 6, 0, 2);
-grid->addMultiCellWidget(_p12_issuer, 3, 6, 3, 5);
-
-grid->addWidget(new TQLabel(i18n("File:"), _pkcsFrame), 7, 0);
-_p12_filenameLabel = new TQLabel("", _pkcsFrame);
-grid->addWidget(_p12_filenameLabel, 7, 1);
-grid->addWidget(new TQLabel(i18n("File format:"), _pkcsFrame), 7, 3);
-grid->addWidget(new TQLabel("PKCS#12", _pkcsFrame), 7, 4);
-
-
-//
-// Make the first tab
-//
-_tabs = new TQTabWidget(_pkcsFrame);
-grid->addMultiCellWidget(_tabs, 8, 12, 0, 5);
-
-TQFrame *tab = new TQFrame(_pkcsFrame);
-TQGridLayout *tabGrid = new TQGridLayout(tab, 4, 5, KDialog::marginHint(),
- KDialog::spacingHint() );
-tabGrid->addWidget(new TQLabel(i18n("State:"), tab), 0, 0);
-_p12_certState = new TQLabel("", tab);
-tabGrid->addMultiCellWidget(_p12_certState, 0, 0, 1, 4);
-
-tabGrid->addWidget(new TQLabel(i18n("Valid from:"), tab), 1, 0);
-_p12_validFrom = new TQLabel("", tab);
-tabGrid->addMultiCellWidget(_p12_validFrom, 1, 1, 1, 4);
-
-tabGrid->addWidget(new TQLabel(i18n("Valid until:"), tab), 2, 0);
-_p12_validUntil = new TQLabel("", tab);
-tabGrid->addMultiCellWidget(_p12_validUntil, 2, 2, 1, 4);
-
-tabGrid->addWidget(new TQLabel(i18n("Serial number:"), tab), 3, 0);
-_p12_serialNum = new TQLabel("", tab);
-tabGrid->addWidget(_p12_serialNum, 3, 1);
-_tabs->addTab(tab, i18n("State"));
-
-
-//
-// Make the second tab
-//
-tab = new TQFrame(_pkcsFrame);
-tabGrid = new TQGridLayout(tab, 4, 5, KDialog::marginHint(),
- KDialog::spacingHint() );
-tabGrid->addWidget(new TQLabel(i18n("MD5 digest:"), tab), 0, 0);
-_p12_digest = new TQLabel(tab);
-tabGrid->addMultiCellWidget(_p12_digest, 0, 0, 1, 4);
-tabGrid->addWidget(new TQLabel(i18n("Signature:"), tab), 1, 0);
-_p12_sig = new TQMultiLineEdit(tab);
-tabGrid->addMultiCellWidget(_p12_sig, 1, 3, 1, 4);
-_p12_sig->setReadOnly(true);
-
-_tabs->addTab(tab, i18n("Signature"));
-
-
-//
-// Make the third tab
-//
-tab = new TQFrame(_pkcsFrame);
-tabGrid = new TQGridLayout(tab, 4, 5, KDialog::marginHint(),
- KDialog::spacingHint() );
-tabGrid->addWidget(new TQLabel(i18n("Public key:"), tab), 0, 0);
-_p12_pubkey = new TQMultiLineEdit(tab);
-tabGrid->addMultiCellWidget(_p12_pubkey, 0, 3, 1, 4);
-_p12_pubkey->setReadOnly(true);
-
-
-_tabs->addTab(tab, i18n("Public Key"));
-
-_pkcsFrame->hide();
-
-//------------------------------------------------------------------------
-// The X509 widget
-//------------------------------------------------------------------------
-// Note: this is almost identical to the above, but I duplicate it for
-// the simple reason that the above has potential to display much
-// more information, and this one has potential to display different
-// information.
-_x509Frame = new TQFrame(_frame);
-
-grid = new TQGridLayout(_x509Frame, 12, 6, KDialog::marginHint(),
- KDialog::spacingHint() );
-grid->addMultiCellWidget(new TQLabel(i18n("TDE Secure Certificate Import"), _x509Frame), 0, 0, 0, 5);
-
-grid->addWidget(new TQLabel(i18n("Subject:"), _x509Frame), 1, 0);
-grid->addWidget(new TQLabel(i18n("Issued by:"), _x509Frame), 1, 3);
-_ca_subject = KSSLInfoDlg::certInfoWidget(_x509Frame, TQString(""));
-_ca_issuer = KSSLInfoDlg::certInfoWidget(_x509Frame, TQString(""));
-grid->addMultiCellWidget(_ca_subject, 2, 5, 0, 2);
-grid->addMultiCellWidget(_ca_issuer, 2, 5, 3, 5);
-
-grid->addWidget(new TQLabel(i18n("File:"), _x509Frame), 6, 0);
-_ca_filenameLabel = new TQLabel("", _x509Frame);
-grid->addWidget(_ca_filenameLabel, 6, 1);
-grid->addWidget(new TQLabel(i18n("File format:"), _x509Frame), 6, 3);
-grid->addWidget(new TQLabel("PEM or DER Encoded X.509", _x509Frame), 6, 4);
-
-
-//
-// Make the first tab
-//
-_tabs = new TQTabWidget(_x509Frame);
-grid->addMultiCellWidget(_tabs, 7, 11, 0, 5);
-
-tab = new TQFrame(_x509Frame);
-tabGrid = new TQGridLayout(tab, 4, 5, KDialog::marginHint(),
- KDialog::spacingHint() );
-tabGrid->addWidget(new TQLabel(i18n("State:"), tab), 0, 0);
-_ca_certState = new TQLabel("", tab);
-tabGrid->addMultiCellWidget(_ca_certState, 0, 0, 1, 4);
-
-tabGrid->addWidget(new TQLabel(i18n("Valid from:"), tab), 1, 0);
-_ca_validFrom = new TQLabel("", tab);
-tabGrid->addMultiCellWidget(_ca_validFrom, 1, 1, 1, 4);
-
-tabGrid->addWidget(new TQLabel(i18n("Valid until:"), tab), 2, 0);
-_ca_validUntil = new TQLabel("", tab);
-tabGrid->addMultiCellWidget(_ca_validUntil, 2, 2, 1, 4);
-
-tabGrid->addWidget(new TQLabel(i18n("Serial number:"), tab), 3, 0);
-_ca_serialNum = new TQLabel("", tab);
-tabGrid->addWidget(_ca_serialNum, 3, 1);
-_tabs->addTab(tab, i18n("State"));
-
-
-//
-// Make the second tab
-//
-tab = new TQFrame(_x509Frame);
-tabGrid = new TQGridLayout(tab, 4, 5, KDialog::marginHint(),
- KDialog::spacingHint() );
-tabGrid->addWidget(new TQLabel(i18n("MD5 digest:"), tab), 0, 0);
-_ca_digest = new TQLabel(tab);
-tabGrid->addMultiCellWidget(_ca_digest, 0, 0, 1, 4);
-tabGrid->addWidget(new TQLabel(i18n("Signature:"), tab), 1, 0);
-_ca_sig = new TQMultiLineEdit(tab);
-tabGrid->addMultiCellWidget(_ca_sig, 1, 3, 1, 4);
-_ca_sig->setReadOnly(true);
-
-_tabs->addTab(tab, i18n("Signature"));
-
-
-//
-// Make the third tab
-//
-tab = new TQFrame(_x509Frame);
-tabGrid = new TQGridLayout(tab, 4, 5, KDialog::marginHint(),
- KDialog::spacingHint() );
-tabGrid->addWidget(new TQLabel(i18n("Public key:"), tab), 0, 0);
-_ca_pubkey = new TQMultiLineEdit(tab);
-tabGrid->addMultiCellWidget(_ca_pubkey, 0, 3, 1, 4);
-_ca_pubkey->setReadOnly(true);
-
-
-_tabs->addTab(tab, i18n("Public Key"));
-
-_x509Frame->hide();
-
-
-
-
-//------------------------------------------------------------------------
-// The blank widget
-//------------------------------------------------------------------------
-_blankFrame = new TQFrame(_frame);
-grid = new TQGridLayout(_blankFrame, 1, 1, KDialog::marginHint(),
- KDialog::spacingHint() );
-grid->addMultiCellWidget(new TQLabel(i18n("TDE Secure Certificate Import"), _blankFrame), 0, 0, 0, 0);
-_blankFrame->show();
-
-
-
-//
-// Finish it off
-//
-_baseGrid->addMultiCellWidget(new KSeparator(KSeparator::HLine, _frame), 13, 13, 2, 8);
-_launch = new TQPushButton(i18n("&Crypto Manager..."), _frame);
-_import = new TQPushButton(i18n("&Import"), _frame);
-_save = new TQPushButton(i18n("&Save..."), _frame);
-_done = new TQPushButton(i18n("&Done"), _frame);
-_baseGrid->addMultiCellWidget(_launch, 14, 14, 4, 5);
-_baseGrid->addWidget(_import, 14, 6);
-_baseGrid->addWidget(_save, 14, 7);
-_baseGrid->addWidget(_done, 14, 8);
-connect(_launch, TQT_SIGNAL(clicked()), TQT_SLOT(slotLaunch()));
-connect(_import, TQT_SIGNAL(clicked()), TQT_SLOT(slotImport()));
-connect(_save, TQT_SIGNAL(clicked()), TQT_SLOT(slotSave()));
-connect(_done, TQT_SIGNAL(clicked()), TQT_SLOT(slotDone()));
-_import->setEnabled(false);
-_save->setEnabled(false);
-
-
-
-_baseGrid->addMultiCellWidget(_pkcsFrame, 0, 12, 2, 8);
-_baseGrid->addMultiCellWidget(_x509Frame, 0, 12, 2, 8);
-_baseGrid->addMultiCellWidget(_blankFrame, 0, 12, 2, 8);
-
-connect(_sideList, TQT_SIGNAL(selectionChanged(TQListViewItem*)),
- this, TQT_SLOT(slotSelectionChanged(TQListViewItem*)));
-setReadWrite(true);
-}
-
-
-KCertPart::~KCertPart() {
- delete _signers;
- delete d->browserExtension;
- delete d;
-}
-
-
-void KCertPart::setReadWrite(bool rw) {
- if (!rw) {
- _import->setEnabled(false);
- _save->setEnabled(false);
- }
- KParts::ReadWritePart::setReadWrite(rw);
-}
-
-
-bool KCertPart::saveFile() {
-if (_p12) {
- TQString certFile = KFileDialog::getSaveFileName(TQString::null, "application/x-pkcs12");
- if (certFile.isEmpty())
- return false;
-
- if (!_p12->toFile(certFile)) {
- KMessageBox::sorry(_frame, i18n("Save failed."), i18n("Certificate Import"));
- return false;
- }
-
- return true;
-} else if (_ca) {
- TQString certFile = KFileDialog::getSaveFileName(TQString::null, "application/x-x509-ca-cert");
- if (certFile.isEmpty())
- return false;
-
- TQByteArray enc;
- if (certFile.endsWith("der") || certFile.endsWith("crt")) {
- enc = _ca->toDer();
- } else if (certFile.endsWith("netscape")) {
- enc = _ca->toNetscape();
- } else {
- enc = _ca->toPem();
- }
-
- TQFile of(certFile);
-
- if (!of.open(IO_WriteOnly) || (unsigned)of.writeBlock(enc) != enc.size()) {
- KMessageBox::sorry(_frame, i18n("Save failed."), i18n("Certificate Import"));
- return false;
- }
-
- of.flush();
-
- return true;
-} else {
- return false;
-}
-}
-
-
-bool KCertPart::openFile() {
-#ifndef HAVE_SSL
- KMessageBox::sorry(_frame, i18n("You do not seem to have compiled TDE with SSL support."), i18n("Certificate Import"));
- return false;
-#else
-
-if (TQFileInfo(m_file).size() == 0) {
- KMessageBox::sorry(_frame, i18n("Certificate file is empty."), i18n("Certificate Import"));
- return false;
-}
-
-TQString whatType = d->browserExtension->urlArgs().serviceType;
-//whatType = KMimeType::findByURL(m_url,0,true)->name();
-if (whatType.isEmpty())
- whatType = KServiceTypeFactory::self()->findFromPattern(m_file)->name();
-
-/*
- TQString blah = "file: " + m_file
- + "\nurl: " + m_url.url()
- + "\nserviceType: " + d->browserExtension->urlArgs().serviceType
- + "\nfactory: " + KServiceTypeFactory::self()->findFromPattern(m_file)->name()
- + "\nmimeType: " + KMimeType::findByURL(m_url)->name();
- KMessageBox::information(_frame, blah, "ssl");
- */
-
-
-emit completed();
-
-/////////////////////////////////////////////////////////////////////////////
-// x-pkcs12 loading
-/////////////////////////////////////////////////////////////////////////////
-if (whatType == "application/x-pkcs12") {
- TQCString pass;
- _p12 = KSSLPKCS12::loadCertFile(m_file);
-
- while (!_p12) {
- // try prompting for a password.
- int rc = KPasswordDialog::getPassword(pass, i18n("Certificate Password"));
- if (rc != KPasswordDialog::Accepted) break;
-
- _p12 = KSSLPKCS12::loadCertFile(m_file, TQString(pass));
-
- if (!_p12) {
- rc = KMessageBox::warningContinueCancel(_frame, i18n("The certificate file could not be loaded. Try a different password?"), i18n("Certificate Import"),i18n("Try Different"));
- if (rc == KMessageBox::Continue) continue;
- break;
- }
- }
-
- if (!_p12) return false;
-
- new KPKCS12Item(_parentP12, _p12);
- _p12 = NULL;
- return true;
- /////////////////////////////////////////////////////////////////////////////
- // x-509-ca-cert loading
- /////////////////////////////////////////////////////////////////////////////
-} else if (whatType == "application/x-x509-ca-cert" ||
- whatType == "application/binary-certificate") {
- FILE *fp;
- bool isPEM = false;
-
- _ca_filenameLabel->setText(m_file);
-
- ///////////// UGLY HACK TO GET AROUND OPENSSL PROBLEMS ///////////
- if (whatType == "application/x-x509-ca-cert") {
- // Check if it is PEM or not
- TQFile qf(m_file);
- qf.open(IO_ReadOnly);
- TQByteArray theFile = qf.readAll();
- qf.close();
-
- const char *signature = "-----BEGIN CERTIFICATE-----";
- theFile[(uint)(qf.size()-1)] = 0;
- isPEM = (TQCString(theFile.data()).find(signature) >= 0);
- }
-
- fp = fopen(m_file.local8Bit(), "r");
- if (!fp) {
- KMessageBox::sorry(_frame, i18n("This file cannot be opened."), i18n("Certificate Import"));
- return false;
- }
-
- /*
- kdDebug() << "Reading in a file in "
- << (isPEM ? "PEM" : "DER")
- << " format." << endl;
- */
-
- if (!isPEM) {
- X509 *dx = KOSSL::self()->X509_d2i_fp(fp, NULL);
-
- if (dx) {
- KSSLCertificate *xc = KSSLCertificate::fromX509(dx);
- if (xc) {
- if (xc->x509V3Extensions().certTypeCA())
- new KX509Item(_parentCA, xc);
- else
- new KX509Item(_sideList, xc);
- fclose(fp);
- return true;
- }
- KOSSL::self()->X509_free(dx);
- }
- return false;
- }
-
-#define sk_free KOSSL::self()->sk_free
-#define sk_num KOSSL::self()->sk_num
-#define sk_value KOSSL::self()->sk_value
- STACK_OF(X509_INFO) *sx5i = KOSSL::self()->PEM_X509_INFO_read(fp, NULL, KSSLPemCallback, NULL);
-
- if (!sx5i) {
- KMessageBox::sorry(_frame, i18n("This file cannot be opened."), i18n("Certificate Import"));
- fclose(fp);
- return false;
- }
-
- _ca_filenameLabel->setText(m_file);
- for (int i = 0; i < sk_X509_INFO_num(sx5i); i++) {
- X509_INFO* x5i = sk_X509_INFO_value(sx5i, i);
- if (x5i->x_pkey && x5i->x509) { // a personal cert (like PKCS12)
- KSSLCertificate *xc = KSSLCertificate::fromX509(x5i->x509);
- new KX509Item(_sideList, xc);
- } else if (x5i->x509) { // something else - maybe a CA file
- KSSLCertificate *xc = KSSLCertificate::fromX509(x5i->x509);
- if (xc->x509V3Extensions().certTypeCA())
- new KX509Item(_parentCA, xc);
- else new KX509Item(_sideList, xc);
- } else if (x5i->crl) { // a crl
- kdDebug() << "Found a CRL..." << endl;
- }
- }
-
- sk_X509_INFO_free(sx5i);
-
-#undef sk_free
-#undef sk_num
-#undef sk_value
-
- fclose(fp);
- return true;
- /////////////////////////////////////////////////////////////////////////////
- // Dunno how to load this
- /////////////////////////////////////////////////////////////////////////////
-} else {
- TQString emsg = i18n("I do not know how to handle this type of file.") + "\n" + whatType;
- KMessageBox::sorry(_frame, emsg, i18n("Certificate Import"));
- return false;
-}
-#endif
-}
-
-
-void KCertPart::displayPKCS12() {
- KSSLCertificate *xc = _p12->getCertificate();
- _p12_filenameLabel->setText(m_file);
- displayPKCS12Cert(xc);
- _p12_certState->setText(KSSLCertificate::verifyText(_p12->validate()));
-
- // Set the chain if it's there
- if (xc->chain().depth() > 1) {
- TQPtrList<KSSLCertificate> cl = xc->chain().getChain();
- int cnt = 0;
- _p12_chain->setEnabled(true);
- _p12_chain->clear();
- _p12_chain->insertItem(i18n("0 - Site Certificate"));
- for (KSSLCertificate *c = cl.first(); c != 0; c = cl.next()) {
- KSSLX509Map map(c->getSubject());
- _p12_chain->insertItem(TQString::number(++cnt)+" - "+map.getValue("CN"));
- }
- _p12_chain->setCurrentItem(0);
- } else {
- _p12_chain->clear();
- _p12_chain->setEnabled(false);
- }
-}
-
-
-void KCertPart::displayCACert(KSSLCertificate *c) {
- // We have the file, lets work with it.
- _ca_subject->setValues(c->getSubject());
- _ca_issuer->setValues(c->getIssuer());
-
- // Set the valid period
- TQPalette cspl = _ca_validFrom->palette();
- if (TQDateTime::currentDateTime() < c->getQDTNotBefore()) {
- cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
- } else {
- cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
- }
- _ca_validFrom->setPalette(cspl);
- _ca_validFrom->setText(c->getNotBefore());
-
- cspl = _ca_validUntil->palette();
- if (TQDateTime::currentDateTime() > c->getQDTNotAfter()) {
- cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
- } else {
- cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
- }
- _ca_validUntil->setPalette(cspl);
- _ca_validUntil->setText(c->getNotAfter());
-
- _ca_serialNum->setText(c->getSerialNumber());
- cspl = _ca_certState->palette();
- if (!c->isValid()) {
- cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
- } else {
- cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
- }
- _ca_certState->setPalette(cspl);
- _ca_certState->setText(KSSLCertificate::verifyText(c->validate()));
-
- _ca_pubkey->setText(c->getPublicKeyText());
- _ca_digest->setText(c->getMD5DigestText());
- _ca_sig->setText(c->getSignatureText());
-}
-
-
-
-void KCertPart::displayPKCS12Cert(KSSLCertificate *c) {
- // We have the file, lets work with it.
- _p12_subject->setValues(c->getSubject());
- _p12_issuer->setValues(c->getIssuer());
-
- // Set the valid period
- TQPalette cspl = _p12_validFrom->palette();
- if (TQDateTime::currentDateTime() < c->getQDTNotBefore()) {
- cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
- } else {
- cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
- }
- _p12_validFrom->setPalette(cspl);
- _p12_validFrom->setText(c->getNotBefore());
-
- cspl = _p12_validUntil->palette();
- if (TQDateTime::currentDateTime() > c->getQDTNotAfter()) {
- cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
- } else {
- cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
- }
- _p12_validUntil->setPalette(cspl);
- _p12_validUntil->setText(c->getNotAfter());
-
- _p12_serialNum->setText(c->getSerialNumber());
- cspl = _p12_certState->palette();
- if (!c->isValid()) {
- cspl.setColor(TQColorGroup::Foreground, TQColor(196,33,21));
- } else {
- cspl.setColor(TQColorGroup::Foreground, TQColor(42,153,59));
- }
- _p12_certState->setPalette(cspl);
- _p12_certState->setText(KSSLCertificate::verifyText(c->validate()));
-
- _p12_pubkey->setText(c->getPublicKeyText());
- _p12_digest->setText(c->getMD5DigestText());
- _p12_sig->setText(c->getSignatureText());
-}
-
-
-
-void KCertPart::slotChain(int c) {
- if (c == 0) {
- displayPKCS12Cert(_p12->getCertificate());
- _p12_certState->setText(KSSLCertificate::verifyText(_p12->validate()));
- } else {
- displayPKCS12Cert(_p12->getCertificate()->chain().getChain().at(c-1));
- }
-}
-
-
-void KCertPart::slotImport() {
- if (_p12) {
- KSimpleConfig cfg("ksslcertificates", false);
-
- if (cfg.hasGroup(_p12->getCertificate()->getSubject())) {
- TQString msg = _curName + "\n" + i18n("A certificate with that name already exists. Are you sure that you wish to replace it?");
- int rc= KMessageBox::warningContinueCancel(_frame, msg, i18n("Certificate Import"),i18n("Replace"));
- if (rc == KMessageBox::Cancel) {
- return;
- }
- }
-
- cfg.setGroup(_p12->getCertificate()->getSubject());
- cfg.writeEntry("PKCS12Base64", _p12->toString());
- cfg.writeEntry("Password", "");
- cfg.sync();
- if (!_silentImport)
- KMessageBox::information(_frame, i18n("Certificate has been successfully imported into TDE.\nYou can manage your certificate settings from the TDE Control Center."), i18n("Certificate Import"));
- } else if (_ca) {
- TDEConfig cfg("ksslcalist", true, false);
- if (cfg.hasGroup(_ca->getSubject())) {
- TQString msg = _curName + "\n" + i18n("A certificate with that name already exists. Are you sure that you wish to replace it?");
- int rc= KMessageBox::warningContinueCancel(_frame, msg, i18n("Certificate Import"),i18n("Replace"));
- if (rc == KMessageBox::Cancel) {
- return;
- }
- }
- _signers->addCA(_ca->toString(),
- _ca->x509V3Extensions().certTypeSSLCA(),
- _ca->x509V3Extensions().certTypeEmailCA(),
- _ca->x509V3Extensions().certTypeCodeCA());
- if (!_silentImport)
- _signers->regenerate();
-
- if (!_silentImport)
- KMessageBox::information(_frame, i18n("Certificate has been successfully imported into TDE.\nYou can manage your certificate settings from the TDE Control Center."), i18n("Certificate Import"));
- }
-}
-
-
-void KCertPart::slotSave() {
- saveFile();
-}
-
-
-void KCertPart::slotDone() {
- KParts::BrowserInterface *iface = d->browserExtension->browserInterface();
- iface->callMethod("goHistory(int)", -1);
-}
-
-
-void KCertPart::slotLaunch() {
-KShellProcess p;
-p << "kcmshell" << "crypto";
-p.start(TDEProcess::DontCare);
-}
-
-
-void KCertPart::slotSelectionChanged(TQListViewItem *x) {
- KX509Item *x5i = dynamic_cast<KX509Item*>(x);
- KPKCS12Item *p12i = dynamic_cast<KPKCS12Item*>(x);
- _p12 = NULL;
- _ca = NULL;
- if (x && x->parent() == _parentCA) {
- if (!x5i) {
- return;
- }
- x5i->cert->revalidate();
- _blankFrame->hide();
- _pkcsFrame->hide();
- _x509Frame->show();
- _ca = x5i->cert;
- _import->setEnabled(true);
- _save->setEnabled(true);
- _curName = x5i->_prettyName;
- displayCACert(_ca);
- } else if (x && x->parent() == NULL && x->rtti() == 1) {
- if (!x5i) {
- return;
- }
- x5i->cert->revalidate();
- _blankFrame->hide();
- _pkcsFrame->hide();
- _x509Frame->show();
- _ca = x5i->cert;
- _import->setEnabled(false);
- _save->setEnabled(false);
- _curName = x5i->_prettyName;
- displayCACert(_ca);
- } else if (x && x->parent() == _parentP12) {
- if (!p12i) {
- return;
- }
- p12i->cert->revalidate();
- _blankFrame->hide();
- _x509Frame->hide();
- _pkcsFrame->show();
- _p12 = p12i->cert;
- _import->setEnabled(true);
- _save->setEnabled(true);
- _curName = p12i->_prettyName;
- displayPKCS12();
- } else {
- _pkcsFrame->hide();
- _x509Frame->hide();
- _blankFrame->show();
- _import->setEnabled(false);
- _save->setEnabled(false);
- _curName = "";
- }
-}
-
-
-void KCertPart::slotImportAll() {
-KSSLPKCS12 *p12Save = _p12;
-KSSLCertificate *caSave = _ca;
-TQString curNameSave = _curName;
-
-_p12 = NULL;
-_ca = NULL;
-_silentImport = true;
-
-for (KPKCS12Item *t = dynamic_cast<KPKCS12Item*>(_parentP12->firstChild());
- t;
- t = dynamic_cast<KPKCS12Item*>(t->nextSibling())) {
- if (t) {
- _p12 = t->cert;
- _curName = t->_prettyName;
- }
- slotImport();
-}
-_p12 = NULL;
-
-for (KX509Item *t = dynamic_cast<KX509Item*>(_parentCA->firstChild());
- t;
- t = dynamic_cast<KX509Item*>(t->nextSibling())) {
- if (t) {
- _ca = t->cert;
- _curName = t->_prettyName;
- }
- slotImport();
-}
-_ca = NULL;
-
-_signers->regenerate();
-_silentImport = false;
-_p12 = p12Save;
-_ca = caSave;
-_curName = curNameSave;
-KMessageBox::information(_frame, i18n("Certificates have been successfully imported into TDE.\nYou can manage your certificate settings from the TDE Control Center."), i18n("Certificate Import"));
-}
-
-
-TDEAboutData *KCertPart::createAboutData()
-{
- return new TDEAboutData("KCertPart", I18N_NOOP("TDE Certificate Part"), "1.0");
-}
-
-#include "kcertpart.moc"
-
diff --git a/kcert/kcertpart.desktop b/kcert/kcertpart.desktop
deleted file mode 100644
index 997b9a050..000000000
--- a/kcert/kcertpart.desktop
+++ /dev/null
@@ -1,99 +0,0 @@
-[Desktop Entry]
-Type=Service
-Comment=Embeddable Personal Certificate Manager
-Comment[af]=Inlegbare Persoonlike Sertifikaat Bestuurder
-Comment[ar]=مدير شهادات اعتماد شخصي قابل للدمج
-Comment[az]=Hopdurulabilən Şəxsi Vəsiqə İdarəçisi
-Comment[be]=Унутраны кіраўнік асабістых сертыфікатаў
-Comment[bg]=Вграден личен мениджър за удостоверения
-Comment[bn]=অভ্যন্তরীণ ব্যক্তিগত সার্টিফিকেট ম্যানেজার
-Comment[bs]=Umetljivi upravljač ličnim certifikatima
-Comment[ca]=Gestor encastable de certificats personals
-Comment[cs]=Pohltitelný správce osobních certifikátů
-Comment[csb]=Swój menedżera certëfikatów
-Comment[cy]=Rheolydd Tystysgrif Bersonol Mewnadeiladadwy
-Comment[da]=Indlejrbar personlig certifikathåndtering
-Comment[de]=Einbettungsfähige persönliche Zertifikatsverwaltung
-Comment[el]=Ενσωματώσιμος διαχειριστής προσωπικών πιστοποιητικών
-Comment[eo]=Enkorpigebla administrilo por personaj atestoj
-Comment[es]=Administrador empotrable de certificados personales
-Comment[et]=Põimitav personaalsete sertifikaatide haldur
-Comment[eu]=Ziurtagiri pertsonalen kudeatzaile kapsulagarria
-Comment[fa]=مدیر گواهی‌نامۀ شخصی نهفته
-Comment[fi]=Upotettava henkilökohtaisten sertifikaattien hallintatyökalu
-Comment[fr]=Gestionnaire de certificats personnels intégrable
-Comment[fy]=Yn te sluten Persoanlik-sertifikaatbehearder
-Comment[ga]=Bainisteoir Teastas Pearsanta Inleabaithe
-Comment[gl]=Xestor Persoal de Certificados Incrustábel
-Comment[he]=מנהל תעודות אישי בר־הטבעה
-Comment[hi]=अंतर्निहित निजी सर्टिफिकेट प्रबंधक
-Comment[hr]=Ugradivi upravitelj osobnim potvrdama
-Comment[hsb]=Integrujomny Personal Certificate Manager
-Comment[hu]=Beágyazható személyes tanúsítványkezelő
-Comment[id]=Manajer Sertifikat Pribadi Tersisipkan
-Comment[is]=Ívefjanlegur einkaskírteina-stjóri
-Comment[it]=Gestione integrabile dei certificati personali
-Comment[ja]=埋め込み可能な個人証明書マネージャ
-Comment[ka]=პერსონალური სერთიფიკატების ჩადგმული მმართველი
-Comment[kk]=Ендірілетін дербес куәлік менеджері
-Comment[km]=កម្មវិធី​គ្រប់គ្រង​វិញ្ញាបនបត្រ​ឯកជន​ដែល​អាច​បង្កប់
-Comment[ko]=끼워넣는 개인용 인증서 관리
-Comment[lb]=Abettbare perséinlechen Zertifikatsmanager
-Comment[lt]=Įdedama asmeninių sertifikatų tvarkyklė
-Comment[lv]=Iegulstams personālo sertifikātu menedžeris
-Comment[mk]=Вгнездлив менаџер на лични сертификати
-Comment[mn]=Суулгах боломж бүхий хувийн үнэмлэхийн зохион байгуулагч
-Comment[ms]=Pengurus Sijil Peribadi Boleh Serta
-Comment[mt]=Maniġer ta' ċertifikati personali integrat
-Comment[nb]=Innebyggbar personlig sertifikathåndterer
-Comment[nds]=Inbettbor Pleger för persöönliche Zertifikaten
-Comment[ne]=सम्मिलित व्यक्तिगत प्रमाणपत्र प्रबन्धक
-Comment[nl]=Ingebedde Persoonlijke Certificaat-beheerder
-Comment[nn]=Innebyggbar handsaming av personlege sertifikat
-Comment[nso]=Molaodi yo a Robatsegago wa Kgonthisiso ya Botho
-Comment[pa]=ਨਿੱਜੀ ਸਰਟੀਫਕੇਟ ਪ੍ਰਬੰਧਕ ਸ਼ਾਮਿਲ ਹੋਣਯੋਗ
-Comment[pl]=Osobisty menedżer certyfikatów
-Comment[pt]=Gestor de Certificados Pessoais Incorporado
-Comment[pt_BR]=Gerenciador embutido de Certificados Pessoais
-Comment[ro]=Componentă manager de certificate personale
-Comment[ru]=Встраиваемый персональный менеджер сертификатов
-Comment[rw]=Umuyobozi w'Impamyabushobozi Yihariye Ishyirwamo
-Comment[se]=Vuojuhanláhkái persuvnnalaš duođaštusaid gieđahalli
-Comment[sk]=Vložiteľný osobný správca certifikátov
-Comment[sl]=Vgradljivi osebni upravljalnik certifikatov
-Comment[sq]=Menagjer për diplomë personale
-Comment[sr]=Уградиви менаџер личних сертификата
-Comment[sr@Latn]=Ugradivi menadžer ličnih sertifikata
-Comment[ss]=Siphatsi sesithifikethi samuntfu sicu lesinamatselekako
-Comment[sv]=Inbäddningsbar personlig certifikatshanterare
-Comment[ta]=உட்பொதிந்த சொந்தச் சான்றிதழ் மேலாளர்
-Comment[te]=పొదగబడె వక్తిగత ప్రమాణ పత్రాల అభికర్త
-Comment[tg]=Мудири шахсии сохташудаи сертификатҳо
-Comment[th]=ตัวจัดการแบบฝังตัวของใบรับรองส่วนบุคคล
-Comment[tr]=Gömülebilir Kişisel Sertifika Yöneticisi
-Comment[tt]=Şäxsi Tanıqlıqlar öçen Quşılma-İdäräçe
-Comment[uk]=Менеджер персональних сертифікатів, який можна вбудовувати
-Comment[uz]=Ichiga oʻrnatib boʻladigan shaxsiy sertifikat boshqaruvchisi
-Comment[uz@cyrillic]=Ичига ўрнатиб бўладиган шахсий сертификат бошқарувчиси
-Comment[ven]=Mulanguli wa sethifikheithi ya vhune
-Comment[vi]=Bộ Quản lý Chứng nhận Cá nhân có khả năng nhúng
-Comment[xh]=Umphathi Wesiqinisekiso Sobuntu bakho Obulungiselelweyo
-Comment[zh_CN]=可嵌入的个人证书管理器
-Comment[zh_HK]=可嵌入的個人證書管理工具
-Comment[zh_TW]=可嵌入的個人認證管理工具
-Comment[zu]=Imeneja Yesitifiketi Sobunini Oshuthekiwe
-MimeType=application/x-pkcs12;application/x-x509-ca-cert;application/binary-certificate;
-Icon=lock
-Name=KCertPart
-Name[af]=Kcertpart
-Name[bn]=কে-সার্ট-পার্ট
-Name[cy]=KRhanTyst
-Name[eo]=Katestilo-parto
-Name[nso]=Seripa sa KCert
-Name[sv]=Kcertpart
-Name[ta]=கேசான்றிதழ்பகுதி
-Name[te]=కెసెర్ట్ పార్ట్
-Name[ven]=Tshipida tsha cert ya K
-ServiceTypes=KParts/ReadWritePart
-X-TDE-Library=libkcertpart
-InitialPreference=15
diff --git a/kcert/kcertpart.h b/kcert/kcertpart.h
deleted file mode 100644
index a5274a926..000000000
--- a/kcert/kcertpart.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2001 George Staikos <staikos@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef _INCLUDE_KCERTPART_H
-#define _INCLUDE_KCERTPART_H
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <kparts/part.h>
-#include <tqptrlist.h>
-#include <tqlistview.h>
-#include <klistview.h>
-
-class KSSLCertBox;
-class TQFrame;
-class TQLabel;
-class KCertPartPrivate;
-class KComboBox;
-class TQButton;
-class KSSLSigners;
-class KSSLPKCS12;
-class KSSLCertificate;
-class TQTabWidget;
-class TQMultiLineEdit;
-class TDEAboutData;
-class TQGridLayout;
-
-
-class KX509Item : public KListViewItem {
- public:
- KX509Item(KListViewItem *parent, KSSLCertificate *x);
- KX509Item(KListView *parent, KSSLCertificate *x);
- void setup(KSSLCertificate *x);
- ~KX509Item();
- virtual int rtti() const { return 1; }
- KSSLCertificate *cert;
- TQString _prettyName;
-};
-
-
-class KPKCS12Item : public KListViewItem {
- public:
- KPKCS12Item(KListViewItem *parent, KSSLPKCS12 *x);
- ~KPKCS12Item();
- KSSLPKCS12 *cert;
- TQString _prettyName;
-};
-
-
-class KCertPart : public KParts::ReadWritePart {
-Q_OBJECT
-public:
- KCertPart(TQWidget *parentWidget, const char *widgetName,
- TQObject *parent = 0L, const char *name = 0L,
- const TQStringList &args = TQStringList() );
- virtual ~KCertPart();
-
- virtual void setReadWrite(bool readwrite);
-
- static TDEAboutData *createAboutData();
-
-protected slots:
- void slotChain(int c);
- void slotImport();
- void slotSave();
- void slotDone();
- void slotLaunch();
- void slotSelectionChanged(TQListViewItem *x);
- void slotImportAll();
-
-protected:
-
- virtual bool openFile();
- virtual bool saveFile();
-
- void displayPKCS12Cert(KSSLCertificate *c);
- void displayCACert(KSSLCertificate *c);
-
- KListView *_sideList;
- KListViewItem *_parentCA, *_parentP12;
- TQFrame *_pkcsFrame, *_blankFrame, *_x509Frame, *_frame;
-
- // for the PKCS12 widget
- TQLabel *_p12_filenameLabel, *_p12_validFrom, *_p12_validUntil,
- *_p12_serialNum, *_p12_certState;
- TQLabel *_p12_digest;
- KComboBox *_p12_chain;
- TQMultiLineEdit *_p12_pubkey, *_p12_sig;
- KSSLCertBox *_p12_subject, *_p12_issuer;
-
- // for the CA widget
- TQLabel *_ca_filenameLabel, *_ca_validFrom, *_ca_validUntil,
- *_ca_serialNum, *_ca_certState;
- TQLabel *_ca_digest;
- TQMultiLineEdit *_ca_pubkey, *_ca_sig;
- KSSLCertBox *_ca_subject, *_ca_issuer;
-
-
- // The rest
- TDEInstance *_instance;
- TQButton *_import, *_save, *_done, *_launch, *_importAll;
- // Store the pointer to the current item
- KSSLPKCS12 *_p12;
- KSSLCertificate *_ca;
- TQTabWidget *_tabs;
- TQGridLayout *_baseGrid;
- KSSLSigners *_signers;
- bool _silentImport;
- TQString _curName;
-
-private:
- KCertPartPrivate *d;
- void displayPKCS12();
-};
-
-
-
-
-#endif
-
-
diff --git a/kcert/kcertpart.rc b/kcert/kcertpart.rc
deleted file mode 100644
index 4deb2d7c8..000000000
--- a/kcert/kcertpart.rc
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui name="KCertPart" version="2">
-<MenuBar>
- <Menu name="Certificate"><Text>&amp;Certificate</Text>
- <Action name="Import"/>
-</Menu>
-</MenuBar>
-<StatusBar/>
-</kpartgui>
-