mirror of
https://github.com/chris2511/xca.git
synced 2026-09-14 11:06:19 +05:00
More options
This commit is contained in:
parent
b0b9cd1d00
commit
0ee1de2b3b
@ -49,7 +49,7 @@ QStringList db_key::get0PrivateDesc()
|
||||
QStringList x;
|
||||
x.clear();
|
||||
FOR_ALL_pki(pki, pki_key) {
|
||||
if (pki->isPrivKey() && pki->getUcount() == 0)
|
||||
if (pki->isPrivKey() && (pki->getUcount() == 0 || mainwin->multiple_key_use))
|
||||
x.append(pki->getIntNameWithType());
|
||||
}
|
||||
return x;
|
||||
|
||||
@ -112,7 +112,7 @@ p, li { white-space: pre-wrap; }
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox" >
|
||||
<widget class="QCheckBox" name="multiple_use" >
|
||||
<property name="text" >
|
||||
<string>Allow multiple use of keys</string>
|
||||
</property>
|
||||
|
||||
@ -78,12 +78,27 @@ void MainWindow::init_database()
|
||||
free(p);
|
||||
}
|
||||
}
|
||||
mydb.first();
|
||||
if (!mydb.find(setting, "default_hash")) {
|
||||
if ((p = (char *)mydb.load(NULL))) {
|
||||
hashBox::setDefault(p);
|
||||
free(p);
|
||||
}
|
||||
}
|
||||
mydb.first();
|
||||
if (!mydb.find(setting, "mandatory_dn")) {
|
||||
if ((p = (char *)mydb.load(NULL))) {
|
||||
mandatory_dn = p;
|
||||
free(p);
|
||||
}
|
||||
}
|
||||
mydb.first();
|
||||
if (!mydb.find(setting, "multiple_key_use")) {
|
||||
if ((p = (char *)mydb.load(NULL))) {
|
||||
multiple_key_use = *p ? true : false;
|
||||
free(p);
|
||||
}
|
||||
}
|
||||
} catch (errorEx &err) {
|
||||
Error(err);
|
||||
return;
|
||||
|
||||
@ -134,8 +134,10 @@ void MainWindow::import_dbdump()
|
||||
|
||||
void MainWindow::setOptions()
|
||||
{
|
||||
Options *opt = new Options(this);
|
||||
unsigned char bol;
|
||||
Options *opt = new Options(this, mandatory_dn);
|
||||
|
||||
opt->multiple_use->setChecked(multiple_key_use);
|
||||
if (!opt->exec())
|
||||
return;
|
||||
|
||||
@ -145,8 +147,13 @@ void MainWindow::setOptions()
|
||||
setting, "default_hash");
|
||||
hashBox::setDefault(alg);
|
||||
|
||||
QString mandatory = opt->getDnString();
|
||||
printf("DNString = %s\n", CCHAR(mandatory));
|
||||
mydb.set((const unsigned char *)CCHAR(mandatory), mandatory.length()+1, 1,
|
||||
setting, "mandatory_dn");
|
||||
mandatory_dn = opt->getDnString();
|
||||
printf("DNString = %s\n", CCHAR(mandatory_dn));
|
||||
mydb.set((const unsigned char *)CCHAR(mandatory_dn),
|
||||
mandatory_dn.length()+1, 1, setting, "mandatory_dn");
|
||||
|
||||
|
||||
multiple_key_use = opt->multiple_use->isChecked();
|
||||
bol = multiple_key_use ? 1 : 0;
|
||||
mydb.set(&bol, sizeof(bol), 1, setting, "multiple_key_use");
|
||||
}
|
||||
|
||||
@ -53,6 +53,8 @@ MainWindow::MainWindow(QWidget *parent )
|
||||
|
||||
statusBar()->addWidget(dbindex, 1);
|
||||
force_load = 0;
|
||||
multiple_key_use = false;
|
||||
mandatory_dn = "";
|
||||
|
||||
setupUi(this);
|
||||
setWindowTitle(tr(XCA_TITLE));
|
||||
|
||||
@ -34,6 +34,7 @@ class MainWindow: public QMainWindow, public Ui::MainWindow
|
||||
QString workingdir;
|
||||
QList<QWidget*> wdList;
|
||||
QList<QAction*> acList;
|
||||
QString mandatory_dn;
|
||||
|
||||
protected:
|
||||
void init_images();
|
||||
@ -54,6 +55,7 @@ class MainWindow: public QMainWindow, public Ui::MainWindow
|
||||
int exitApp;
|
||||
QString dbfile;
|
||||
QLabel *dbindex;
|
||||
bool multiple_key_use;
|
||||
|
||||
MainWindow(QWidget *parent);
|
||||
virtual ~MainWindow();
|
||||
|
||||
@ -8,20 +8,29 @@
|
||||
#include "Options.h"
|
||||
#include <openssl/objects.h>
|
||||
|
||||
Options::Options(QWidget *parent)
|
||||
Options::Options(QWidget *parent, QString dn)
|
||||
:QDialog(parent)
|
||||
{
|
||||
QStringList dnl = dn.split(",");
|
||||
if (dn.isEmpty())
|
||||
dnl.clear();
|
||||
NIDlist dn_nid = *MainWindow::dn_nid;
|
||||
setWindowTitle(tr(XCA_TITLE));
|
||||
setupUi(this);
|
||||
|
||||
for (int i=0; i < dn_nid.count(); i++)
|
||||
extDNobj->addItem(OBJ_nid2ln(dn_nid[i]));
|
||||
|
||||
for (int i=0; i < dnl.count(); i++) {
|
||||
int nid;
|
||||
nid = OBJ_sn2nid(CCHAR(dnl[i]));
|
||||
extDNlist->insertItem(0, OBJ_nid2ln(nid));
|
||||
}
|
||||
}
|
||||
|
||||
void Options::on_extDNadd_clicked()
|
||||
{
|
||||
extDNlist->insertItem(0, extDNobj->currentText());
|
||||
extDNlist->addItem(extDNobj->currentText());
|
||||
}
|
||||
void Options::on_extDNdel_clicked()
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ class Options: public QDialog, public Ui::Options
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Options(QWidget *parent);
|
||||
Options(QWidget *parent, QString dn);
|
||||
public slots:
|
||||
void on_extDNadd_clicked();
|
||||
void on_extDNdel_clicked();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user