diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp
index 70d48e4..7243f53 100644
--- a/src/connectionmanager.cpp
+++ b/src/connectionmanager.cpp
@@ -1503,11 +1503,11 @@
         top_issuer = top_issuer->issuer;
 
     // Device certificate can't be self-signed
-    /* if (top_issuer == crt) {
+    if (top_issuer == crt) {
         if (logger)
             logger->warn("Found invalid (self-signed) peer device: {}", crt->getLongId());
         return false;
-    } */
+    }
 
     // Check peer certificate chain
     // Trust store with top issuer as the only CA
@@ -1526,14 +1526,12 @@
         return false;
     }
 
-    if (auto issuer = crt->issuer) {
-        account_id = issuer->getId();
-        if (logger)
-            logger->warn("Found peer device: {} account:{} CA:{}",
-                crt->getLongId(),
-                account_id,
-                top_issuer->getId());
-    }
+    account_id = crt->issuer->getId();
+    if (logger)
+        logger->warn("Found peer device: {} account:{} CA:{}",
+              crt->getLongId(),
+              account_id,
+              top_issuer->getId());
     return true;
 }
 
diff --git a/tests/connectionManager.cpp b/tests/connectionManager.cpp
index a4e3759..01cd91a 100644
--- a/tests/connectionManager.cpp
+++ b/tests/connectionManager.cpp
@@ -59,8 +59,6 @@
 
     std::unique_ptr<ConnectionHandler> alice;
     std::unique_ptr<ConnectionHandler> bob;
-    //std::string aliceId;
-    //std::string bobId;
 
 //Create a lock to be used in the test units
     std::mutex mtx;
@@ -133,7 +131,8 @@
 std::unique_ptr<ConnectionHandler>
 ConnectionManagerTest::setupHandler(const std::string& name) {
     auto h = std::make_unique<ConnectionHandler>();
-    h->id = dht::crypto::generateIdentity(name);
+    auto ca = dht::crypto::generateIdentity("ca");
+    h->id = dht::crypto::generateIdentity(name, ca);
     h->logger = logger;
     h->certStore = std::make_shared<tls::CertificateStore>(name, h->logger);
     h->ioContext = std::make_shared<asio::io_context>();
@@ -188,6 +187,11 @@
 ConnectionManagerTest::setUp()
 {
     logger = dht::log::getStdLogger();
+
+    logger->debug("Using PJSIP version {} for {}", pj_get_version(), PJ_OS_NAME);
+    logger->debug("Using GnuTLS version {}", gnutls_check_version(nullptr));
+    logger->debug("Using OpenDHT version {}", dht::version());
+
     ioContext = std::make_shared<asio::io_context>();
     ioContextRunner = std::thread([context = ioContext]() {
         try {
