Index: trunk/src/VBox/Runtime/testcase/Makefile.kmk
===================================================================
--- trunk/src/VBox/Runtime/testcase/Makefile.kmk	(revision 59668)
+++ trunk/src/VBox/Runtime/testcase/Makefile.kmk	(revision 59675)
@@ -271,12 +271,14 @@
 	Pem_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384.pem \
 	Pem_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512.pem \
+	Pem_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.pem \
        \
-	CertDer_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4-cert.der \
-	CertDer_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5-cert.der \
-	CertDer_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1-cert.der \
-	CertDer_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224-cert.der \
-	CertDer_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256-cert.der \
-	CertDer_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384-cert.der \
-	CertDer_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512-cert.der \
+	Der_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4-cert.der \
+	Der_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5-cert.der \
+	Der_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1-cert.der \
+	Der_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224-cert.der \
+	Der_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256-cert.der \
+	Der_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384-cert.der \
+	Der_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512-cert.der \
+	Der_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.der \
        $(NO_SUCH_VARIABLE)
 $$(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h: \
Index: trunk/src/VBox/Runtime/testcase/tstRTCrX509-1.cpp
===================================================================
--- trunk/src/VBox/Runtime/testcase/tstRTCrX509-1.cpp	(revision 59668)
+++ trunk/src/VBox/Runtime/testcase/tstRTCrX509-1.cpp	(revision 59675)
@@ -48,4 +48,5 @@
     const char     *pszFile;
     bool            fMaybeNotInOpenSSL;
+    bool            fSelfSigned;
 
     char const     *pchPem;
@@ -56,15 +57,16 @@
 } g_aFiles[] =
 {
-#define MY_CERT_ENTRY(a_fMaybeNotInOpenSSL, a_Name) \
-    { #a_Name, a_fMaybeNotInOpenSSL, \
+#define MY_CERT_ENTRY(a_fMaybeNotInOpenSSL, a_fSelfSigned, a_Name) \
+    { #a_Name, a_fMaybeNotInOpenSSL, a_fSelfSigned, \
       (const char *)RT_CONCAT(g_abPem_, a_Name), RT_CONCAT(g_cbPem_, a_Name), \
-      RT_CONCAT(g_abCertDer_, a_Name), RT_CONCAT(g_cbCertDer_, a_Name) }
-    MY_CERT_ENTRY(true,  md4),
-    MY_CERT_ENTRY(false, md5),
-    MY_CERT_ENTRY(false, sha1),
-/// @todo fix this:    MY_CERT_ENTRY(false, sha224),
-    MY_CERT_ENTRY(false, sha256),
-    MY_CERT_ENTRY(false, sha384),
-    MY_CERT_ENTRY(false, sha512),
+                    RT_CONCAT(g_abDer_, a_Name), RT_CONCAT(g_cbDer_, a_Name) }
+    MY_CERT_ENTRY(true,   true, md4),
+    MY_CERT_ENTRY(false,  true, md5),
+    MY_CERT_ENTRY(false,  true, sha1),
+/// @todo fix this:    MY_CERT_ENTRY(false,  true, sha224),
+    MY_CERT_ENTRY(false,  true, sha256),
+    MY_CERT_ENTRY(false,  true, sha384),
+    MY_CERT_ENTRY(false,  true, sha512),
+    MY_CERT_ENTRY(false, false, cert1),
 };
 
@@ -140,23 +142,25 @@
 
                             /*
-                             * Check that our self signed check works, since all of them are self signed.
+                             * Check that our self signed check works.
                              */
-                            RTTESTI_CHECK(RTCrX509Certificate_IsSelfSigned(&Cert0));
-                            RTTESTI_CHECK(RTCrX509Certificate_IsSelfSigned(&Cert1));
-                            RTTESTI_CHECK(RTCrX509Certificate_IsSelfSigned(&Cert2));
+                            RTTESTI_CHECK(RTCrX509Certificate_IsSelfSigned(&Cert0) == g_aFiles[i].fSelfSigned);
+                            RTTESTI_CHECK(RTCrX509Certificate_IsSelfSigned(&Cert1) == g_aFiles[i].fSelfSigned);
+                            RTTESTI_CHECK(RTCrX509Certificate_IsSelfSigned(&Cert2) == g_aFiles[i].fSelfSigned);
 
-                            /*
-                             * Verify the certificate signature (self signed).
-                             */
-                            for (j = 0; j < RT_ELEMENTS(paCerts); j++)
+                            if (g_aFiles[i].fSelfSigned)
                             {
-                                rc = RTCrX509Certificate_VerifySignatureSelfSigned(paCerts[j], NULL /*pErrInfo*/);
-                                if (   RT_FAILURE(rc)
-                                    && (   rc != VERR_CR_PKIX_OSSL_CIPHER_ALGO_NOT_KNOWN_EVP
-                                        || !g_aFiles[i].fMaybeNotInOpenSSL) )
-                                    RTTestIFailed("RTCrX509Certificate_VerifySignatureSelfSigned failed for %s (#%u), variation %u: %Rrc",
-                                                  g_aFiles[i].pszFile, i, j, rc);
+                                /*
+                                 * Verify the certificate signature (self signed).
+                                 */
+                                for (j = 0; j < RT_ELEMENTS(paCerts); j++)
+                                {
+                                    rc = RTCrX509Certificate_VerifySignatureSelfSigned(paCerts[j], NULL /*pErrInfo*/);
+                                    if (   RT_FAILURE(rc)
+                                        && (   rc != VERR_CR_PKIX_OSSL_CIPHER_ALGO_NOT_KNOWN_EVP
+                                            || !g_aFiles[i].fMaybeNotInOpenSSL) )
+                                        RTTestIFailed("RTCrX509Certificate_VerifySignatureSelfSigned failed for %s (#%u), variation %u: %Rrc",
+                                                      g_aFiles[i].pszFile, i, j, rc);
+                                }
                             }
-
                         }
 
Index: trunk/src/VBox/Runtime/testcase/tstRTCrX509-cert1.pem
===================================================================
--- trunk/src/VBox/Runtime/testcase/tstRTCrX509-cert1.pem	(revision 59675)
+++ trunk/src/VBox/Runtime/testcase/tstRTCrX509-cert1.pem	(revision 59675)
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFKzCCBBOgAwIBAgIQASKFQBPkE2CxwrMy5B8CfDANBgkqhkiG9w0BAQUFADBz
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMTIwMAYDVQQDEylEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
+ZSBDb2RlIFNpZ25pbmcgQ0EtMTAeFw0xNTA1MTQwMDAwMDBaFw0xODA4MTExMjAw
+MDBaMH0xCzAJBgNVBAYTAkRFMRowGAYDVQQIExFCYWRlbi1XdXJ0dGVtYmVyZzES
+MBAGA1UEBxMJU3R1dHRnYXJ0MR4wHAYDVQQKExVLbnV0IFN0YW5nZSBPc211bmRz
+ZW4xHjAcBgNVBAMTFUtudXQgU3RhbmdlIE9zbXVuZHNlbjCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBAL/nAdTf6R6sgr8fV7otKfUuZ87GRqI1/8U8chZ0
+CZidsFHp+Uo+uN9eiDWAvVv5YyeKcZR8Rm3vmEc+xqERTGlKvat2VZuuR3AQKWHX
+SxGn03wpInGVAvF2nL6j4ycp6X8RHs8eubkkhbfWAyxlBCR5eJRwqbzhtpSvpLCf
+a791iUiJ9gCwQkHFvGxsvDy+fZ3Oe+LFr3J7BrBmDR22M2W0/2VSs/Pepb6DRjLX
+a9isemu8kk+upZoXNixes1gBE9Um3qa6nSOG9Ha5yu7ET1IibWaSsAGkazOdvkLH
+bMgTBejrJv0CXe4A7slRVpJLVaMrmjcHcexKqEqZ1W/eaXcCAwEAAaOCAa8wggGr
+MB8GA1UdIwQYMBaAFJdIA+sVCGu5slgjzJQu8cZl0mSOMB0GA1UdDgQWBBTe4e63
+98IzAbwv2U2e8fs6yd5FuzAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYB
+BQUHAwMwaQYDVR0fBGIwYDAuoCygKoYoaHR0cDovL2NybDMuZGlnaWNlcnQuY29t
+L2hhLWNzLTIwMTFhLmNybDAuoCygKoYoaHR0cDovL2NybDQuZGlnaWNlcnQuY29t
+L2hhLWNzLTIwMTFhLmNybDBCBgNVHSAEOzA5MDcGCWCGSAGG/WwDATAqMCgGCCsG
+AQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMIGGBggrBgEFBQcB
+AQR6MHgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBQBggr
+BgEFBQcwAoZEaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln
+aEFzc3VyYW5jZUNvZGVTaWduaW5nQ0EtMS5jcnQwDAYDVR0TAQH/BAIwADANBgkq
+hkiG9w0BAQUFAAOCAQEAYHAWIbvNWuLBamrJ+Uvf+j40n2Oewo77T3yUuh23CoUA
+tpgfJBjFQXMa0OzRmYSfbiyvmJM1rB2Qke/XEPku5HGWwjVrbkZJkGz14XX9RHGt
+3WNNOaYHrkgQdKiGbZyouz1LFKR6uQ8T5wzX5xOEicXYYbAkjf4zzC5i6SmzOudQ
+GepxEk1ZL8+hBOwtPiOmMkitN3PmW065Fn/DtbTQFyMqYBSX8oQ2pcKnI/FIc74X
+nEvjR6hv9iR7sZ8kk/J3C+MK+/kR5zrMpRz6ySxlgvgztVWIMPDKVx1FMj+mue7K
+OQG5Wb2wKkIH1AOCPNjBIcVhwLD+qqhBSNqRCZzEqQ==
+-----END CERTIFICATE-----
+
