forked from qt-creator/qt-creator
Android: Improve the Keystore and Certificate dialog.
- Display all information in one place. - Checkbox to enable the certificate to use the same password as the Keystore. - Display information when alias field is empty. - Misc. layout changes. Task-number: QTCREATORBUG-10061 Change-Id: I99a3e7019dfbf72bcd2374594f3ebe45c26680d2 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
This commit is contained in:
committed by
Christian Stromme
parent
e90633a8fa
commit
ba1d8e2c4d
@@ -46,6 +46,8 @@ AndroidCreateKeystoreCertificate::AndroidCreateKeystoreCertificate(QWidget *pare
|
|||||||
connect(ui->keystoreRetypePassLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkKeystorePassword()));
|
connect(ui->keystoreRetypePassLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkKeystorePassword()));
|
||||||
connect(ui->certificatePassLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkCertificatePassword()));
|
connect(ui->certificatePassLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkCertificatePassword()));
|
||||||
connect(ui->certificateRetypePassLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkCertificatePassword()));
|
connect(ui->certificateRetypePassLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkCertificatePassword()));
|
||||||
|
connect(ui->certificateAliasLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkCertificateAlias()));
|
||||||
|
connect(ui->countryLineEdit, SIGNAL(textChanged(QString)), this, SLOT(checkCountryCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
AndroidCreateKeystoreCertificate::~AndroidCreateKeystoreCertificate()
|
AndroidCreateKeystoreCertificate::~AndroidCreateKeystoreCertificate()
|
||||||
@@ -65,42 +67,71 @@ QString AndroidCreateKeystoreCertificate::keystorePassword()
|
|||||||
|
|
||||||
QString AndroidCreateKeystoreCertificate::certificateAlias()
|
QString AndroidCreateKeystoreCertificate::certificateAlias()
|
||||||
{
|
{
|
||||||
return ui->aliasNameLineEdit->text();
|
return ui->certificateAliasLineEdit->text();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString AndroidCreateKeystoreCertificate::certificatePassword()
|
QString AndroidCreateKeystoreCertificate::certificatePassword()
|
||||||
{
|
{
|
||||||
return ui->certificatePassLineEdit->text();
|
return (ui->samePasswordCheckBox->checkState() == Qt::Checked)
|
||||||
|
? keystorePassword()
|
||||||
|
: ui->certificatePassLineEdit->text();
|
||||||
}
|
}
|
||||||
|
|
||||||
AndroidCreateKeystoreCertificate::PasswordStatus AndroidCreateKeystoreCertificate::checkKeystorePassword()
|
AndroidCreateKeystoreCertificate::PasswordStatus AndroidCreateKeystoreCertificate::checkKeystorePassword()
|
||||||
{
|
{
|
||||||
if (ui->keystorePassLineEdit->text().length() < 6) {
|
if (ui->keystorePassLineEdit->text().length() < 6) {
|
||||||
ui->keystorePassInfoLabel->setText(tr("<span style=\" color:#ff0000;\">Password is too short</span>"));
|
ui->infoLabel->setText(tr("<span style=\" color:#ff0000;\">Keystore password is too short</span>"));
|
||||||
return Invalid;
|
return Invalid;
|
||||||
}
|
}
|
||||||
if (ui->keystorePassLineEdit->text() != ui->keystoreRetypePassLineEdit->text()) {
|
if (ui->keystorePassLineEdit->text() != ui->keystoreRetypePassLineEdit->text()) {
|
||||||
ui->keystorePassInfoLabel->setText(tr("<span style=\" color:#ff0000;\">Passwords don't match</span>"));
|
ui->infoLabel->setText(tr("<span style=\" color:#ff0000;\">Keystore passwords do not match</span>"));
|
||||||
return NoMatch;
|
return NoMatch;
|
||||||
}
|
}
|
||||||
ui->keystorePassInfoLabel->setText(tr("<span style=\" color:#00ff00;\">Password is ok</span>"));
|
|
||||||
|
ui->infoLabel->clear();
|
||||||
return Match;
|
return Match;
|
||||||
}
|
}
|
||||||
|
|
||||||
AndroidCreateKeystoreCertificate::PasswordStatus AndroidCreateKeystoreCertificate::checkCertificatePassword()
|
AndroidCreateKeystoreCertificate::PasswordStatus AndroidCreateKeystoreCertificate::checkCertificatePassword()
|
||||||
{
|
{
|
||||||
|
if (ui->samePasswordCheckBox->checkState() == Qt::Checked)
|
||||||
|
return Match;
|
||||||
|
|
||||||
if (ui->certificatePassLineEdit->text().length() < 6) {
|
if (ui->certificatePassLineEdit->text().length() < 6) {
|
||||||
ui->certificatePassInfoLabel->setText(tr("<span style=\" color:#ff0000;\">Password is too short</span>"));
|
ui->infoLabel->setText(tr("<span style=\" color:#ff0000;\">Certificate password is too short</span>"));
|
||||||
return Invalid;
|
return Invalid;
|
||||||
}
|
}
|
||||||
if (ui->certificatePassLineEdit->text() != ui->certificateRetypePassLineEdit->text()) {
|
if (ui->certificatePassLineEdit->text() != ui->certificateRetypePassLineEdit->text()) {
|
||||||
ui->certificatePassInfoLabel->setText(tr("<span style=\" color:#ff0000;\">Passwords don't match</span>"));
|
ui->infoLabel->setText(tr("<span style=\" color:#ff0000;\">Certificate passwords do not match</span>"));
|
||||||
return NoMatch;
|
return NoMatch;
|
||||||
}
|
}
|
||||||
ui->certificatePassInfoLabel->setText(tr("<span style=\" color:#00ff00;\">Password is ok</span>"));
|
|
||||||
|
ui->infoLabel->clear();
|
||||||
return Match;
|
return Match;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AndroidCreateKeystoreCertificate::checkCertificateAlias()
|
||||||
|
{
|
||||||
|
if (ui->certificateAliasLineEdit->text().length() == 0) {
|
||||||
|
ui->infoLabel->setText(tr("<span style=\" color:#ff0000;\">Certificate alias is missing</span>"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->infoLabel->clear();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AndroidCreateKeystoreCertificate::checkCountryCode()
|
||||||
|
{
|
||||||
|
if (!ui->countryLineEdit->text().contains(QRegExp(QLatin1String("[A-Z]{2}")))) {
|
||||||
|
ui->infoLabel->setText(tr("<span style=\" color:#ff0000;\">Invalid country code</span>"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->infoLabel->clear();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void AndroidCreateKeystoreCertificate::on_keystoreShowPassCheckBox_stateChanged(int state)
|
void AndroidCreateKeystoreCertificate::on_keystoreShowPassCheckBox_stateChanged(int state)
|
||||||
{
|
{
|
||||||
ui->keystorePassLineEdit->setEchoMode(state == Qt::Checked ? QLineEdit::Normal : QLineEdit::Password);
|
ui->keystorePassLineEdit->setEchoMode(state == Qt::Checked ? QLineEdit::Normal : QLineEdit::Password);
|
||||||
@@ -115,44 +146,8 @@ void AndroidCreateKeystoreCertificate::on_certificateShowPassCheckBox_stateChang
|
|||||||
|
|
||||||
void AndroidCreateKeystoreCertificate::on_buttonBox_accepted()
|
void AndroidCreateKeystoreCertificate::on_buttonBox_accepted()
|
||||||
{
|
{
|
||||||
switch (checkKeystorePassword()) {
|
if (!validateUserInput())
|
||||||
case Invalid:
|
|
||||||
ui->keystorePassLineEdit->setFocus();
|
|
||||||
return;
|
return;
|
||||||
case NoMatch:
|
|
||||||
ui->keystoreRetypePassLineEdit->setFocus();
|
|
||||||
return;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (checkCertificatePassword()) {
|
|
||||||
case Invalid:
|
|
||||||
ui->certificatePassLineEdit->setFocus();
|
|
||||||
return;
|
|
||||||
case NoMatch:
|
|
||||||
ui->certificateRetypePassLineEdit->setFocus();
|
|
||||||
return;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ui->aliasNameLineEdit->text().length()) {
|
|
||||||
ui->aliasNameLineEdit->setFocus();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ui->commonNameLineEdit->text().length())
|
|
||||||
ui->commonNameLineEdit->setFocus();
|
|
||||||
|
|
||||||
if (!ui->organizationNameLineEdit->text().length())
|
|
||||||
ui->organizationNameLineEdit->setFocus();
|
|
||||||
|
|
||||||
if (!ui->localityNameLineEdit->text().length())
|
|
||||||
ui->localityNameLineEdit->setFocus();
|
|
||||||
|
|
||||||
if (!ui->countryLineEdit->text().length())
|
|
||||||
ui->countryLineEdit->setFocus();
|
|
||||||
|
|
||||||
m_keystoreFilePath = Utils::FileName::fromString(QFileDialog::getSaveFileName(this, tr("Keystore file name"),
|
m_keystoreFilePath = Utils::FileName::fromString(QFileDialog::getSaveFileName(this, tr("Keystore file name"),
|
||||||
QDir::homePath() + QLatin1String("/android_release.keystore"),
|
QDir::homePath() + QLatin1String("/android_release.keystore"),
|
||||||
@@ -174,11 +169,11 @@ void AndroidCreateKeystoreCertificate::on_buttonBox_accepted()
|
|||||||
QStringList params;
|
QStringList params;
|
||||||
params << QLatin1String("-genkey") << QLatin1String("-keyalg") << QLatin1String("RSA")
|
params << QLatin1String("-genkey") << QLatin1String("-keyalg") << QLatin1String("RSA")
|
||||||
<< QLatin1String("-keystore") << m_keystoreFilePath.toString()
|
<< QLatin1String("-keystore") << m_keystoreFilePath.toString()
|
||||||
<< QLatin1String("-storepass") << ui->keystorePassLineEdit->text()
|
<< QLatin1String("-storepass") << keystorePassword()
|
||||||
<< QLatin1String("-alias") << ui->aliasNameLineEdit->text()
|
<< QLatin1String("-alias") << certificateAlias()
|
||||||
<< QLatin1String("-keysize") << ui->keySizeSpinBox->text()
|
<< QLatin1String("-keysize") << ui->keySizeSpinBox->text()
|
||||||
<< QLatin1String("-validity") << ui->validitySpinBox->text()
|
<< QLatin1String("-validity") << ui->validitySpinBox->text()
|
||||||
<< QLatin1String("-keypass") << ui->certificatePassLineEdit->text()
|
<< QLatin1String("-keypass") << certificatePassword()
|
||||||
<< QLatin1String("-dname") << distinguishedNames;
|
<< QLatin1String("-dname") << distinguishedNames;
|
||||||
|
|
||||||
QProcess genKeyCertProc;
|
QProcess genKeyCertProc;
|
||||||
@@ -195,3 +190,57 @@ void AndroidCreateKeystoreCertificate::on_buttonBox_accepted()
|
|||||||
}
|
}
|
||||||
accept();
|
accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AndroidCreateKeystoreCertificate::on_samePasswordCheckBox_stateChanged(int state)
|
||||||
|
{
|
||||||
|
if (state == Qt::Checked) {
|
||||||
|
ui->certificatePassLineEdit->setDisabled(true);
|
||||||
|
ui->certificateRetypePassLineEdit->setDisabled(true);
|
||||||
|
ui->certificateShowPassCheckBox->setDisabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state == Qt::Unchecked) {
|
||||||
|
ui->certificatePassLineEdit->setEnabled(true);
|
||||||
|
ui->certificateRetypePassLineEdit->setEnabled(true);
|
||||||
|
ui->certificateShowPassCheckBox->setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
validateUserInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AndroidCreateKeystoreCertificate::validateUserInput()
|
||||||
|
{
|
||||||
|
switch (checkKeystorePassword()) {
|
||||||
|
case Invalid:
|
||||||
|
ui->keystorePassLineEdit->setFocus();
|
||||||
|
return false;
|
||||||
|
case NoMatch:
|
||||||
|
ui->keystoreRetypePassLineEdit->setFocus();
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!checkCertificateAlias()) {
|
||||||
|
ui->certificateAliasLineEdit->setFocus();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (checkCertificatePassword()) {
|
||||||
|
case Invalid:
|
||||||
|
ui->certificatePassLineEdit->setFocus();
|
||||||
|
return false;
|
||||||
|
case NoMatch:
|
||||||
|
ui->certificateRetypePassLineEdit->setFocus();
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!checkCountryCode()) {
|
||||||
|
ui->countryLineEdit->setFocus();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|||||||
@@ -62,11 +62,15 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
PasswordStatus checkKeystorePassword();
|
PasswordStatus checkKeystorePassword();
|
||||||
PasswordStatus checkCertificatePassword();
|
PasswordStatus checkCertificatePassword();
|
||||||
|
bool checkCertificateAlias();
|
||||||
|
bool checkCountryCode();
|
||||||
void on_keystoreShowPassCheckBox_stateChanged(int state);
|
void on_keystoreShowPassCheckBox_stateChanged(int state);
|
||||||
void on_certificateShowPassCheckBox_stateChanged(int state);
|
void on_certificateShowPassCheckBox_stateChanged(int state);
|
||||||
void on_buttonBox_accepted();
|
void on_buttonBox_accepted();
|
||||||
|
void on_samePasswordCheckBox_stateChanged(int state);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool validateUserInput();
|
||||||
Ui::AndroidCreateKeystoreCertificate *ui;
|
Ui::AndroidCreateKeystoreCertificate *ui;
|
||||||
Utils::FileName m_keystoreFilePath;
|
Utils::FileName m_keystoreFilePath;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,200 +7,14 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>638</width>
|
<width>638</width>
|
||||||
<height>429</height>
|
<height>473</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Create a keystore and a certificate</string>
|
<string>Create a keystore and a certificate</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_4">
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<item row="0" column="0">
|
<item row="2" column="0" colspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox">
|
|
||||||
<property name="title">
|
|
||||||
<string>Keystore</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Password:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="keystorePassLineEdit">
|
|
||||||
<property name="echoMode">
|
|
||||||
<enum>QLineEdit::Password</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Retype password:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="keystoreRetypePassLineEdit">
|
|
||||||
<property name="echoMode">
|
|
||||||
<enum>QLineEdit::Password</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QCheckBox" name="keystoreShowPassCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Show password</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLabel" name="keystorePassInfoLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string><span style=" color:#ff0000;">Password is too short</span></string>
|
|
||||||
</property>
|
|
||||||
<property name="textFormat">
|
|
||||||
<enum>Qt::RichText</enum>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
|
||||||
<property name="title">
|
|
||||||
<string>Certificate</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label_11">
|
|
||||||
<property name="text">
|
|
||||||
<string>Alias name:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="aliasNameLineEdit">
|
|
||||||
<property name="inputMask">
|
|
||||||
<string>Aaaaaaaa; </string>
|
|
||||||
</property>
|
|
||||||
<property name="maxLength">
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_12">
|
|
||||||
<property name="text">
|
|
||||||
<string>Keysize:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QSpinBox" name="keySizeSpinBox">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>2048</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>2097152</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_13">
|
|
||||||
<property name="text">
|
|
||||||
<string>Validity (days):</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QSpinBox" name="validitySpinBox">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>10000</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>100000</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="label_17">
|
|
||||||
<property name="text">
|
|
||||||
<string>Password:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QLineEdit" name="certificatePassLineEdit">
|
|
||||||
<property name="echoMode">
|
|
||||||
<enum>QLineEdit::Password</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="label_18">
|
|
||||||
<property name="text">
|
|
||||||
<string>Retype password:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QLineEdit" name="certificateRetypePassLineEdit">
|
|
||||||
<property name="echoMode">
|
|
||||||
<enum>QLineEdit::Password</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QCheckBox" name="certificateShowPassCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Show password</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1">
|
|
||||||
<widget class="QLabel" name="certificatePassInfoLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string><span style=" color:#ff0000;">Password is too short</span></string>
|
|
||||||
</property>
|
|
||||||
<property name="textFormat">
|
|
||||||
<enum>Qt::RichText</enum>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2">
|
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Certificate Distinguished Names</string>
|
<string>Certificate Distinguished Names</string>
|
||||||
@@ -284,7 +98,7 @@
|
|||||||
<item row="5" column="1">
|
<item row="5" column="1">
|
||||||
<widget class="QLineEdit" name="countryLineEdit">
|
<widget class="QLineEdit" name="countryLineEdit">
|
||||||
<property name="inputMask">
|
<property name="inputMask">
|
||||||
<string>>AA; </string>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="maxLength">
|
<property name="maxLength">
|
||||||
<number>2</number>
|
<number>2</number>
|
||||||
@@ -294,7 +108,187 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="2">
|
<item row="1" column="1">
|
||||||
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
|
<property name="title">
|
||||||
|
<string>Certificate</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLineEdit" name="certificateRetypePassLineEdit">
|
||||||
|
<property name="echoMode">
|
||||||
|
<enum>QLineEdit::Password</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QCheckBox" name="certificateShowPassCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show password</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QSpinBox" name="validitySpinBox">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>10000</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100000</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_13">
|
||||||
|
<property name="text">
|
||||||
|
<string>Validity (days):</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>Alias name:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_17">
|
||||||
|
<property name="text">
|
||||||
|
<string>Password:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="certificateAliasLineEdit">
|
||||||
|
<property name="inputMask">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="maxLength">
|
||||||
|
<number>8</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>Keysize:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLineEdit" name="certificatePassLineEdit">
|
||||||
|
<property name="echoMode">
|
||||||
|
<enum>QLineEdit::Password</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QSpinBox" name="keySizeSpinBox">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>2048</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>2097152</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_18">
|
||||||
|
<property name="text">
|
||||||
|
<string>Retype password:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QCheckBox" name="samePasswordCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Use Keystore password</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Keystore</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="keystorePassLineEdit">
|
||||||
|
<property name="echoMode">
|
||||||
|
<enum>QLineEdit::Password</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="keystoreRetypePassLineEdit">
|
||||||
|
<property name="echoMode">
|
||||||
|
<enum>QLineEdit::Password</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QCheckBox" name="keystoreShowPassCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show password</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Password:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Retype password:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
@@ -304,12 +298,22 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="infoLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>keystorePassLineEdit</tabstop>
|
<tabstop>keystorePassLineEdit</tabstop>
|
||||||
<tabstop>keystoreRetypePassLineEdit</tabstop>
|
<tabstop>keystoreRetypePassLineEdit</tabstop>
|
||||||
<tabstop>aliasNameLineEdit</tabstop>
|
<tabstop>certificateAliasLineEdit</tabstop>
|
||||||
<tabstop>keySizeSpinBox</tabstop>
|
<tabstop>keySizeSpinBox</tabstop>
|
||||||
<tabstop>validitySpinBox</tabstop>
|
<tabstop>validitySpinBox</tabstop>
|
||||||
<tabstop>certificatePassLineEdit</tabstop>
|
<tabstop>certificatePassLineEdit</tabstop>
|
||||||
@@ -321,7 +325,6 @@
|
|||||||
<tabstop>stateNameLineEdit</tabstop>
|
<tabstop>stateNameLineEdit</tabstop>
|
||||||
<tabstop>countryLineEdit</tabstop>
|
<tabstop>countryLineEdit</tabstop>
|
||||||
<tabstop>keystoreShowPassCheckBox</tabstop>
|
<tabstop>keystoreShowPassCheckBox</tabstop>
|
||||||
<tabstop>certificateShowPassCheckBox</tabstop>
|
|
||||||
<tabstop>buttonBox</tabstop>
|
<tabstop>buttonBox</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|||||||
Reference in New Issue
Block a user