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.cpp223
1 files changed, 112 insertions, 111 deletions
diff --git a/pica-client/openssltool.cpp b/pica-client/openssltool.cpp
index dafd0ef..39b5092 100644
--- a/pica-client/openssltool.cpp
+++ b/pica-client/openssltool.cpp
@@ -12,177 +12,178 @@ OpenSSLTool::OpenSSLTool()
QString OpenSSLTool::NameFromCertFile(QString cert_file)
{
- //
- QProcess openssl;
+ //
+ QProcess openssl;
- openssl.start("openssl",QStringList()<<"x509"<<"-in"<<cert_file<<"-subject"<<"-nameopt"<<"oneline,-esc_msb,utf8"<<"-noout");
- if (!openssl.waitForStarted())
- return QString();
+ openssl.start("openssl", QStringList() << "x509" << "-in" << cert_file << "-subject" << "-nameopt" << "oneline,-esc_msb,utf8" << "-noout");
+ if (!openssl.waitForStarted())
+ return QString();
- if (!openssl.waitForFinished())
- return QString();
+ if (!openssl.waitForFinished())
+ return QString();
- QByteArray result = openssl.readAll();
- QRegExp rxOld(REGEXOLD);
- QRegExp rx(REGEXNEW);
+ QByteArray result = openssl.readAll();
+ QRegExp rxOld(REGEXOLD);
+ QRegExp rx(REGEXNEW);
- QString name=QString::fromUtf8( result.constData());
+ QString name = QString::fromUtf8( result.constData());
- if (name.contains(rxOld))
- {
- name=rxOld.cap(1);
- }
- else if (name.contains(rx))
- {
- name=rx.cap(1);
- }
+ if (name.contains(rxOld))
+ {
+ name = rxOld.cap(1);
+ }
+ else if (name.contains(rx))
+ {
+ name = rx.cap(1);
+ }
- //
-return name;
+ //
+ return name;
}
QString OpenSSLTool::NameFromCertString(QString cert_pem)
{
- QProcess openssl;
+ QProcess openssl;
- openssl.start("openssl",QStringList()<<"x509"<<"-subject"<<"-nameopt"<<"oneline,-esc_msb,utf8"<<"-noout");
- if (!openssl.waitForStarted())
- return QString();
+ openssl.start("openssl", QStringList() << "x509" << "-subject" << "-nameopt" << "oneline,-esc_msb,utf8" << "-noout");
+ if (!openssl.waitForStarted())
+ return QString();
- openssl.write(cert_pem.toAscii());
+ openssl.write(cert_pem.toAscii());
- if (!openssl.waitForFinished())
- return QString();
+ if (!openssl.waitForFinished())
+ return QString();
- QByteArray result = openssl.readAll();
- QRegExp rxOld(REGEXOLD);
- QRegExp rx(REGEXNEW);
+ QByteArray result = openssl.readAll();
+ QRegExp rxOld(REGEXOLD);
+ QRegExp rx(REGEXNEW);
- QString name=QString::fromUtf8( result.constData());
+ QString name = QString::fromUtf8( result.constData());
- if (name.contains(rxOld))
- {
- name=rxOld.cap(1);
- }
- else if (name.contains(rx))
- {
- name=rx.cap(1);
- }
+ if (name.contains(rxOld))
+ {
+ name = rxOld.cap(1);
+ }
+ else if (name.contains(rx))
+ {
+ name = rx.cap(1);
+ }
- //
-return name;
+ //
+ return name;
}
QString OpenSSLTool::CertTextFromString(QString cert_pem)
{
- QProcess openssl;
- qint64 ret;
- char *data;
- QByteArray ba;
+ QProcess openssl;
+ qint64 ret;
+ char *data;
+ QByteArray ba;
- openssl.start("openssl", QStringList()<<"x509"<<"-noout"<<"-text"<<"-nameopt"<<"multiline,-esc_msb,utf8");
+ openssl.start("openssl", QStringList() << "x509" << "-noout" << "-text" << "-nameopt" << "multiline,-esc_msb,utf8");
- if (!openssl.waitForStarted())
- return QString();
+ if (!openssl.waitForStarted())
+ return QString();
- ba = cert_pem.toAscii();
- ret = openssl.write(data = (char*)ba.constData());
- openssl.closeWriteChannel();
+ ba = cert_pem.toAscii();
+ ret = openssl.write(data = (char*)ba.constData());
+ openssl.closeWriteChannel();
- if (!openssl.waitForFinished())
- return QString();
+ if (!openssl.waitForFinished())
+ return QString();
- return QString::fromUtf8(openssl.readAllStandardOutput().constData());
+ return QString::fromUtf8(openssl.readAllStandardOutput().constData());
}
bool OpenSSLTool::GenRSAKeySignal(quint32 numbits, QString keyfile, bool setpassword, QString password, QString rand, QObject *receiver, const char *finished_slot)
{
- QStringList args;
+ QStringList args;
- args <<"genrsa"<<"-out"<<keyfile;
+ args << "genrsa" << "-out" << keyfile;
- if (setpassword)
- args <<"-passout"<<"stdin"<<"-aes256";
+ if (setpassword)
+ args << "-passout" << "stdin" << "-aes256";
- if (!rand.isEmpty())
- args << "-rand"<<rand;
+ if (!rand.isEmpty())
+ args << "-rand" << rand;
- args <<QString::number(numbits);
+ args << QString::number(numbits);
- openssl_.start("openssl", args);
+ openssl_.start("openssl", args);
- if (!openssl_.waitForStarted())
- return false;
+ if (!openssl_.waitForStarted())
+ return false;
- if (setpassword)
- {
- openssl_.write((password + "\n").toAscii().constData());
- }
+ if (setpassword)
+ {
+ openssl_.write((password + "\n").toAscii().constData());
+ }
- openssl_.disconnect(&openssl_, SIGNAL(finished(int,QProcess::ExitStatus)), 0, 0);
- openssl_.connect(&openssl_, SIGNAL(finished(int,QProcess::ExitStatus)),receiver, finished_slot);
+ openssl_.disconnect(&openssl_, SIGNAL(finished(int, QProcess::ExitStatus)), 0, 0);
+ openssl_.connect(&openssl_, SIGNAL(finished(int, QProcess::ExitStatus)), receiver, finished_slot);
- return true;
+ return true;
}
bool OpenSSLTool::GenCertSignal(QString cert_file, QString keyfile, QString keypassword,
- QString subject, QObject *receiver, const char *finished_slot)
+ QString subject, QObject *receiver, const char *finished_slot)
{
- openssl_.start("openssl",
- QStringList()
- <<"req"
+ openssl_.start("openssl",
+ QStringList()
+ << "req"
#ifdef WIN32
- <<"-config"<<"openssl.cnf"
+ << "-config" << "openssl.cnf"
#endif
- <<"-out"<<cert_file
- <<"-key"<<keyfile
- <<"-subj"<<"/CN=" + subject
- <<"-new"
- <<"-x509"
- <<"-days"<<"3680"
- <<"-utf8"
- <<"-batch"
- <<"-passin"
- <<"stdin");
-
- if (!openssl_.waitForStarted())
- return false;
-
- openssl_.write((keypassword + "\n").toAscii().constData());
-
- openssl_.disconnect(&openssl_, SIGNAL(finished(int,QProcess::ExitStatus)), 0, 0);
- openssl_.connect(&openssl_, SIGNAL(finished(int,QProcess::ExitStatus)),receiver, finished_slot);
-
- return true;
+ << "-out" << cert_file
+ << "-key" << keyfile
+ << "-subj" << "/CN=" + subject
+ << "-new"
+ << "-x509"
+ << "-days" << "3680"
+ << "-utf8"
+ << "-batch"
+ << "-passin"
+ << "stdin");
+
+ if (!openssl_.waitForStarted())
+ return false;
+
+ openssl_.write((keypassword + "\n").toAscii().constData());
+
+ openssl_.disconnect(&openssl_, SIGNAL(finished(int, QProcess::ExitStatus)), 0, 0);
+ openssl_.connect(&openssl_, SIGNAL(finished(int, QProcess::ExitStatus)), receiver, finished_slot);
+
+ return true;
}
QString OpenSSLTool::ReadStdErr()
{
- return QString::fromUtf8(openssl_.readAllStandardError().constData());
+ return QString::fromUtf8(openssl_.readAllStandardError().constData());
}
QString OpenSSLTool::ReadStdOut()
{
- return QString::fromUtf8(openssl_.readAllStandardOutput().constData());
+ return QString::fromUtf8(openssl_.readAllStandardOutput().constData());
}
bool OpenSSLTool::GenDHParamSignal(quint32 numbits, QString output_file, QObject *receiver, const char *finished_slot)
-{//openssl dhparam -5 4096
- openssl_.start("openssl",
- QStringList()
- <<"dhparam"
- <<"-out"<<output_file
- <<"-5"
- <<QString::number(numbits));
+{
+ //openssl dhparam -5 4096
+ openssl_.start("openssl",
+ QStringList()
+ << "dhparam"
+ << "-out" << output_file
+ << "-5"
+ << QString::number(numbits));
- if (!openssl_.waitForStarted())
- return false;
+ if (!openssl_.waitForStarted())
+ return false;
- openssl_.disconnect(&openssl_, SIGNAL(finished(int,QProcess::ExitStatus)), 0, 0);
- openssl_.connect(&openssl_, SIGNAL(finished(int,QProcess::ExitStatus)), receiver, finished_slot);
+ openssl_.disconnect(&openssl_, SIGNAL(finished(int, QProcess::ExitStatus)), 0, 0);
+ openssl_.connect(&openssl_, SIGNAL(finished(int, QProcess::ExitStatus)), receiver, finished_slot);
- return true;
+ return true;
}