diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2012-03-08 02:15:33 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2012-03-08 02:15:33 +0000 |
commit | 2e43e3e7de64f63bd570c6349b37c64c3e22c51e (patch) | |
tree | bb7f53a3c18ab069e942d9a22fdd74f7a33cd799 | |
parent | fixed minor cosmetic effects (diff) | |
download | gpg4usb-2e43e3e7de64f63bd570c6349b37c64c3e22c51e.tar.gz gpg4usb-2e43e3e7de64f63bd570c6349b37c64c3e22c51e.zip |
added rsa key generation
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@853 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r-- | keygendialog.cpp | 45 | ||||
-rw-r--r-- | keygendialog.h | 2 |
2 files changed, 32 insertions, 15 deletions
diff --git a/keygendialog.cpp b/keygendialog.cpp index 778f24c..532afe7 100644 --- a/keygendialog.cpp +++ b/keygendialog.cpp @@ -41,11 +41,15 @@ void KeyGenDialog::generateKeyDialog() commentEdit = new QLineEdit(this); keySizeSpinBox = new QSpinBox(this); - keySizeSpinBox->setRange(768, 8192); + keySizeSpinBox->setRange(768, 65536); keySizeSpinBox->setValue(2048); keySizeSpinBox->setSingleStep(256); + keyTypeComboBox = new QComboBox(this); + keyTypeComboBox->addItem("DSA/Elgamal"); + keyTypeComboBox->addItem("RSA"); + keyTypeComboBox->setCurrentIndex(0); dateEdit = new QDateEdit(QDate::currentDate().addYears(5), this); dateEdit->setMinimumDate(QDate::currentDate()); dateEdit->setDisplayFormat("dd/MM/yyyy"); @@ -76,9 +80,10 @@ void KeyGenDialog::generateKeyDialog() vbox1->addWidget(new QLabel(tr("Expiration Date:")), 3, 0); vbox1->addWidget(new QLabel(tr("Never Expire")), 3, 3); vbox1->addWidget(new QLabel(tr("KeySize (in Bit):")), 4, 0); - vbox1->addWidget(new QLabel(tr("Password:")), 5, 0); - vbox1->addWidget(new QLabel(tr("Password: Strength\nWeak -> Strong")), 5, 3); - vbox1->addWidget(new QLabel(tr("Repeat Password:")), 6, 0); + vbox1->addWidget(new QLabel(tr("Key Type:")), 5, 0); + vbox1->addWidget(new QLabel(tr("Password:")), 6, 0); + vbox1->addWidget(new QLabel(tr("Password: Strength\nWeak -> Strong")), 6, 3); + vbox1->addWidget(new QLabel(tr("Repeat Password:")), 7, 0); vbox1->addWidget(nameEdit, 0, 1); vbox1->addWidget(emailEdit, 1, 1); @@ -86,9 +91,10 @@ void KeyGenDialog::generateKeyDialog() vbox1->addWidget(dateEdit, 3, 1); vbox1->addWidget(expireCheckBox, 3, 2); vbox1->addWidget(keySizeSpinBox, 4, 1); - vbox1->addWidget(passwordEdit, 5, 1); - vbox1->addWidget(repeatpwEdit, 6, 1); - vbox1->addWidget(pwStrengthSlider, 6, 3); + vbox1->addWidget(keyTypeComboBox,5, 1); + vbox1->addWidget(passwordEdit, 6, 1); + vbox1->addWidget(repeatpwEdit, 7, 1); + vbox1->addWidget(pwStrengthSlider, 7, 3); QWidget *nameList = new QWidget(this); nameList->setLayout(vbox1); @@ -124,13 +130,24 @@ void KeyGenDialog::keyGenAccept() /** * create the string for key generation */ - keyGenParams = "<GnupgKeyParms format=\"internal\">\n" - "Key-Type: DSA\n" - "Key-Length: 1024\n" - "Subkey-Type: ELG-E\n" - "Subkey-Length: " - + keySizeSpinBox->cleanText() + "\n" - "Name-Real: " + nameEdit->text() + "\n"; + + if (keyTypeComboBox->currentText() == "RSA") { + keyGenParams = "<GnupgKeyParms format=\"internal\">\n" + "Key-Type: RSA\n" + "Key-Usage: sign\n" + "Key-Length: " + keySizeSpinBox->cleanText() + "\n" + "Subkey-Type: RSA\n" + "Subkey-Length: " + keySizeSpinBox->cleanText() + "\n" + "Subkey-Usage: encrypt\n"; + } else { + keyGenParams = "<GnupgKeyParms format=\"internal\">\n" + "Key-Type: DSA\n" + "Key-Length: 1024\n" + "Subkey-Type: ELG-E\n" + "Subkey-Length: " + + keySizeSpinBox->cleanText() + "\n"; + } + keyGenParams += "Name-Real: " + nameEdit->text() + "\n"; if (!(commentEdit->text().isEmpty())) { keyGenParams += "Name-Comment: " + commentEdit->text() + "\n"; } diff --git a/keygendialog.h b/keygendialog.h index f2de274..69495c9 100644 --- a/keygendialog.h +++ b/keygendialog.h @@ -61,10 +61,10 @@ private: QLineEdit *passwordEdit; /** Lineedit for the keys password */ QLineEdit *repeatpwEdit; /** Lineedit for the repetition of the keys password */ QSpinBox *keySizeSpinBox; /** Spinbox for the keys size (in bit) */ + QComboBox *keyTypeComboBox; /** Combobox for Keytpe */ QDateTimeEdit *dateEdit; /** Dateedit for expiration date */ QCheckBox *expireCheckBox; /** Checkbox, if key should expire */ QSlider *pwStrengthSlider; /** Slider showing the password strength */ - private slots: /** * @details when expirebox was checked/unchecked, enable/disable the expiration date box |