diff options
Diffstat (limited to 'pica-client/accountswindow.cpp')
| -rw-r--r-- | pica-client/accountswindow.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/pica-client/accountswindow.cpp b/pica-client/accountswindow.cpp index 4ad1c75..d83bf31 100644 --- a/pica-client/accountswindow.cpp +++ b/pica-client/accountswindow.cpp @@ -9,6 +9,7 @@ #include "openssltool.h" #include <QMessageBox> #include <QApplication> +#include <cstring> AccountsWindow::AccountsWindow(QWidget *parent) : QMainWindow(parent), @@ -66,7 +67,7 @@ void AccountsWindow::LoadAccounts() else { for (int i=0;i<L.count();i++) - cb_accounts->addItem(QString("(%1) %2").arg(L[i].id).arg(L[i].name),L[i].id); + cb_accounts->addItem(QString("(%1) %2").arg(L[i].id.toBase64().constData()).arg(L[i].name),L[i].id); bt_login->setEnabled(true); } @@ -75,13 +76,12 @@ void AccountsWindow::LoadAccounts() void AccountsWindow::login_click() { - account_id = (cb_accounts->itemData(cb_accounts->currentIndex())).toUInt(); - + memcpy(account_id,(cb_accounts->itemData(cb_accounts->currentIndex())).toByteArray().constData(), PICA_ID_SIZE); int L_index; for (int i=0;i<L.count();i++) { - if (L[i].id==account_id) + if (L[i].id== QByteArray((const char*)account_id, PICA_ID_SIZE)) { L_index = i; break; @@ -108,12 +108,12 @@ void AccountsWindow::login_click() void AccountsWindow::CreateAccount(QString CertFilename, QString PkeyFilename, bool copyfiles) { - quint32 id; + QByteArray id(PICA_ID_SIZE, 0); int ret; - ret = PICA_get_id_from_cert(CertFilename.toUtf8().constData(),&id); + ret = PICA_get_id_from_cert_file(CertFilename.toUtf8().constData(), (unsigned char*)id.data()); - if (0 == id || 0 == ret) + if (0 == ret) { QMessageBox mbx; mbx.setText("Invalid certificate"); @@ -124,16 +124,16 @@ void AccountsWindow::CreateAccount(QString CertFilename, QString PkeyFilename, b QString name = OpenSSLTool::NameFromCertFile(CertFilename); Accounts::AccountRecord rec; - QString certfilename,pkeyfilename; + QString certfilename, pkeyfilename; if (copyfiles) { QDir dir(config_dir); - dir.mkdir(QString::number(id)); - dir.cd(QString::number(id)); + dir.mkdir(name + id.toHex().constData()); + dir.cd(name + id.toHex().constData()); - certfilename=dir.absolutePath()+"/"+QString::number(id)+"_cert.pem"; - pkeyfilename=dir.absolutePath()+"/"+QString::number(id)+"_pkey.pem"; + certfilename=dir.absolutePath()+"/" + id.toHex().constData() + "_cert.pem"; + pkeyfilename=dir.absolutePath()+"/" + id.toHex().constData() + "_pkey.pem"; QFile::copy(CertFilename,certfilename); QFile::copy(PkeyFilename,pkeyfilename); @@ -148,7 +148,7 @@ void AccountsWindow::CreateAccount(QString CertFilename, QString PkeyFilename, b rec.name=name; rec.cert_file=certfilename; rec.pkey_file=pkeyfilename; - rec.CA_file= config_defaultCA; + rec.CA_file= certfilename;//config_defaultCA; accounts.Add(rec); @@ -188,10 +188,10 @@ void AccountsWindow::add_click() void AccountsWindow::delete_click() { - quint32 id = (cb_accounts->itemData(cb_accounts->currentIndex())).toUInt(); + QByteArray id = (cb_accounts->itemData(cb_accounts->currentIndex())).toByteArray(); if (QMessageBox::No== - QMessageBox::question(this,tr("Deleting account"),tr("Are you sure you want to delete account %1 ?").arg(id),QMessageBox::Yes,QMessageBox::No)) + QMessageBox::question(this,tr("Deleting account"),tr("Are you sure you want to delete account %1 ?").arg(id.toBase64().constData()),QMessageBox::Yes,QMessageBox::No)) return; //TODO ask user if he wants to wipe certificate and private key too |
