Mercurial > trustbridge
diff ui/certificate.cpp @ 83:ba8a548ff252
Expand certificate class to make raw data accessible
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 20 Mar 2014 16:20:44 +0000 |
parents | 1f27d6db5ee3 |
children | f1ebab8639dc |
line wrap: on
line diff
--- a/ui/certificate.cpp Wed Mar 19 18:04:14 2014 +0000 +++ b/ui/certificate.cpp Thu Mar 20 16:20:44 2014 +0000 @@ -2,17 +2,17 @@ #include <QDebug> #include <QObject> -const QString& Certificate::shortDescription() const { - return mShortDescription; -} - -Certificate::Certificate(const QByteArray& asn1data) : +Certificate::Certificate(const QString& b64Line) : mValid(false), mShortDescription(QObject::tr("Invalid Certificate")) { int ret = -1; char buf[2000]; + /* Cut of the first two chars (e.g. I: and decode) */ + QByteArray asn1data = QByteArray::fromBase64( + b64Line.right(b64Line.size() - 2).toLatin1()); + x509_crt_init(&mX509Cert); ret = x509_crt_parse(&mX509Cert, (const unsigned char*) asn1data.constData(), @@ -31,12 +31,15 @@ /* In case of success the return value is the size of the information * written into buf - * - * TODO: This is currently not short description but all x509 information * */ - mShortDescription = QString::fromUtf8(buf, ret); + + mDetails = QString::fromUtf8(buf, ret); + + mShortDescription = mDetails; /* TODO */ mValid = true; + + mBaseLine = b64Line; } Certificate::~Certificate()