From bbba019c39afcd79b3c7f2183109bf4fd94050cc Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 18 Feb 2002 20:18:58 +0000 Subject: [PATCH] Creating a request works --- MainWindowX509Req.cpp | 10 + NewX509Req.ui | 588 +++++++++++++++++++++--------------------- RSAkey.cpp | 17 +- RSAkey.h | 3 + 4 files changed, 323 insertions(+), 295 deletions(-) diff --git a/MainWindowX509Req.cpp b/MainWindowX509Req.cpp index c5026c9a..88695bad 100644 --- a/MainWindowX509Req.cpp +++ b/MainWindowX509Req.cpp @@ -9,4 +9,14 @@ void MainWindow::newX509Req() RSAkey *key = keys->getSelectedKey(dlg->keyList->currentText()); X509Req *req = new X509Req(key, this); cerr << "HIIIIEEER\n"; + QString cn = dlg->commonName->text(); + QString c = dlg->countryName->text(); + QString l = dlg->localityName->text(); + QString st = dlg->stateOrProvinceName->text(); + QString o = dlg->organisationName->text(); + QString ou = dlg->organisationalUnitName->text(); + QString email = dlg->emailAddress->text(); + req->setDN(cn.latin1(),c.latin1(),l.latin1(),st.latin1(),o.latin1(),ou.latin1(),email.latin1()); + req->sign(key); + cerr << "HIIIIEEER\n"; } diff --git a/NewX509Req.ui b/NewX509Req.ui index 86071fbc..8fb02db9 100644 --- a/NewX509Req.ui +++ b/NewX509Req.ui @@ -11,7 +11,7 @@ 0 0 - 648 + 644 443 @@ -47,298 +47,6 @@ Zertifikat - Unterschriftsanfrage - - QFrame - - name - Frame7 - - - geometry - - 20 - 130 - 310 - 240 - - - - frameShape - Box - - - frameShadow - Sunken - - - QLabel - - name - TextLabel2 - - - geometry - - 10 - 20 - 80 - 20 - - - - text - Länderkürzel: - - - - QLabel - - name - TextLabel3 - - - geometry - - 10 - 50 - 80 - 20 - - - - text - Land: - - - - QLabel - - name - TextLabel4 - - - geometry - - 10 - 80 - 80 - 20 - - - - text - Stadt: - - - - QLabel - - name - TextLabel4_2 - - - geometry - - 10 - 110 - 80 - 20 - - - - text - Firmenname: - - - - QLabel - - name - TextLabel5 - - - geometry - - 10 - 140 - 80 - 20 - - - - text - Abteilung: - - - - QLabel - - name - TextLabel7 - - - geometry - - 10 - 200 - 90 - 20 - - - - text - E-Mail adresse: - - - - QLabel - - name - TextLabel6 - - - geometry - - 10 - 170 - 90 - 20 - - - - text - Name , DNS: - - - - QLineEdit - - name - countyName - - - geometry - - 110 - 20 - 180 - 23 - - - - text - DE - - - - QLineEdit - - name - stateOrProvinceName - - - geometry - - 110 - 50 - 180 - 23 - - - - text - Germany - - - - QLineEdit - - name - localityName - - - geometry - - 110 - 80 - 180 - 23 - - - - text - - - - - QLineEdit - - name - organisationName - - - geometry - - 110 - 110 - 180 - 23 - - - - text - - - - - QLineEdit - - name - organisationalUnitName - - - geometry - - 110 - 140 - 180 - 23 - - - - - QLineEdit - - name - commonName - - - geometry - - 110 - 170 - 180 - 23 - - - - - QLineEdit - - name - emailAddress - - - geometry - - 110 - 200 - 180 - 23 - - - - QFrame @@ -572,6 +280,298 @@ Zertifikat beantragen + + QFrame + + name + Frame7 + + + geometry + + 20 + 130 + 310 + 240 + + + + frameShape + Box + + + frameShadow + Sunken + + + QLabel + + name + TextLabel2 + + + geometry + + 10 + 20 + 80 + 20 + + + + text + Länderkürzel: + + + + QLabel + + name + TextLabel4 + + + geometry + + 10 + 80 + 80 + 20 + + + + text + Stadt: + + + + QLabel + + name + TextLabel4_2 + + + geometry + + 10 + 110 + 80 + 20 + + + + text + Firmenname: + + + + QLabel + + name + TextLabel5 + + + geometry + + 10 + 140 + 80 + 20 + + + + text + Abteilung: + + + + QLabel + + name + TextLabel7 + + + geometry + + 10 + 200 + 90 + 20 + + + + text + E-Mail adresse: + + + + QLabel + + name + TextLabel6 + + + geometry + + 10 + 170 + 90 + 20 + + + + text + Name , DNS: + + + + QLineEdit + + name + countryName + + + geometry + + 110 + 20 + 180 + 23 + + + + text + DE + + + + QLineEdit + + name + stateOrProvinceName + + + geometry + + 110 + 50 + 180 + 23 + + + + text + Germany + + + + QLineEdit + + name + localityName + + + geometry + + 110 + 80 + 180 + 23 + + + + text + + + + + QLineEdit + + name + organisationName + + + geometry + + 110 + 110 + 180 + 23 + + + + text + + + + + QLineEdit + + name + organisationalUnitName + + + geometry + + 110 + 140 + 180 + 23 + + + + + QLineEdit + + name + commonName + + + geometry + + 110 + 170 + 180 + 23 + + + + + QLineEdit + + name + emailAddress + + + geometry + + 110 + 200 + 180 + 23 + + + + + QLabel + + name + TextLabel3 + + + geometry + + 10 + 50 + 80 + 20 + + + + text + Land: + + + @@ -588,7 +588,7 @@ - countyName + countryName stateOrProvinceName localityName organisationName diff --git a/RSAkey.cpp b/RSAkey.cpp index b3ba8aec..a568693a 100644 --- a/RSAkey.cpp +++ b/RSAkey.cpp @@ -16,6 +16,7 @@ RSAkey::RSAkey(const QString d, int bits, error = NULL; if ((key = RSA_generate_key(bits, 0x10001, cb, prog)) == NULL) openssl_error(); + initevp(); } @@ -65,6 +66,7 @@ RSAkey::RSAkey(const QString fname, pem_password_cb *cb, QObject *parent=0, cons } else error = "Fehler beim Öffnen der Datei"; fclose(fp); + initevp(); } @@ -81,6 +83,7 @@ RSAkey::RSAkey(unsigned char *p, int size) } if (openssl_error()); OPENSSL_free(sik); + initevp(); } unsigned char *RSAkey::getKey(int *size) @@ -113,11 +116,23 @@ RSAkey::RSAkey(RSA *rsa, QString &d, QObject *parent=0, const char *name=0) key = rsa; desc = d; } +void RSAkey::initevp() +{ + evp = EVP_PKEY_new(); + EVP_PKEY_assign_RSA(evp,key); +} + + +EVP_PKEY *RSAkey::evpkey() +{ + return evp; +} RSAkey::~RSAkey() { - RSA_free(key); + //RSA_free(key); + EVP_PKEY_free(evp); } diff --git a/RSAkey.h b/RSAkey.h index d02e3ff1..6122b828 100644 --- a/RSAkey.h +++ b/RSAkey.h @@ -21,12 +21,15 @@ class RSAkey: public QObject Q_OBJECT RSA *key; + EVP_PKEY *evp; QString desc; char *error; QString BN2QString(BIGNUM *bn); char *openssl_error(); + void initevp(); public: bool onlyPubKey; + EVP_PKEY *evpkey(); RSAkey(const QString d, int bits, void (*cb)(int, int,void *),void *prog, QObject *parent=0, const char *name=0);