summaryrefslogtreecommitdiffstats
path: root/pica-client/openssltool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pica-client/openssltool.cpp')
-rw-r--r--pica-client/openssltool.cpp24
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;