Stop reaching into X509_ALGOR. Use an accessor instead. Unfortunately,
OBJ_obj2nid() has an incorrect (pre-1.1) signature in this framework,
so we need to cast.

Index: src/kssl/ksslcertificate.cpp
--- src/kssl/ksslcertificate.cpp.orig
+++ src/kssl/ksslcertificate.cpp
@@ -192,20 +192,22 @@ QString KSSLCertificate::getSignatureText() const
     QString rc = "";
 
 #if KSSL_HAVE_SSL
-    char *s;
+    const char *s;
     int n, i;
 
     const X509_ALGOR *algor;
+    const ASN1_OBJECT *oid;
     const ASN1_BIT_STRING *sig;
     d->kossl->X509_get0_signature(&sig, &algor, d->m_cert);
-    i = d->kossl->OBJ_obj2nid(algor->algorithm);
+    d->kossl->X509_ALGOR_get0(&oid, NULL, NULL, algor);
+    i = d->kossl->OBJ_obj2nid((ASN1_OBJECT *)oid); /* XXX - should be fixed in kopenssl.h */
     rc = i18n("Signature Algorithm: ");
     rc += (i == NID_undef) ? i18n("Unknown") : QString(d->kossl->OBJ_nid2ln(i));
 
     rc += '\n';
     rc += i18n("Signature Contents:");
-    n = sig->length;
-    s = (char *)sig->data;
+    n = ASN1_STRING_length(sig);
+    s = (const char *)ASN1_STRING_get0_data(sig);
     for (i = 0; i < n; ++i) {
         if (i % 20 != 0) {
             rc += ':';
@@ -1314,7 +1316,7 @@ QStringList KSSLCertificate::subjAltNames() const
             continue;
         }
 
-        QString s = (const char *)d->kossl->ASN1_STRING_data(val->d.ia5);
+        QString s = (const char *)d->kossl->ASN1_STRING_get0_data(val->d.ia5);
         if (!s.isEmpty()  &&
                 /* skip subjectAltNames with embedded NULs */
                 s.length() == d->kossl->ASN1_STRING_length(val->d.ia5)) {
