diff options
Diffstat (limited to 'pica-client/openssltool.cpp')
| -rw-r--r-- | pica-client/openssltool.cpp | 223 |
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; } |
