X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltoolingtest%2FSecurityHelperTest.h;h=4297c89c6aa1e8f2ee3913b42b67730c84bc1426;hb=a0d768778a8f5f539b909baf5b115e70ea765f0f;hp=70e451b8d31119fcba6da7f5f1cd5cf432948342;hpb=a6ec5ba5d5a9ce4f3e127fdc455eea31051390c2;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltoolingtest/SecurityHelperTest.h b/xmltoolingtest/SecurityHelperTest.h index 70e451b..4297c89 100644 --- a/xmltoolingtest/SecurityHelperTest.h +++ b/xmltoolingtest/SecurityHelperTest.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2009 Internet2 + * Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,9 @@ #include +#include +#include + class SecurityHelperTest : public CxxTest::TestSuite { vector certs; @@ -32,6 +35,7 @@ public: void tearDown() { for_each(certs.begin(), certs.end(), xmltooling::cleanup()); + certs.clear(); } void testKeysFromFiles() { @@ -40,7 +44,7 @@ public: pathname = data_path + "key.der"; auto_ptr key2(SecurityHelper::loadKeyFromFile(pathname.c_str())); pathname = data_path + "test.pfx"; - auto_ptr key3(SecurityHelper::loadKeyFromFile(pathname.c_str(), NULL, "password")); + auto_ptr key3(SecurityHelper::loadKeyFromFile(pathname.c_str(), nullptr, "password")); TSM_ASSERT("PEM/DER keys did not match", SecurityHelper::matches(*key1.get(), *key2.get())); TSM_ASSERT("DER/PKCS12 keys did not match", SecurityHelper::matches(*key2.get(), *key3.get())); @@ -59,7 +63,7 @@ public: auto_ptr key2(SecurityHelper::loadKeyFromURL(*t2.get(), pathname.c_str())); pathname = data_path + "test.pfx.bak"; auto_ptr t3(getTransport("https://spaces.internet2.edu/download/attachments/5305/test.pfx")); - auto_ptr key3(SecurityHelper::loadKeyFromURL(*t3.get(), pathname.c_str(), NULL, "password")); + auto_ptr key3(SecurityHelper::loadKeyFromURL(*t3.get(), pathname.c_str(), nullptr, "password")); TSM_ASSERT("PEM/DER keys did not match", SecurityHelper::matches(*key1.get(), *key2.get())); TSM_ASSERT("DER/PKCS12 keys did not match", SecurityHelper::matches(*key2.get(), *key3.get())); @@ -71,7 +75,7 @@ public: pathname = data_path + "cert.der"; SecurityHelper::loadCertificatesFromFile(certs, pathname.c_str()); pathname = data_path + "test.pfx"; - SecurityHelper::loadCertificatesFromFile(certs, pathname.c_str(), NULL, "password"); + SecurityHelper::loadCertificatesFromFile(certs, pathname.c_str(), nullptr, "password"); TSM_ASSERT_EQUALS("Wrong certificate count", certs.size(), 3); @@ -87,6 +91,16 @@ public: SecurityHelper::getDEREncoding(*certs[2]), SecurityHelper::getDEREncoding(*key1.get()) ); + TSM_ASSERT_EQUALS( + "Certificate and its key produced different hashed encodings", + SecurityHelper::getDEREncoding(*certs[2], "SHA1"), SecurityHelper::getDEREncoding(*key1.get(), "SHA1") + ); + + TSM_ASSERT_EQUALS( + "Certificate and its key produced different hashed encodings", + SecurityHelper::getDEREncoding(*certs[2], "SHA256"), SecurityHelper::getDEREncoding(*key1.get(), "SHA256") + ); + for_each(certs.begin(), certs.end(), xmltooling::cleanup()); certs.clear(); } @@ -100,7 +114,7 @@ public: SecurityHelper::loadCertificatesFromURL(certs, *t2.get(), pathname.c_str()); pathname = data_path + "test.pfx.bak"; auto_ptr t3(getTransport("https://spaces.internet2.edu/download/attachments/5305/test.pfx")); - SecurityHelper::loadCertificatesFromURL(certs, *t3.get(), pathname.c_str(), NULL, "password"); + SecurityHelper::loadCertificatesFromURL(certs, *t3.get(), pathname.c_str(), nullptr, "password"); TSM_ASSERT_EQUALS("Wrong certificate count", certs.size(), 3);