diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..ccf56ee8 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,11 @@ +Christian Hohnstädt + Programming, translation, testing + + +Kerstin Steinhauff + Arts, graphics, testing, SuSE rpm building + + +David Guerrero + Spanish translation, testing, Redhat rpm building + diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index 730e9bae..00000000 --- a/CHANGELOG +++ /dev/null @@ -1,16 +0,0 @@ -Version: 0.1.0 -Date: 02/02/12 -=============== - -RSA Keys are generated and stored to or loaded from a file -in either DER or PEM format. -They get stored in alocal Bercley DB. -Changing their description and viewing their contents, as well -as deleting them from local DB is possible. -No certificates, nor CA or PKCS#10 functionality yet. - - - - -CVS - Changelog, generated with rcs2log -======================================= diff --git a/KeyDetail.ui b/KeyDetail.ui index 10bbc834..55fc7e78 100644 --- a/KeyDetail.ui +++ b/KeyDetail.ui @@ -11,7 +11,7 @@ 0 0 - 458 + 454 349 @@ -443,7 +443,7 @@ font - 14 + 10 1 diff --git a/MainWindow.cpp b/MainWindow.cpp index 2b327a73..b03de28e 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -173,6 +173,7 @@ int MainWindow::passRead(char *buf, int size, int rwflag, void *userdata) dlg->title->setText(tr(p->title->c_str())); dlg->description->setText(tr(p->description->c_str())); } + dlg->pass->setFocus(); if (dlg->exec()) { QString x = dlg->pass->text(); strncpy(buf, x.latin1(), size); @@ -190,6 +191,7 @@ int MainWindow::passWrite(char *buf, int size, int rwflag, void *userdata) dlg->title->setText(tr(p->title->c_str())); dlg->description->setText(tr(p->description->c_str())); } + dlg->passA->setFocus(); if (dlg->exec()) { QString A = dlg->passA->text(); QString B = dlg->passB->text(); diff --git a/MainWindow.h b/MainWindow.h index d57c2e2e..3913699b 100644 --- a/MainWindow.h +++ b/MainWindow.h @@ -139,6 +139,7 @@ class MainWindow: public MainWindow_UI bool opensslError(pki_base *pki); QPixmap *loadImg(const char *name); void renamePKI(db_base *db); + bool alterTemp(pki_temp *temp); public slots: void loadKey(); void loadReq(); @@ -183,7 +184,7 @@ class MainWindow: public MainWindow_UI void renameReq(QListViewItem *item, int col, const QString &text); void renameCert(QListViewItem *item, int col, const QString &text); void renameTemp(QListViewItem *item, int col, const QString &text); - bool alterTemp(pki_temp *temp); + void alterTemp(); signals: void keyDone(QString name); }; diff --git a/MainWindow.ui b/MainWindow.ui index 5941b694..70ded5e5 100644 --- a/MainWindow.ui +++ b/MainWindow.ui @@ -12,7 +12,7 @@ 0 0 - 800 + 792 604 @@ -680,7 +680,7 @@ text - Show Details + Change Template @@ -719,7 +719,7 @@ QLabel name - bigCert_2 + bigTemp minimumSize @@ -951,6 +951,12 @@ MainWindow_UI deleteTemp() + + PushButton25_2_2 + clicked() + MainWindow_UI + alterTemp() + tempList rightButtonPressed(QListViewItem*,const QPoint&,int) @@ -961,8 +967,9 @@ tempList doubleClicked(QListViewItem*) MainWindow_UI - showDetailsTemp(QListViewItem *) + alterTemp() + alterTemp() deleteCert() deleteKey() deleteReq() @@ -975,7 +982,6 @@ newKey() newReq() newTemp() - showDetailsTemp(QListViewItem *) showDetailsCert() showDetailsCert(QListViewItem *) showDetailsKey() diff --git a/MainWindowTemps.cpp b/MainWindowTemps.cpp index 41b19758..f808a683 100644 --- a/MainWindowTemps.cpp +++ b/MainWindowTemps.cpp @@ -62,15 +62,23 @@ void MainWindow::newTemp() bool MainWindow::alterTemp(pki_temp *temp) { - NewX509 *dlg = new NewX509(this, NULL, NULL, NULL, NULL, NULL ); + NewX509 *dlg = new NewX509(this, NULL, NULL, NULL, NULL, NULL, tempImg ); CERR << ":-) a" << endl; dlg->fromTemplate(temp); CERR << ":-) b" << endl; if (!dlg->exec()) return false; + CERR << ":-) c" << endl; dlg->toTemplate(temp); return true; } +void MainWindow::alterTemp() +{ + pki_temp *temp = (pki_temp *)temps->getSelectedPKI(); + alterTemp(temp); +} + + void MainWindow::deleteTemp() { pki_temp *delTemp = (pki_temp *)temps->getSelectedPKI(); diff --git a/MainWindowX509.cpp b/MainWindowX509.cpp index 6216af15..11f0ca16 100644 --- a/MainWindowX509.cpp +++ b/MainWindowX509.cpp @@ -60,9 +60,9 @@ void MainWindow::newCert(pki_temp *templ =NULL) pki_key *signkey = NULL, *clientkey = NULL; int serial = 42; // :-) int i; - NewX509 *dlg = new NewX509(this, NULL, keys, reqs, certs, temps ); + NewX509 *dlg = new NewX509(this, NULL, keys, reqs, certs, temps, certImg ); if (templ) { - dlg->fromTemplate(templ); + dlg->defineTemplate(templ); } if (!dlg->exec()) return; @@ -108,13 +108,6 @@ void MainWindow::newCert(pki_temp *templ =NULL) // Step 3 - Choose the Date and all the V3 extensions - if (dlg->foreignSignRB->isChecked()) { - // increase serial here - string serhash = signcert->fingerprint(EVP_md5()) + "serial"; - serial = settings->getInt(serhash) + 1; - CERR << "serial is: " << serial <putInt(serhash, serial); - } // Date handling int x = dlg->validNumber->text().toInt(); int days = dlg->validRange->currentItem(); @@ -213,10 +206,16 @@ void MainWindow::newCert(pki_temp *templ =NULL) CERR << "IssAltName:" << issAltName<< endl; cert->addV3ext(NID_issuer_alt_name, issAltName); } - if (opensslError(cert)) return; + // increase serial here + if (dlg->foreignSignRB->isChecked()) { + serial = signcert->getCaSerial(); + certs->updatePKI(signcert); // not so pretty .... + CERR << "serial is: " << serial <sign(signkey); if (opensslError(cert)) return; @@ -510,8 +509,8 @@ void MainWindow::writePKCS12() void MainWindow::showPopupCert(QListViewItem *item, const QPoint &pt, int x) { CERR << "hallo popup" << endl; QPopupMenu *menu = new QPopupMenu(this); - int itemExtend, itemRevoke, itemTrust; - bool canSign; + int itemExtend, itemRevoke, itemTrust, itemSerial; + bool canSign, parentCanSign; if (!item) { menu->insertItem(tr("New Certificate"), this, SLOT(newCert())); menu->insertItem(tr("Import"), this, SLOT(loadCert())); @@ -524,6 +523,8 @@ void MainWindow::showPopupCert(QListViewItem *item, const QPoint &pt, int x) { menu->insertItem(tr("Delete"), this, SLOT(deleteCert())); itemTrust = menu->insertItem(tr("Trust"), this, SLOT(setTrust())); menu->insertSeparator(); + itemSerial = menu->insertItem(tr("CA serial")); + menu->insertSeparator(); itemExtend = menu->insertItem(tr("Extend")); if (cert) { if (cert->isRevoked()) { @@ -532,10 +533,13 @@ void MainWindow::showPopupCert(QListViewItem *item, const QPoint &pt, int x) { } else itemRevoke = menu->insertItem(tr("Revoke"), this, SLOT(revoke())); - canSign = (cert->getSigner() && (cert->getSigner()->getKey() != NULL)) && (cert->getSigner() != cert); + parentCanSign = (cert->getSigner() && cert->getSigner()->canSign() && (cert->getSigner() != cert)); + canSign = cert->canSign(); } - menu->setItemEnabled(itemExtend, canSign); - menu->setItemEnabled(itemRevoke, canSign); + menu->setItemEnabled(itemExtend, parentCanSign); + menu->setItemEnabled(itemRevoke, parentCanSign); + menu->setItemEnabled(itemSerial, canSign); + } menu->exec(pt); return; diff --git a/MainWindowX509Req.cpp b/MainWindowX509Req.cpp index bb98e534..1dd5596e 100644 --- a/MainWindowX509Req.cpp +++ b/MainWindowX509Req.cpp @@ -54,9 +54,9 @@ void MainWindow::newReq(pki_temp *temp=NULL) { - NewX509 *dlg = new NewX509(this, 0, keys, NULL, NULL, temps); + NewX509 *dlg = new NewX509(this, 0, keys, NULL, NULL, temps, csrImg); if (temp) { - dlg->fromTemplate(temp); + dlg->defineTemplate(temp); } dlg->setRequest(); //dlg->image->setPixmap(*csrImg); diff --git a/Makefile.in b/Makefile.in index 1f217846..4fc15323 100644 --- a/Makefile.in +++ b/Makefile.in @@ -67,20 +67,20 @@ distclean: clean dist: rm -rf ../$(TARGET) cvs export -r $(TAG) -d ../$(TARGET) xca - rcs2log >> ../$(TARGET)/CHANGELOG - (cd ../$(TARGET); autoconf; lrelease xca.pro; cat rpm/xca.spec |sed s/VERSION/$(VERSION)/g >rpm/$(TARGET)-1.spec; rm rpm/xca.spec ) + (cd ../$(TARGET); autoconf; \ + ./mkxcapro.sh; lrelease xca.pro; \ + cat rpm/xca.spec debian/changelog |sed s/VERSION/$(VERSION)/g >rpm/$(TARGET)-1.spec; \ + rm rpm/xca.spec ) (cd ..; tar zcf $(TARGET).tar.gz $(TARGET) ) - rm -rf ../$(TARGET) + #rm -rf ../$(TARGET) install: xca strip xca install -m 755 -o root -g root xca $(DESTDIR)@prefix@/bin install -m 755 -o root -g root -d $(DESTDIR)@prefix@/share/xca install -m 644 -o root -g root img/*.png $(DESTDIR)@prefix@/share/xca + install -m 644 -o root -g root xca_??.qm $(DESTDIR)@prefix@/share/xca - -.SECONDARY: - %_MOC.cpp: %.h %.cpp $(MOC) $< -o $@ diff --git a/NewX509.cpp b/NewX509.cpp index 8be5d789..02687ef6 100644 --- a/NewX509.cpp +++ b/NewX509.cpp @@ -51,7 +51,7 @@ #include "NewX509.h" -NewX509::NewX509(QWidget *parent , const char *name, db_key *key, db_x509req *req, db_x509 *cert, db_temp *temp) +NewX509::NewX509(QWidget *parent , const char *name, db_key *key, db_x509req *req, db_x509 *cert, db_temp *temp, QPixmap *image) :NewX509_UI(parent, name, true, 0) { connect( this, SIGNAL(genKey()), parent, SLOT(newKey()) ); @@ -60,8 +60,13 @@ NewX509::NewX509(QWidget *parent , const char *name, db_key *key, db_x509req *re reqs = req; temps = temp; certs = cert; + pki_x509 *possibleSigner; + if (image) { + bigImg1->setPixmap(*image); + bigImg2->setPixmap(*image); + bigImg3->setPixmap(*image); + } QStringList strings; - // are there any useable private keys ? if (keys) { strings = keys->getPrivateDesc(); @@ -75,7 +80,7 @@ NewX509::NewX509(QWidget *parent , const char *name, db_key *key, db_x509req *re else { keyList->setEnabled(false); genKeyBUT->setEnabled(false); - removePage(page3); + setAppropriate(page3, false); } // any PKCS#10 requests to be used ? @@ -102,6 +107,13 @@ NewX509::NewX509(QWidget *parent , const char *name, db_key *key, db_x509req *re } else { certList->insertStringList(strings); + // suggested from: Andrey Brindeew + possibleSigner=(pki_x509 *)certs->getSelectedPKI(); + if (possibleSigner && possibleSigner->canSign()) { + //const QString name = possibleSigner->getDescription().c_str(); + //certList->setCurrentText(name); + foreignSignRB->setChecked(true); + } } } else { @@ -113,30 +125,36 @@ NewX509::NewX509(QWidget *parent , const char *name, db_key *key, db_x509req *re if (temps) { strings = temps->getDesc(); if (strings.isEmpty()) { - removePage(page1); + setAppropriate(page1,false); } else { tempList->insertStringList(strings); } } else { - removePage(page1); + setAppropriate(page1,false); } fromDataRB->setChecked(true); - setFinishEnabled(page5,true); + setFinishEnabled(page6,true); setNextEnabled(page2,false); } void NewX509::setRequest() { - removePage(page3); - removePage(page4); - removePage(page5); + setAppropriate(page3, false); + setAppropriate(page4, false); + setAppropriate(page5, false); + finishButton()->setEnabled(true); } +void NewX509::defineTemplate(pki_temp *temp) +{ + setAppropriate(page1,false); + fromTemplate(temp); +} + void NewX509::fromTemplate(pki_temp *temp) { - removePage(page1); countryName->setText(temp->C.c_str()); stateOrProvinceName->setText(temp->P.c_str()); localityName->setText(temp->L.c_str()); @@ -168,11 +186,9 @@ void NewX509::dataChangeP2() { if (description->text() != "" || fromReqRB->isChecked()) { setNextEnabled(page2,true); - finishButton()->setEnabled(true); } else { setNextEnabled(page2,false); - finishButton()->setEnabled(false); } } @@ -181,6 +197,7 @@ void NewX509::showPage(QWidget *page) if ( page == page2 ) { dataChangeP2(); + } else if ( page == page3 ) { if (!selfSignRB->isChecked() && !foreignSignRB->isChecked()) { @@ -198,6 +215,25 @@ void NewX509::showPage(QWidget *page) QWizard::showPage(page); } + +void NewX509::templateChanged() +{ + pki_temp *temp = (pki_temp *)temps->getSelectedPKI(tempList->currentText().latin1()); + fromTemplate(temp); +} + +void NewX509::switchExtended() +{ + CERR << "SWITCH Extended" <isChecked()) { + setAppropriate(page4, true); + setAppropriate(page5, true); + } + else { + setAppropriate(page4, false); + setAppropriate(page5, false); + } +} void NewX509::setDisabled(int state) { diff --git a/NewX509.h b/NewX509.h index 7dc136f9..90ab5faa 100644 --- a/NewX509.h +++ b/NewX509.h @@ -59,6 +59,9 @@ #include #include #include +#include +#include +#include #ifndef NEWX509_H #define NEWX509_H @@ -73,17 +76,20 @@ class NewX509: public NewX509_UI db_key *keys; db_temp *temps; public: - NewX509(QWidget *parent, const char *name, db_key *key, db_x509req *req, db_x509 *cert, db_temp *temp); + NewX509(QWidget *parent, const char *name, db_key *key, db_x509req *req, db_x509 *cert, db_temp *temp, QPixmap *image); void setRequest(); // reduce to requestform void showPage(QWidget *page); void toTemplate(pki_temp *temp); void fromTemplate(pki_temp *temp); + void defineTemplate(pki_temp *temp); public slots: void setDisabled(int state); void newKey(); void dataChangeP2(); void newKeyDone(QString name); + void switchExtended(); + void templateChanged(); signals: void genKey(); diff --git a/NewX509.ui b/NewX509.ui index 4a71bcbe..119efc0e 100644 --- a/NewX509.ui +++ b/NewX509.ui @@ -12,7 +12,7 @@ 0 0 571 - 400 + 444 @@ -24,6 +24,170 @@ caption Certificate creation + + QWidget + + name + page0 + + + title + Page0 + + + + margin + 11 + + + spacing + 6 + + + QLayoutWidget + + name + Layout15 + + + + margin + 0 + + + spacing + 6 + + + + name + Spacer33 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QLabel + + name + bigImg1 + + + minimumSize + + 200 + 94 + + + + scaledContents + true + + + + + name + Spacer34 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + + + + name + Spacer35 + + + orientation + Vertical + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QLabel + + name + TextLabel1 + + + text + Welcome to the certificate wizard helping you creating certificates from scratch or from certificate signing request. + +This can be done using one of the templates below. +(More to come, for Reqs and templates too :-) + + + alignment + WordBreak|AlignTop|AlignLeft + + + vAlign + + + wordwrap + + + + + name + Spacer36 + + + orientation + Vertical + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QWidget @@ -44,22 +208,81 @@ 6 - QLabel + QLayoutWidget name - TextLabel2_3 - - - text - Please choose from the templates the one to use for the new certificate or request - - - alignment - WordBreak|AlignVCenter|AlignLeft - - - wordwrap + Layout16 + + + margin + 0 + + + spacing + 6 + + + + name + Spacer37 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QLabel + + name + bigImg2 + + + minimumSize + + 200 + 94 + + + + scaledContents + true + + + + + name + Spacer38 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + @@ -83,15 +306,19 @@ - QLayoutWidget + QGroupBox name - Layout7 + templateFrame - + + title + Template + + margin - 0 + 11 spacing @@ -101,11 +328,18 @@ QLabel name - TextLabel1 + TextLabel2_3 text - Template + Please choose from the templates the one to use for the new certificate or request + + + alignment + WordBreak|AlignVCenter|AlignLeft + + + wordwrap @@ -122,7 +356,18 @@ - + + QCheckBox + + name + changeDefault + + + text + Change default settings of the template + + + @@ -666,7 +911,7 @@ For a SSL servercertificate choose the DNS name of the server as "Common name"title New Certificate Step 4 - + margin 11 @@ -675,83 +920,28 @@ For a SSL servercertificate choose the DNS name of the server as "Common name"spacing 6 - - QLineEdit - + + name - crlDist - - - - QLabel - - name - TextLabel1_2_3_2 + Spacer39 - text - CRL distribution point - - - - QCheckBox - - name - issAltCp + orientation + Vertical - text - Copy issuer name + sizeType + Expanding - - - QLabel - - name - TextLabel1_2_2_2 + + sizeHint + + 20 + 20 + - - text - issuer alternative name - - - - QLineEdit - - name - issAltName - - - - QCheckBox - - name - subAltCp - - - text - Copy e-mail address from subject line - - - - QLineEdit - - name - subAltName - - - - QLabel - - name - TextLabel1_2_2 - - - text - subject alternative name - - - + + QLayoutWidget name @@ -971,7 +1161,7 @@ For a SSL servercertificate choose the DNS name of the server as "Common name" - + name Spacer8 @@ -992,7 +1182,100 @@ For a SSL servercertificate choose the DNS name of the server as "Common name" - + + QLayoutWidget + + name + Layout17 + + + + margin + 0 + + + spacing + 6 + + + QCheckBox + + name + issAltCp + + + text + Copy issuer name + + + + QLabel + + name + TextLabel1_2_2_2 + + + text + issuer alternative name + + + + QLabel + + name + TextLabel1_2_2 + + + text + subject alternative name + + + + QLabel + + name + TextLabel1_2_3_2 + + + text + CRL distribution point + + + + QCheckBox + + name + subAltCp + + + text + Copy e-mail address from subject line + + + + QLineEdit + + name + issAltName + + + + QLineEdit + + name + subAltName + + + + QLineEdit + + name + crlDist + + + + + QWidget @@ -1229,6 +1512,157 @@ For a SSL servercertificate choose the DNS name of the server as "Common name" + + QWidget + + name + page6 + + + title + Page + + + + margin + 11 + + + spacing + 6 + + + QLayoutWidget + + name + Layout16_2 + + + + margin + 0 + + + spacing + 6 + + + + name + Spacer37_2 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QLabel + + name + bigImg3 + + + minimumSize + + 200 + 94 + + + + scaledContents + true + + + + + name + Spacer38_2 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + + + + name + Spacer43 + + + orientation + Vertical + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QLabel + + name + TextLabel2 + + + text + So, jetzt ist alles Fertig .... :-) + + + + + name + Spacer44 + + + orientation + Vertical + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + @@ -1249,8 +1683,22 @@ For a SSL servercertificate choose the DNS name of the server as "Common name"NewX509_UI dataChangeP2() + + tempList + textChanged(const QString&) + NewX509_UI + tempChanged() + + + changeDefault + stateChanged(int) + NewX509_UI + switchExtended() + dataChangeP2() newKey() + switchExtended() setDisabled(int) + tempChanged() diff --git a/main.cpp b/main.cpp index fcfe03b6..019ed3c8 100644 --- a/main.cpp +++ b/main.cpp @@ -67,7 +67,7 @@ int main( int argc, char *argv[] ) a.installTranslator( &qtTr ); //translation file for application strings QTranslator xcaTr( 0 ); - xcaTr.load( QString( "xca_" ) + QTextCodec::locale(), "." ); + xcaTr.load( QString( "xca_" ) + QTextCodec::locale(), PREFIX ); a.installTranslator( &xcaTr ); mw.show(); diff --git a/mkxcapro.sh b/mkxcapro.sh index 79d9d8a3..7b44b7ce 100755 --- a/mkxcapro.sh +++ b/mkxcapro.sh @@ -9,4 +9,4 @@ fi echo "HEADERS = "`ls *.h` >$P echo "SOURCES = "`ls *.cpp` >>$P echo "FORMS = "`ls *.ui` >>$P -echo "TRANSLATIONS = xca_de.ts xca_es.ts" >>$P +echo "TRANSLATIONS = "`ls xca_??.ts` >>$P diff --git a/xca.pro b/xca.pro index d2175fa3..d7ec02fc 100644 --- a/xca.pro +++ b/xca.pro @@ -1,4 +1,4 @@ -HEADERS = ExportKey.h MainWindow.h NewX509.h NewX509Req.h -SOURCES = ExportKey.cpp MainWindow.cpp MainWindowKeys.cpp MainWindowTemps.cpp MainWindowX509.cpp MainWindowX509Req.cpp NewX509.cpp NewX509Req.cpp main.cpp -FORMS = CertDetail.ui ExportKey.ui KeyDetail.ui MainWindow.ui NewKey.ui NewX509.ui NewX509Req.ui PassRead.ui PassWrite.ui Rename.ui ReqDetail.ui TrustState.ui -TRANSLATIONS = xca_de.ts xca_es.ts +HEADERS = ExportKey.h MainWindow.h NewX509.h +SOURCES = ExportKey.cpp MainWindow.cpp MainWindowKeys.cpp MainWindowTemps.cpp MainWindowX509.cpp MainWindowX509Req.cpp NewX509.cpp main.cpp +FORMS = CertDetail.ui ExportKey.ui KeyDetail.ui MainWindow.ui NewKey.ui NewX509.ui PassRead.ui PassWrite.ui Rename.ui ReqDetail.ui TrustState.ui +TRANSLATIONS = xca_de.ts xca_en.ts xca_es.ts diff --git a/xca_de.ts b/xca_de.ts index 46979133..01d27b98 100644 --- a/xca_de.ts +++ b/xca_de.ts @@ -578,88 +578,12 @@ it should be encrypted. Abbrechen - - NewX509Req_UI - - Certificate signing request - - - - New certificate signing request - - - - For a new certificate you have to enter your personal data into the form and select a key to use. -For a SSL servercertificate choose the DNS name of the server - - - - Organisational unit: - - - - Organisation: - Firma: - - - Common name: - - - - E-Mail address: - - - - State or Province - - - - Country: - Land: - - - Key: - Schlüssel: - - - Locality: - - - - Request name: - - - - Germany - - - - Generate a new key - - - - DE - - - - Cancel - Abbrechen - - - Generate request - - - NewX509_UI Source of the subject and the key - - Germany - - E-Mail address: @@ -684,10 +608,6 @@ For a SSL servercertificate choose the DNS name of the server Common name: - - DE - - Key: Schlüssel: diff --git a/xca_es.ts b/xca_es.ts index cd759cf2..3dfa206e 100644 --- a/xca_es.ts +++ b/xca_es.ts @@ -3,311 +3,314 @@ CertDetail_UI Details of the Certificate - + Detalles del Certificado Standards - + Standards Name - + Nombre Signed by: - + Firmado por: Key: - + Clave: not available - + no disponible Serial: - + Num Serie: SELF SIGNED - + AUTO FIRMADO Subject - + Sujeto name / DNS: - + nombre / DNS: Province: - + Provincia: E-Mail: - + E-Mail: Organisation - + Organización Country: - + País: Org. unit - + Departamento Issuer - + Emisor Org. unit: - + Departamento: Organisation: - + Organización: Validity - + Validez valid - + válido Fingerprint - + Huella MD5 - + SHA1 - + OK - + Cancel - + Cancelar ExportKey_UI Key export - + Exportar clave Please enter the filename for the key. - + Introduzca nombre de fichero que contendrá la clave. Filename: - + Fichero: ... - + ... DER is a binary format of the key without encryption PEM is a base64 encoded key with optional encryption PKCS#8 is an encrypted official Key-exchange format - + DER es un formato binario sin cifrado +PEM es un formato texto bas64 con cifrado opcional +PKCS#8 es un formato estandar de intercambio de claves Export Format: - + Formato de exportación: When exporting the private key it should be encrypted. - + Cuando se exporte la clave privada +es aconsejable utilizar cifrado. Export the private part of the Key too - + Exportar la clave privada simultaneamente Encrypt the Key with a password - + Cifrar la clave con una contraseña OK - + Cancel - + Cancelar KeyDetail_UI Details of the key - + Detalles de la clave Name - + Nombre Private Exponent - + Exponente secreto Available - + Disponible Public Exponent - + Exponente público Keysize - + Tamaño de clave Modulus - + Módulo OK - + Cancel - + Cancelar MainWindow Password - + Contraseña Password verify error, please try again - + Contraeña incorrecta, inténtelo de nuevo Internal Error - + Error interno The system detected a NULL pointer, maybe the system is out of memory - + El sistema detectó un puntero NULL, podría deberse a falta de memoria OpenSSL Error - + Error de OpenSSL The openSSL library raised the following error - + OpenSSL devolvió el siguiente error Key error - + Error en la clave The Key: - + Clave: is not consistent: - + no es consistente: Please wait, Key generation is in progress - + Espere, generando claves... Cancel - + Cancelar The key - + Clave is going to be deleted - + va a ser eliminado not available - + no disponible Import - + Importar Discard - + Abandonar could not be loaded - + no ha podido ser cargado Key storing - + Almacenamiento de claves The key is already in the database as - + La clave ya aparece en la base de datos como and is not going to be imported - + y no va a ser importada The database already contains the public part of the imported key as - + La base de datos ya contiene la parte pública de la clave importada como and will be completed by the new, private part of the key - + y será completada por la nueva parte secreta de la clave The key could not be stored into the database - + La clave no pudo ser almacenada en la base de datos File error - + Error en el fichero Der Schlüssel - + could not be written - + no ha podido ser escrito Key export - + Exportar clave The key was successfull exported into the file - + La clave ha sido exportada con éxito en el fichero New Key - + Nueva clave Rename @@ -441,6 +444,10 @@ it should be encrypted. New Request + + New Template + + The template @@ -449,10 +456,6 @@ it should be encrypted. The template could not be stored into the database - - New Template - - Create certificate @@ -474,7 +477,7 @@ it should be encrypted. Name - + Nombre Item @@ -482,7 +485,7 @@ it should be encrypted. New Key - + Nueva clave Export @@ -490,7 +493,7 @@ it should be encrypted. Import - + Importar Show Details @@ -524,14 +527,6 @@ it should be encrypted. Import PKCS#12 - - Templates - - - - New Template - - (c) 2002 by christian@hohnstaedt.de @@ -540,6 +535,14 @@ it should be encrypted. Exit + + Templates + + + + New Template + + NewKey_UI @@ -561,11 +564,11 @@ it should be encrypted. Keysize - + Tamaño de clave New Key - + Nueva clave OK @@ -577,42 +580,33 @@ it should be encrypted. - NewX509Req_UI + NewX509_UI - Certificate signing request - - - - New certificate signing request - - - - For a new certificate you have to enter your personal data into the form and select a key to use. -For a SSL servercertificate choose the DNS name of the server - - - - Organisational unit: - - - - Organisation: - - - - Common name: + Source of the subject and the key E-Mail address: + + Organisation: + + State or Province - Country: + Organisational unit: + + + + Generate a new key + + + + Common name: @@ -624,32 +618,17 @@ For a SSL servercertificate choose the DNS name of the server - Request name: + Country: - Germany + Certificate name: - Generate a new key + Use this Certificate signing request - - DE - - - - Cancel - - - - Generate request - - - - - NewX509_UI Certificate creation @@ -676,66 +655,10 @@ For signing a request, please select the appropriate Certificates igning request For a SSL servercertificate choose the DNS name of the server as "Common name" - - Source of the subject and the key - - Use the data entered here - - Germany - - - - E-Mail address: - - - - Organisation: - - - - State or Province - - - - Organisational unit: - - - - Generate a new key - - - - Common name: - - - - DE - - - - Key: - - - - Locality: - - - - Country: - - - - Certificate name: - - - - Use this Certificate signing request - - New Certificate Step 3 @@ -933,42 +856,42 @@ For a SSL servercertificate choose the DNS name of the server as "Common na PassRead_UI Passwort - + Contraseña Password - + Contraseña OK - + Cancel - + Cancelar PassWrite_UI Passwort - + Contraseña Password - + Contraseña Repeat pasword - + Repetir contraseña OK - + Cancel - + Cancelar @@ -994,67 +917,67 @@ For a SSL servercertificate choose the DNS name of the server as "Common na ReqDetail_UI Details of the request - + Detalles de la solicitud Details of the certificate signing request - + Detalles de la solicitud Standards - + Certificate name - + Id del certificado Signature - + Firma Key - + Clave OK - + not available - + no disponible Subject - + Sujeto name / DNS - + nombre / DNS Province - + Provincia Country - + País Org. Unit - + Departamento E-Mail - + E-Mail Organisation - + Organización Cancel - + Cancelar @@ -1069,7 +992,7 @@ For a SSL servercertificate choose the DNS name of the server as "Common na Certificate name - + Id del certificado Select the Truststate