saml1/core/impl/AuthenticationStatementTest.h
noinst_HEADERS = \
- internal.h
+ internal.h \
+ signature/SAMLSignatureTestBase.h
nodist_samltest_SOURCES = $(samltest_h:.h=.cpp)
>\r
<Tool\r
Name="VCCustomBuildTool"\r
- CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)""\r
+ CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)"
"\r
Outputs=""$(InputDir)$(InputName)".cpp"\r
/>\r
</FileConfiguration>\r
>\r
<Tool\r
Name="VCCustomBuildTool"\r
- CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)""\r
+ CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)"
"\r
Outputs=""$(InputDir)$(InputName)".cpp"\r
/>\r
</FileConfiguration>\r
>\r
<Tool\r
Name="VCCustomBuildTool"\r
- CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)""\r
+ CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)"
"\r
Outputs=""$(InputDir)$(InputName)".cpp"\r
/>\r
</FileConfiguration>\r
>\r
<Tool\r
Name="VCCustomBuildTool"\r
- CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)""\r
+ CommandLine="\perl\bin\perl.exe -w \cxxtest\cxxtestgen.pl --part --have-eh --have-std --abort-on-fail -o "$(InputDir)$(InputName)".cpp "$(InputPath)"
"\r
Outputs=""$(InputDir)$(InputName)".cpp"\r
/>\r
</FileConfiguration>\r
</File>\r
+ <File\r
+ RelativePath=".\signature\SAMLSignatureTestBase.h"\r
+ >\r
+ </File>\r
</Filter>\r
</Filter>\r
<Filter\r
* limitations under the License.\r
*/\r
\r
-#include "internal.h"\r
+#include "signature/SAMLSignatureTestBase.h"\r
#include <saml/saml1/core/Assertions.h>\r
-#include <saml/signature/SignatureProfileValidator.h>\r
-#include <xmltooling/signature/SignatureValidator.h>\r
\r
#include <fstream>\r
-#include <openssl/pem.h>\r
-#include <xercesc/util/XMLUniDefs.hpp>\r
-#include <xsec/enc/XSECKeyInfoResolverDefault.hpp>\r
-#include <xsec/enc/OpenSSL/OpenSSLCryptoX509.hpp>\r
-#include <xsec/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp>\r
-#include <xsec/enc/XSECCryptoException.hpp>\r
-#include <xsec/framework/XSECException.hpp>\r
\r
using namespace opensaml::saml1;\r
-using namespace xmlsignature;\r
\r
-class _addcert : public std::binary_function<X509Data*,XSECCryptoX509*,void> {\r
-public:\r
- void operator()(X509Data* bag, XSECCryptoX509* cert) const {\r
- safeBuffer& buf=cert->getDEREncodingSB();\r
- X509Certificate* x=X509CertificateBuilder::buildX509Certificate();\r
- x->setValue(buf.sbStrToXMLCh());\r
- bag->getX509Certificates().push_back(x);\r
- }\r
-};\r
-\r
-class SAML1AssertionTest : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {\r
- XSECCryptoKey* m_key;\r
- vector<XSECCryptoX509*> m_certs;\r
+class SAML1AssertionTest : public CxxTest::TestSuite, public SAMLSignatureTestBase {\r
public:\r
void setUp() {\r
childElementsFile = data_path + "signature/SAML1Assertion.xml";\r
- SAMLObjectBaseTestCase::setUp();\r
- string keypath=data_path + "key.pem";\r
- BIO* in=BIO_new(BIO_s_file_internal());\r
- if (in && BIO_read_filename(in,keypath.c_str())>0) {\r
- EVP_PKEY* pkey=PEM_read_bio_PrivateKey(in, NULL, NULL, NULL);\r
- if (pkey) {\r
- m_key=new OpenSSLCryptoKeyRSA(pkey);\r
- EVP_PKEY_free(pkey);\r
- }\r
- }\r
- if (in) BIO_free(in);\r
- TS_ASSERT(m_key!=NULL);\r
-\r
- string certpath=data_path + "cert.pem";\r
- in=BIO_new(BIO_s_file_internal());\r
- if (in && BIO_read_filename(in,certpath.c_str())>0) {\r
- X509* x=NULL;\r
- while (x=PEM_read_bio_X509(in,NULL,NULL,NULL)) {\r
- m_certs.push_back(new OpenSSLCryptoX509(x));\r
- X509_free(x);\r
- }\r
- }\r
- if (in) BIO_free(in);\r
- TS_ASSERT(m_certs.size()>0);\r
+ SAMLSignatureTestBase::setUp();\r
}\r
\r
void tearDown() {\r
- SAMLObjectBaseTestCase::tearDown();\r
- delete m_key;\r
- for_each(m_certs.begin(),m_certs.end(),xmltooling::cleanup<XSECCryptoX509>());\r
+ SAMLSignatureTestBase::tearDown();\r
}\r
\r
void testSignature() {\r
* limitations under the License.\r
*/\r
\r
-#include "internal.h"\r
-#include <saml/saml1/core/Protocols.h>\r
-#include <saml/signature/SignatureProfileValidator.h>\r
-#include <xmltooling/signature/SignatureValidator.h>\r
+#include "signature/SAMLSignatureTestBase.h"\r
\r
+#include <saml/saml1/core/Protocols.h>\r
\r
#include <fstream>\r
-#include <openssl/pem.h>\r
-#include <xercesc/util/XMLUniDefs.hpp>\r
-#include <xsec/enc/XSECKeyInfoResolverDefault.hpp>\r
-#include <xsec/enc/OpenSSL/OpenSSLCryptoX509.hpp>\r
-#include <xsec/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp>\r
-#include <xsec/enc/XSECCryptoException.hpp>\r
-#include <xsec/framework/XSECException.hpp>\r
\r
using namespace opensaml::saml1p;\r
using namespace opensaml::saml1;\r
-using namespace xmlsignature;\r
\r
-class _addcert : public std::binary_function<X509Data*,XSECCryptoX509*,void> {\r
-public:\r
- void operator()(X509Data* bag, XSECCryptoX509* cert) const {\r
- safeBuffer& buf=cert->getDEREncodingSB();\r
- X509Certificate* x=X509CertificateBuilder::buildX509Certificate();\r
- x->setValue(buf.sbStrToXMLCh());\r
- bag->getX509Certificates().push_back(x);\r
- }\r
-};\r
-\r
-class SAML1RequestTest : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {\r
- XSECCryptoKey* m_key;\r
- vector<XSECCryptoX509*> m_certs;\r
+class SAML1RequestTest : public CxxTest::TestSuite, public SAMLSignatureTestBase {\r
public:\r
void setUp() {\r
childElementsFile = data_path + "signature/SAML1Request.xml";\r
- SAMLObjectBaseTestCase::setUp();\r
- string keypath=data_path + "key.pem";\r
- BIO* in=BIO_new(BIO_s_file_internal());\r
- if (in && BIO_read_filename(in,keypath.c_str())>0) {\r
- EVP_PKEY* pkey=PEM_read_bio_PrivateKey(in, NULL, NULL, NULL);\r
- if (pkey) {\r
- m_key=new OpenSSLCryptoKeyRSA(pkey);\r
- EVP_PKEY_free(pkey);\r
- }\r
- }\r
- if (in) BIO_free(in);\r
- TS_ASSERT(m_key!=NULL);\r
-\r
- string certpath=data_path + "cert.pem";\r
- in=BIO_new(BIO_s_file_internal());\r
- if (in && BIO_read_filename(in,certpath.c_str())>0) {\r
- X509* x=NULL;\r
- while (x=PEM_read_bio_X509(in,NULL,NULL,NULL)) {\r
- m_certs.push_back(new OpenSSLCryptoX509(x));\r
- X509_free(x);\r
- }\r
- }\r
- if (in) BIO_free(in);\r
- TS_ASSERT(m_certs.size()>0);\r
+ SAMLSignatureTestBase::setUp();\r
}\r
\r
void tearDown() {\r
- SAMLObjectBaseTestCase::tearDown();\r
- delete m_key;\r
- for_each(m_certs.begin(),m_certs.end(),xmltooling::cleanup<XSECCryptoX509>());\r
+ SAMLSignatureTestBase::tearDown();\r
}\r
\r
void testSignature() {\r
* limitations under the License.\r
*/\r
\r
-#include "internal.h"\r
+#include "signature/SAMLSignatureTestBase.h"\r
+\r
#include <saml/saml1/core/Protocols.h>\r
-#include <saml/signature/SignatureProfileValidator.h>\r
-#include <xmltooling/signature/SignatureValidator.h>\r
\r
#include <fstream>\r
-#include <openssl/pem.h>\r
-#include <xercesc/util/XMLUniDefs.hpp>\r
-#include <xsec/enc/XSECKeyInfoResolverDefault.hpp>\r
-#include <xsec/enc/OpenSSL/OpenSSLCryptoX509.hpp>\r
-#include <xsec/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp>\r
-#include <xsec/enc/XSECCryptoException.hpp>\r
-#include <xsec/framework/XSECException.hpp>\r
\r
using namespace opensaml::saml1p;\r
using namespace opensaml::saml1;\r
-using namespace xmlsignature;\r
\r
-class _addcert : public std::binary_function<X509Data*,XSECCryptoX509*,void> {\r
-public:\r
- void operator()(X509Data* bag, XSECCryptoX509* cert) const {\r
- safeBuffer& buf=cert->getDEREncodingSB();\r
- X509Certificate* x=X509CertificateBuilder::buildX509Certificate();\r
- x->setValue(buf.sbStrToXMLCh());\r
- bag->getX509Certificates().push_back(x);\r
- }\r
-};\r
-\r
-class SAML1ResponseTest : public CxxTest::TestSuite, public SAMLObjectBaseTestCase {\r
- XSECCryptoKey* m_key;\r
- vector<XSECCryptoX509*> m_certs;\r
+class SAML1ResponseTest : public CxxTest::TestSuite, public SAMLSignatureTestBase {\r
public:\r
void setUp() {\r
childElementsFile = data_path + "signature/SAML1Response.xml";\r
- SAMLObjectBaseTestCase::setUp();\r
- string keypath=data_path + "key.pem";\r
- BIO* in=BIO_new(BIO_s_file_internal());\r
- if (in && BIO_read_filename(in,keypath.c_str())>0) {\r
- EVP_PKEY* pkey=PEM_read_bio_PrivateKey(in, NULL, NULL, NULL);\r
- if (pkey) {\r
- m_key=new OpenSSLCryptoKeyRSA(pkey);\r
- EVP_PKEY_free(pkey);\r
- }\r
- }\r
- if (in) BIO_free(in);\r
- TS_ASSERT(m_key!=NULL);\r
-\r
- string certpath=data_path + "cert.pem";\r
- in=BIO_new(BIO_s_file_internal());\r
- if (in && BIO_read_filename(in,certpath.c_str())>0) {\r
- X509* x=NULL;\r
- while (x=PEM_read_bio_X509(in,NULL,NULL,NULL)) {\r
- m_certs.push_back(new OpenSSLCryptoX509(x));\r
- X509_free(x);\r
- }\r
- }\r
- if (in) BIO_free(in);\r
- TS_ASSERT(m_certs.size()>0);\r
+ SAMLSignatureTestBase::setUp();\r
}\r
\r
void tearDown() {\r
- SAMLObjectBaseTestCase::tearDown();\r
- delete m_key;\r
- for_each(m_certs.begin(),m_certs.end(),xmltooling::cleanup<XSECCryptoX509>());\r
+ SAMLSignatureTestBase::tearDown();\r
}\r
\r
void testSignature() {\r
--- /dev/null
+/*\r
+ * Copyright 2001-2005 Internet2\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+#include "internal.h"\r
+#include <saml/signature/SignatureProfileValidator.h>\r
+#include <xmltooling/signature/SignatureValidator.h>\r
+\r
+\r
+#include <openssl/pem.h>\r
+#include <xsec/enc/XSECKeyInfoResolverDefault.hpp>\r
+#include <xsec/enc/OpenSSL/OpenSSLCryptoX509.hpp>\r
+#include <xsec/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp>\r
+#include <xsec/enc/XSECCryptoException.hpp>\r
+#include <xsec/framework/XSECException.hpp>\r
+\r
+using namespace xmlsignature;\r
+\r
+class _addcert : public std::binary_function<X509Data*,XSECCryptoX509*,void> {\r
+public:\r
+ void operator()(X509Data* bag, XSECCryptoX509* cert) const {\r
+ safeBuffer& buf=cert->getDEREncodingSB();\r
+ X509Certificate* x=X509CertificateBuilder::buildX509Certificate();\r
+ x->setValue(buf.sbStrToXMLCh());\r
+ bag->getX509Certificates().push_back(x);\r
+ }\r
+};\r
+\r
+class SAMLSignatureTestBase : public SAMLObjectBaseTestCase {\r
+protected:\r
+ XSECCryptoKey* m_key;\r
+ vector<XSECCryptoX509*> m_certs;\r
+public:\r
+ void setUp() {\r
+ SAMLObjectBaseTestCase::setUp();\r
+ string keypath=data_path + "key.pem";\r
+ BIO* in=BIO_new(BIO_s_file_internal());\r
+ if (in && BIO_read_filename(in,keypath.c_str())>0) {\r
+ EVP_PKEY* pkey=PEM_read_bio_PrivateKey(in, NULL, NULL, NULL);\r
+ if (pkey) {\r
+ m_key=new OpenSSLCryptoKeyRSA(pkey);\r
+ EVP_PKEY_free(pkey);\r
+ }\r
+ }\r
+ if (in) BIO_free(in);\r
+ TS_ASSERT(m_key!=NULL);\r
+\r
+ string certpath=data_path + "cert.pem";\r
+ in=BIO_new(BIO_s_file_internal());\r
+ if (in && BIO_read_filename(in,certpath.c_str())>0) {\r
+ X509* x=NULL;\r
+ while (x=PEM_read_bio_X509(in,NULL,NULL,NULL)) {\r
+ m_certs.push_back(new OpenSSLCryptoX509(x));\r
+ X509_free(x);\r
+ }\r
+ }\r
+ if (in) BIO_free(in);\r
+ TS_ASSERT(m_certs.size()>0);\r
+ }\r
+\r
+ void tearDown() {\r
+ SAMLObjectBaseTestCase::tearDown();\r
+ delete m_key;\r
+ for_each(m_certs.begin(),m_certs.end(),xmltooling::cleanup<XSECCryptoX509>());\r
+ }\r
+};\r