diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2013-10-14 13:15:34 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2013-10-14 13:15:34 +0000 |
| commit | a2807ff1baf22daea2e1803afc1e867fe59524bf (patch) | |
| tree | 90c7f1b7d8e232e85a87062639aaba6f4a4d61a6 /pica-client/openssltool.cpp | |
| parent | 34ede8d01e4c2d1a44354f1917b1c85171c9558b (diff) | |
| download | pica-pica-a2807ff1baf22daea2e1803afc1e867fe59524bf.tar.gz pica-pica-a2807ff1baf22daea2e1803afc1e867fe59524bf.zip | |
paranoid option - use /dev/random as random source for key generation on *nix systems
git-svn-id: svn://localhost/project_picapica/trunk@284 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client/openssltool.cpp')
| -rw-r--r-- | pica-client/openssltool.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/pica-client/openssltool.cpp b/pica-client/openssltool.cpp index b9bf6d9..4711713 100644 --- a/pica-client/openssltool.cpp +++ b/pica-client/openssltool.cpp @@ -92,16 +92,22 @@ QString OpenSSLTool::CertTextFromString(QString cert_pem) return QString::fromUtf8(openssl.readAllStandardOutput().constData()); } -bool OpenSSLTool::GenRSAKeySignal(quint32 numbits, QString keyfile, bool setpassword, QString password, QObject *receiver, const char *finished_slot) +bool OpenSSLTool::GenRSAKeySignal(quint32 numbits, QString keyfile, bool setpassword, QString password, QString rand, QObject *receiver, const char *finished_slot) { - if (!setpassword) - { - openssl_.start("openssl", QStringList()<<"genrsa"<<"-out"<<keyfile<<QString::number(numbits)); - } - else - { - openssl_.start("openssl", QStringList()<<"genrsa"<<"-out"<<keyfile<<"-passout"<<"stdin"<<"-idea"<<QString::number(numbits)); - } + QStringList args; + + args <<"genrsa"<<"-out"<<keyfile; + + if (setpassword) + args <<"-passout"<<"stdin"<<"-idea"; + + if (!rand.isEmpty()) + args << "-rand"<<rand; + + args <<QString::number(numbits); + + openssl_.start("openssl", args); + if (!openssl_.waitForStarted()) return false; |
