diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ecc106cc..77d1f03b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,5 +22,5 @@ build_clazy_clang_tidy:
     - apt-get install --yes --no-install-recommends ninja-build libbotan-2-dev libnss3-dev libgcrypt20-dev libpkcs11-helper1-dev clazy clang clang-tidy jq
   script:
     - srcdir=`pwd` && mkdir -p /tmp/qca_build && cd /tmp/qca_build && CC=clang CXX=clazy CXXFLAGS="-Werror -Wno-deprecated-declarations" cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja $srcdir && cat compile_commands.json | jq  '[.[] | select(.file | contains("'"$srcdir"'"))]' > compile_commands.aux.json && mv compile_commands.aux.json compile_commands.json
-    - CLAZY_CHECKS="level0,level1,level2,no-container-anti-pattern,no-copyable-polymorphic,no-ctor-missing-parent-argument,no-qstring-allocations,isempty-vs-count,qhash-with-char-pointer-key,qproperty-type-mismatch,qrequiredresult-candidates,signal-with-return-value,thread-with-slots,tr-non-literal,unneeded-cast" ninja
+    - CLAZY_CHECKS="level0,level1,level2,no-copyable-polymorphic,no-ctor-missing-parent-argument,no-qstring-allocations,isempty-vs-count,qhash-with-char-pointer-key,qproperty-type-mismatch,qrequiredresult-candidates,signal-with-return-value,thread-with-slots,tr-non-literal,unneeded-cast" ninja
     - "run-clang-tidy -header-filter='.*/qca/.*' -checks='-*,performance-*,modernize-make-unique,modernize-make-shared,modernize-use-override,modernize-use-equals-delete,modernize-use-emplace,modernize-use-bool-literals,modernize-redundant-void-arg,modernize-loop-convert' -config=\"{WarningsAsErrors: '*'}\""
diff --git a/examples/certtest/certtest.cpp b/examples/certtest/certtest.cpp
index d4799c71..2b63ac2a 100644
--- a/examples/certtest/certtest.cpp
+++ b/examples/certtest/certtest.cpp
@@ -55,7 +55,7 @@ static void dumpCertificateInfo( const QCA::CertificateInfo &info)
     std::cout << "  Country: " << std::endl;
     // As above, however this shows a more compact way to represent
     // the iteration and output.
-    foreach( QString country, info.values(QCA::Country) ) {
+    foreach( QString country, info.values(QCA::Country) ) {  //clazy:exclude=container-anti-pattern
 	std::cout << "    " << qPrintable(country) << std::endl;
     }
 }
diff --git a/src/qca_cert.cpp b/src/qca_cert.cpp
index 932e2da3..66376fcc 100644
--- a/src/qca_cert.cpp
+++ b/src/qca_cert.cpp
@@ -1647,25 +1647,16 @@ bool Certificate::matchesHostName(const QString &host) const
 	QByteArray ipaddr = ipaddr_str2bin(host);
 	if(!ipaddr.isEmpty()) // ip address
 	{
-		// check iPAddress
-		foreach(const QString &s, subjectInfo().values(IPAddress))
+		// check iPAddress, dNSName, commonName
+		const CertificateInfoOrdered subjectInfo = subjectInfoOrdered();
+		for(const CertificateInfoPair &p : subjectInfo)
 		{
-			if(cert_match_ipaddress(s, ipaddr))
-				return true;
-		}
-
-		// check dNSName
-		foreach(const QString &s, subjectInfo().values(DNS))
-		{
-			if(cert_match_ipaddress(s, ipaddr))
-				return true;
-		}
-
-		// check commonName
-		foreach(const QString &s, subjectInfo().values(CommonName))
-		{
-			if(cert_match_ipaddress(s, ipaddr))
-				return true;
+			const CertificateInfoType type = p.type();
+			if (type == IPAddress || type == DNS || type == CommonName)
+			{
+				if(cert_match_ipaddress(p.value(), ipaddr))
+					return true;
+			}
 		}
 	}
 	else // domain
@@ -1688,18 +1679,16 @@ bool Certificate::matchesHostName(const QString &host) const
 		if(name.isEmpty())
 			return false;
 
-		// check dNSName
-		foreach(const QString &s, subjectInfo().values(DNS))
+		// check dNSName, commonName
+		const CertificateInfoOrdered subjectInfo = subjectInfoOrdered();
+		for(const CertificateInfoPair &p : subjectInfo)
 		{
-			if(cert_match_domain(s, name))
-				return true;
-		}
-
-		// check commonName
-		foreach(const QString &s, subjectInfo().values(CommonName))
-		{
-			if(cert_match_domain(s, name))
-				return true;
+			const CertificateInfoType type = p.type();
+			if (type == DNS || type == CommonName)
+			{
+				if(cert_match_domain(p.value(), name))
+					return true;
+			}
 		}
 	}
 
diff --git a/unittest/certunittest/certunittest.cpp b/unittest/certunittest/certunittest.cpp
index 7e06cb56..bcc0a5d5 100644
--- a/unittest/certunittest/certunittest.cpp
+++ b/unittest/certunittest/certunittest.cpp
@@ -257,15 +257,15 @@ void CertUnitTest::checkExpiredClientCerts()
 
 	    QCA::CertificateInfo subject1 = client1.subjectInfo();
 	    QCOMPARE( subject1.isEmpty(), false );
-	    QCOMPARE( subject1.values(QCA::Country).contains("de") == true, true );
-	    QCOMPARE( subject1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true );
-	    QCOMPARE( subject1.values(QCA::CommonName).contains("Insecure User Test Cert") == true, true );
+	    QCOMPARE( subject1.values(QCA::Country).contains("de") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( subject1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( subject1.values(QCA::CommonName).contains("Insecure User Test Cert") == true, true ); //clazy:exclude=container-anti-pattern
 
 	    QCA::CertificateInfo issuer1 = client1.issuerInfo();
 	    QCOMPARE( issuer1.isEmpty(), false );
-	    QCOMPARE( issuer1.values(QCA::Country).contains("de") == true, true );
-	    QCOMPARE( issuer1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true );
-	    QCOMPARE( issuer1.values(QCA::CommonName).contains("For Tests Only") == true, true );
+	    QCOMPARE( issuer1.values(QCA::Country).contains("de") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( issuer1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( issuer1.values(QCA::CommonName).contains("For Tests Only") == true, true ); //clazy:exclude=container-anti-pattern
 
 	    QByteArray subjectKeyID = QCA::Hex().stringToArray("889E7EF729719D7B280F361AAE6D00D39DE1AADB").toByteArray();
 	    QCOMPARE( client1.subjectKeyId(), subjectKeyID );
@@ -365,16 +365,16 @@ void CertUnitTest::checkClientCerts()
 
 	    QCA::CertificateInfo subject2 = client2.subjectInfo();
 	    QCOMPARE( subject2.isEmpty(), false );
-	    QVERIFY( subject2.values(QCA::Country).contains("US") );
-	    QVERIFY( subject2.values(QCA::Organization).contains("Qca Development and Test") );
-	    QVERIFY( subject2.values(QCA::OrganizationalUnit).contains("Certificate Generation Section") );
-	    QVERIFY( subject2.values(QCA::CommonName).contains("Qca Test Client Certificate") );
+	    QVERIFY( subject2.values(QCA::Country).contains("US") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject2.values(QCA::Organization).contains("Qca Development and Test") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject2.values(QCA::OrganizationalUnit).contains("Certificate Generation Section") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject2.values(QCA::CommonName).contains("Qca Test Client Certificate") ); //clazy:exclude=container-anti-pattern
 
 	    QCA::CertificateInfo issuer2 = client2.issuerInfo();
 	    QCOMPARE( issuer2.isEmpty(), false );
-	    QVERIFY( issuer2.values(QCA::Country).contains("AU") );
-	    QVERIFY( issuer2.values(QCA::Organization).contains("Qca Development and Test") );
-	    QVERIFY( issuer2.values(QCA::CommonName).contains("Qca Test Root Certificate") );
+	    QVERIFY( issuer2.values(QCA::Country).contains("AU") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer2.values(QCA::Organization).contains("Qca Development and Test") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer2.values(QCA::CommonName).contains("Qca Test Root Certificate") ); //clazy:exclude=container-anti-pattern
 
 	    QByteArray subjectKeyID = QCA::Hex().stringToArray("1e604e03127d287ba40427a961b428a2d09b50d1").toByteArray();
 	    QCOMPARE( client2.subjectKeyId(), subjectKeyID );
@@ -545,16 +545,16 @@ void CertUnitTest::altName()
 
 	    QCA::CertificateInfo subject1 = client1.subjectInfo();
 	    QCOMPARE( subject1.isEmpty(), false );
-	    QVERIFY( subject1.values(QCA::Country).contains("US") );
-	    QVERIFY( subject1.values(QCA::Organization).contains("Test Certificates") );
-	    QVERIFY( subject1.values(QCA::CommonName).contains("Valid RFC822 nameConstraints EE Certificate Test21") );
-	    QVERIFY( subject1.values(QCA::Email).contains("Test21EE@mailserver.testcertificates.gov") );
+	    QVERIFY( subject1.values(QCA::Country).contains("US") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::Organization).contains("Test Certificates") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::CommonName).contains("Valid RFC822 nameConstraints EE Certificate Test21") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::Email).contains("Test21EE@mailserver.testcertificates.gov") ); //clazy:exclude=container-anti-pattern
 
 	    QCA::CertificateInfo issuer1 = client1.issuerInfo();
 	    QCOMPARE( issuer1.isEmpty(), false );
-	    QVERIFY( issuer1.values(QCA::Country).contains("US") );
-	    QVERIFY( issuer1.values(QCA::Organization).contains("Test Certificates") );
-	    QVERIFY( issuer1.values(QCA::CommonName).contains("nameConstraints RFC822 CA1") );
+	    QVERIFY( issuer1.values(QCA::Country).contains("US") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::Organization).contains("Test Certificates") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::CommonName).contains("nameConstraints RFC822 CA1") ); //clazy:exclude=container-anti-pattern
 
 	    QByteArray subjectKeyID = QCA::Hex().stringToArray("b4200d42cd95ea87d463d54f0ed6d10fe5b73bfb").toByteArray();
 	    QCOMPARE( client1.subjectKeyId(), subjectKeyID );
@@ -599,21 +599,21 @@ void CertUnitTest::extXMPP()
 
 	    QCA::CertificateInfo subject1 = client1.subjectInfo();
 	    QCOMPARE( subject1.isEmpty(), false );
-	    QVERIFY( subject1.values(QCA::Country).contains("US") );
-	    QVERIFY( subject1.values(QCA::Organization).contains("Jabber, Inc.") );
-	    QVERIFY( subject1.values(QCA::Locality).contains("Denver") );
-	    QVERIFY( subject1.values(QCA::State).contains("Colorado") );
-	    QVERIFY( subject1.values(QCA::CommonName).contains("demo.jabber.com") );
-	    QVERIFY( subject1.values(QCA::DNS).contains("demo.jabber.com") );
-	    QVERIFY( subject1.values(QCA::XMPP).contains("demo.jabber.com") );
+	    QVERIFY( subject1.values(QCA::Country).contains("US") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::Organization).contains("Jabber, Inc.") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::Locality).contains("Denver") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::State).contains("Colorado") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::CommonName).contains("demo.jabber.com") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::DNS).contains("demo.jabber.com") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::XMPP).contains("demo.jabber.com") ); //clazy:exclude=container-anti-pattern
 
 	    QCA::CertificateInfo issuer1 = client1.issuerInfo();
 	    QCOMPARE( issuer1.isEmpty(), false );
-	    QVERIFY( issuer1.values(QCA::Country).contains("US") );
-	    QVERIFY( issuer1.values(QCA::Organization).contains("Jabber, Inc.") );
-	    QVERIFY( issuer1.values(QCA::Locality).contains("Denver") );
-	    QVERIFY( issuer1.values(QCA::State).contains("Colorado") );
-	    QVERIFY( issuer1.values(QCA::CommonName).contains("demo.jabber.com") );
+	    QVERIFY( issuer1.values(QCA::Country).contains("US") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::Organization).contains("Jabber, Inc.") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::Locality).contains("Denver") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::State).contains("Colorado") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::CommonName).contains("demo.jabber.com") ); //clazy:exclude=container-anti-pattern
 	}
     }
 }
@@ -662,19 +662,19 @@ void CertUnitTest::altNames76()
 
             QCA::CertificateInfo subject1 = client1.subjectInfo();
             QCOMPARE( subject1.isEmpty(), false );
-            QVERIFY( subject1.values(QCA::Country).contains("SE") );
-            QVERIFY( subject1.values(QCA::Organization).contains("Stockholms universitet") );
-            QVERIFY( subject1.values(QCA::CommonName).contains("sip1.su.se") );
-            QCOMPARE( subject1.values(QCA::Email).count(), 0 );
-            QCOMPARE( subject1.values(QCA::DNS).count(), 8 );
-            QVERIFY( subject1.values(QCA::DNS).contains("incomingproxy.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("incomingproxy1.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("outgoingproxy.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("outgoingproxy1.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("out.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("appserver.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("appserver1.sip.su.se") );
-            QVERIFY( subject1.values(QCA::DNS).contains("sip1.su.se") );
+            QVERIFY( subject1.values(QCA::Country).contains("SE") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::Organization).contains("Stockholms universitet") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::CommonName).contains("sip1.su.se") ); //clazy:exclude=container-anti-pattern
+            QCOMPARE( subject1.values(QCA::Email).count(), 0 ); //clazy:exclude=container-anti-pattern
+            QCOMPARE( subject1.values(QCA::DNS).count(), 8 ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("incomingproxy.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("incomingproxy1.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("outgoingproxy.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("outgoingproxy1.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("out.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("appserver.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("appserver1.sip.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( subject1.values(QCA::DNS).contains("sip1.su.se") ); //clazy:exclude=container-anti-pattern
 
             QVERIFY( client1.matchesHostName("incomingproxy.sip.su.se") );
             QVERIFY( client1.matchesHostName("incomingproxy1.sip.su.se") );
@@ -687,11 +687,11 @@ void CertUnitTest::altNames76()
 
             QCA::CertificateInfo issuer1 = client1.issuerInfo();
             QCOMPARE( issuer1.isEmpty(), false );
-            QVERIFY( issuer1.values(QCA::Country).contains("SE") );
-            QVERIFY( issuer1.values(QCA::Organization).contains("Stockholms universitet") );
-            QVERIFY( issuer1.values(QCA::CommonName).contains("Stockholm University CA") );
-            QVERIFY( issuer1.values(QCA::URI).contains("http://ca.su.se") );
-            QVERIFY( issuer1.values(QCA::Email).contains("ca@su.se") );
+            QVERIFY( issuer1.values(QCA::Country).contains("SE") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( issuer1.values(QCA::Organization).contains("Stockholms universitet") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( issuer1.values(QCA::CommonName).contains("Stockholm University CA") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( issuer1.values(QCA::URI).contains("http://ca.su.se") ); //clazy:exclude=container-anti-pattern
+            QVERIFY( issuer1.values(QCA::Email).contains("ca@su.se") ); //clazy:exclude=container-anti-pattern
 
             QByteArray subjectKeyID = QCA::Hex().stringToArray("3a5c5cd1cc2c9edf73f73bd81b59b1eab83035c5").toByteArray();
             QCOMPARE( client1.subjectKeyId(), subjectKeyID );
@@ -800,15 +800,15 @@ void CertUnitTest::checkExpiredServerCerts()
 
 	    QCA::CertificateInfo subject1 = server1.subjectInfo();
 	    QCOMPARE( subject1.isEmpty(), false );
-	    QCOMPARE( subject1.values(QCA::Country).contains("de") == true, true );
-	    QCOMPARE( subject1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true );
-	    QCOMPARE( subject1.values(QCA::CommonName).contains("Insecure Server Cert") == true, true );
+	    QCOMPARE( subject1.values(QCA::Country).contains("de") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( subject1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( subject1.values(QCA::CommonName).contains("Insecure Server Cert") == true, true ); //clazy:exclude=container-anti-pattern
 
 	    QCA::CertificateInfo issuer1 = server1.issuerInfo();
 	    QCOMPARE( issuer1.isEmpty(), false );
-	    QCOMPARE( issuer1.values(QCA::Country).contains("de") == true, true );
-	    QCOMPARE( issuer1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true );
-	    QCOMPARE( issuer1.values(QCA::CommonName).contains("For Tests Only") == true, true );
+	    QCOMPARE( issuer1.values(QCA::Country).contains("de") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( issuer1.values(QCA::Organization).contains("InsecureTestCertificate") == true, true ); //clazy:exclude=container-anti-pattern
+	    QCOMPARE( issuer1.values(QCA::CommonName).contains("For Tests Only") == true, true ); //clazy:exclude=container-anti-pattern
 
 	    QByteArray subjectKeyID = QCA::Hex().stringToArray("0234E2C906F6E0B44253BE04C0CBA7823A6DB509").toByteArray();
 	    QCOMPARE( server1.subjectKeyId(), subjectKeyID );
@@ -903,17 +903,17 @@ void CertUnitTest::checkServerCerts()
 
 	    QCA::CertificateInfo subject1 = server1.subjectInfo();
 	    QCOMPARE( subject1.isEmpty(), false );
-	    QVERIFY( subject1.values(QCA::Country).contains("IL") );
-	    QVERIFY( subject1.values(QCA::Organization).contains("Qca Development and Test") );
-	    QVERIFY( subject1.values(QCA::OrganizationalUnit).contains("Server Management Section") );
-	    QVERIFY( subject1.values(QCA::CommonName).contains("Qca Server Test certificate") );
+	    QVERIFY( subject1.values(QCA::Country).contains("IL") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::Organization).contains("Qca Development and Test") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::OrganizationalUnit).contains("Server Management Section") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject1.values(QCA::CommonName).contains("Qca Server Test certificate") ); //clazy:exclude=container-anti-pattern
 
 	    QCA::CertificateInfo issuer1 = server1.issuerInfo();
 	    QCOMPARE( issuer1.isEmpty(), false );
-	    QVERIFY( issuer1.values(QCA::Country).contains("AU") );
-	    QVERIFY( issuer1.values(QCA::Organization).contains("Qca Development and Test") );
-	    QVERIFY( issuer1.values(QCA::OrganizationalUnit).contains("Certificate Generation Section") );
-	    QVERIFY( issuer1.values(QCA::CommonName).contains("Qca Test Root Certificate") );
+	    QVERIFY( issuer1.values(QCA::Country).contains("AU") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::Organization).contains("Qca Development and Test") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::OrganizationalUnit).contains("Certificate Generation Section") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer1.values(QCA::CommonName).contains("Qca Test Root Certificate") ); //clazy:exclude=container-anti-pattern
 
 	    QByteArray subjectKeyID = QCA::Hex().stringToArray("819870c8b81eab53e72d0446b65790aa0d3eab1a").toByteArray();
 	    QCOMPARE( server1.subjectKeyId(), subjectKeyID );
@@ -994,9 +994,9 @@ void CertUnitTest::crl()
 
 	    QCA::CertificateInfo issuer = crl1.issuerInfo();
 	    QCOMPARE( issuer.isEmpty(), false );
-	    QVERIFY( issuer.values(QCA::Country).contains("de") );
-	    QVERIFY( issuer.values(QCA::Organization).contains("InsecureTestCertificate") );
-	    QVERIFY( issuer.values(QCA::CommonName).contains("For Tests Only") );
+	    QVERIFY( issuer.values(QCA::Country).contains("de") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer.values(QCA::Organization).contains("InsecureTestCertificate") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer.values(QCA::CommonName).contains("For Tests Only") ); //clazy:exclude=container-anti-pattern
 
 	    // No keyid extension on this crl
 	    QCOMPARE( QCA::arrayToHex( crl1.issuerKeyId() ), QString("") );
@@ -1053,9 +1053,9 @@ void CertUnitTest::crl2()
 
 	    QCA::CertificateInfo issuer = crl1.issuerInfo();
 	    QCOMPARE( issuer.isEmpty(), false );
-	    QVERIFY( issuer.values(QCA::Country).contains("US") );
-	    QVERIFY( issuer.values(QCA::Organization).contains("Test Certificates") );
-	    QVERIFY( issuer.values(QCA::CommonName).contains("Good CA") );
+	    QVERIFY( issuer.values(QCA::Country).contains("US") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer.values(QCA::Organization).contains("Test Certificates") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( issuer.values(QCA::CommonName).contains("Good CA") ); //clazy:exclude=container-anti-pattern
 
 	    QCOMPARE( crl1.thisUpdate(), QDateTime(QDate(2001, 4, 19), QTime(14, 57, 20), Qt::UTC) );
 	    QCOMPARE( crl1.nextUpdate(), QDateTime(QDate(2011, 4, 19), QTime(14, 57, 20), Qt::UTC) );
@@ -1125,12 +1125,12 @@ void CertUnitTest::csr()
 	    QCOMPARE( csr1.provider()->name(), provider );
 	    QCA::CertificateInfo subject = csr1.subjectInfo();
 	    QCOMPARE( subject.isEmpty(), false );
-	    QVERIFY( subject.values(QCA::Country).contains("AU") );
-	    QVERIFY( subject.values(QCA::State).contains("Victoria") );
-	    QVERIFY( subject.values(QCA::Locality).contains("Mitcham") );
-	    QVERIFY( subject.values(QCA::Organization).contains("GE Interlogix") );
-	    QVERIFY( subject.values(QCA::OrganizationalUnit).contains("Engineering") );
-	    QVERIFY( subject.values(QCA::CommonName).contains("coldfire") );
+	    QVERIFY( subject.values(QCA::Country).contains("AU") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::State).contains("Victoria") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::Locality).contains("Mitcham") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::Organization).contains("GE Interlogix") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::OrganizationalUnit).contains("Engineering") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::CommonName).contains("coldfire") ); //clazy:exclude=container-anti-pattern
 
 	    QCA::PublicKey pkey = csr1.subjectPublicKey();
 	    QCOMPARE( pkey.isNull(), false );
@@ -1163,12 +1163,12 @@ void CertUnitTest::csr2()
 	    QCOMPARE( csr1.provider()->name(), provider );
 	    QCA::CertificateInfo subject = csr1.subjectInfo();
 	    QCOMPARE( subject.isEmpty(), false );
-	    QVERIFY( subject.values(QCA::Country).contains("AI") );
-	    QVERIFY( subject.values(QCA::State).contains("Hutt River Province") );
-	    QVERIFY( subject.values(QCA::Locality).contains("Lesser Internet") );
-	    QVERIFY( subject.values(QCA::Organization).contains("My Company Ltd") );
-	    QVERIFY( subject.values(QCA::OrganizationalUnit).contains("Backwater Branch Office") );
-	    QVERIFY( subject.values(QCA::CommonName).contains("FirstName Surname") );
+	    QVERIFY( subject.values(QCA::Country).contains("AI") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::State).contains("Hutt River Province") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::Locality).contains("Lesser Internet") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::Organization).contains("My Company Ltd") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::OrganizationalUnit).contains("Backwater Branch Office") ); //clazy:exclude=container-anti-pattern
+	    QVERIFY( subject.values(QCA::CommonName).contains("FirstName Surname") ); //clazy:exclude=container-anti-pattern
 
 	    QCA::PublicKey pkey = csr1.subjectPublicKey();
 	    QCOMPARE( pkey.isNull(), false );