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()

http://wald.intevation.org/projects/trustbridge/