Set fourth file version digit to signify rebuild.
[shibboleth/cpp-opensaml.git] / samltest / SAMLArtifactCreationTest.h
index 4190dfc..2221002 100644 (file)
@@ -1,85 +1,94 @@
-/*\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/SAMLConfig.h>\r
-#include <saml/saml1/binding/SAMLArtifactType0001.h>\r
-#include <saml/saml1/binding/SAMLArtifactType0002.h>\r
-#include <saml/saml2/binding/SAML2ArtifactType0004.h>\r
-\r
-using namespace opensaml::saml1p;\r
-using namespace opensaml::saml2p;\r
-using namespace opensaml;\r
-using namespace std;\r
-\r
-class SAMLArtifactCreationTest : public CxxTest::TestSuite\r
-{\r
-public:\r
-    string providerIdStr;\r
-    string handle;\r
-    void setUp() {\r
-        if (handle.empty()) {\r
-            providerIdStr = "https://idp.org/SAML";\r
-            SAMLConfig::getConfig().generateRandomBytes(handle,SAMLArtifactType0001::HANDLE_LENGTH);\r
-        }\r
-    }\r
-    void testSAMLArtifactType0001(void) {\r
-        SAMLConfig& conf=SAMLConfig::getConfig();\r
-        string sourceId;\r
-        conf.generateRandomBytes(sourceId,SAMLArtifactType0001::SOURCEID_LENGTH);\r
-        SAMLArtifactType0001 artifact1(sourceId,handle);\r
-        //printResults(artifact1);\r
-\r
-        SAMLArtifactType0001 artifact2(conf.hashSHA1(providerIdStr.c_str()),handle);\r
-        //printResults(artifact2,providerIdStr.c_str());\r
-    }\r
-\r
-    void testSAMLArtifactType0002(void) {\r
-        SAMLArtifactType0002 artifact(providerIdStr,handle);\r
-        //printResults(artifact,providerIdStr.c_str());\r
-    }\r
-\r
-    void testSAMLArtifactType0004(void) {\r
-        SAML2ArtifactType0004 artifact(SAMLConfig::getConfig().hashSHA1(providerIdStr.c_str()),666,handle);\r
-        //printResults(artifact,providerIdStr.c_str());\r
-    }\r
-\r
-    void printResults(SAMLArtifact& artifact, const char* str=NULL) {\r
-        // print heading:\r
-        cout << "Artifact Type " << SAMLArtifact::toHex(artifact.getTypeCode());\r
-        cout << " (size = " << artifact.getBytes().size() << ")" << endl;\r
-    \r
-        // print URI:\r
-        if (str) { \r
-          cout << "URI:     " << str << endl; \r
-        }\r
-        else {\r
-          cout << "URI:     NONE" << endl; \r
-        }\r
-    \r
-        // print hex-encoded artifact:\r
-        cout << "Hex:     " << SAMLArtifact::toHex(artifact.getBytes()) << endl;\r
-    \r
-        // print base64-encoded artifact:\r
-        cout << "Base64:  " << artifact.encode() << endl;\r
-    \r
-        // print ruler:\r
-        cout <<  "         ----------------------------------------------------------------------" << endl;\r
-        cout <<  "         1234567890123456789012345678901234567890123456789012345678901234567890" << endl;\r
-        cout <<  "                  1         2         3         4         5         6         7" << endl;\r
-        cout <<  "         ----------------------------------------------------------------------" << endl;\r
-    }\r
-};\r
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the
+ * License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific
+ * language governing permissions and limitations under the License.
+ */
+
+#include "internal.h"
+#include <saml/SAMLConfig.h>
+#include <saml/saml1/binding/SAMLArtifactType0001.h>
+#include <saml/saml1/binding/SAMLArtifactType0002.h>
+#include <saml/saml2/binding/SAML2ArtifactType0004.h>
+#include <xmltooling/security/SecurityHelper.h>
+
+using namespace opensaml::saml1p;
+using namespace opensaml::saml2p;
+using namespace opensaml;
+using namespace std;
+
+class SAMLArtifactCreationTest : public CxxTest::TestSuite
+{
+public:
+    string providerIdStr;
+    string handle;
+    void setUp() {
+        if (handle.empty()) {
+            providerIdStr = "https://idp.org/SAML";
+            SAMLConfig::getConfig().generateRandomBytes(handle,SAMLArtifactType0001::HANDLE_LENGTH);
+        }
+    }
+    void testSAMLArtifactType0001(void) {
+        SAMLConfig& conf=SAMLConfig::getConfig();
+        string sourceId;
+        conf.generateRandomBytes(sourceId,SAMLArtifactType0001::SOURCEID_LENGTH);
+        SAMLArtifactType0001 artifact1(sourceId,handle);
+        //printResults(artifact1);
+
+        SAMLArtifactType0001 artifact2(
+            SecurityHelper::doHash("SHA1", providerIdStr.data(), providerIdStr.length(), false), handle
+            );
+        //printResults(artifact2,providerIdStr.c_str());
+    }
+
+    void testSAMLArtifactType0002(void) {
+        SAMLArtifactType0002 artifact(providerIdStr,handle);
+        //printResults(artifact,providerIdStr.c_str());
+    }
+
+    void testSAMLArtifactType0004(void) {
+        SAML2ArtifactType0004 artifact(
+            SecurityHelper::doHash("SHA1", providerIdStr.data(), providerIdStr.length(), false), 666, handle
+            );
+        //printResults(artifact,providerIdStr.c_str());
+    }
+
+    void printResults(SAMLArtifact& artifact, const char* str=nullptr) {
+        // print heading:
+        cout << "Artifact Type " << SAMLArtifact::toHex(artifact.getTypeCode());
+        cout << " (size = " << artifact.getBytes().size() << ")" << endl;
+    
+        // print URI:
+        if (str) { 
+          cout << "URI:     " << str << endl; 
+        }
+        else {
+          cout << "URI:     NONE" << endl; 
+        }
+    
+        // print hex-encoded artifact:
+        cout << "Hex:     " << SAMLArtifact::toHex(artifact.getBytes()) << endl;
+    
+        // print base64-encoded artifact:
+        cout << "Base64:  " << artifact.encode() << endl;
+    
+        // print ruler:
+        cout <<  "         ----------------------------------------------------------------------" << endl;
+        cout <<  "         1234567890123456789012345678901234567890123456789012345678901234567890" << endl;
+        cout <<  "                  1         2         3         4         5         6         7" << endl;
+        cout <<  "         ----------------------------------------------------------------------" << endl;
+    }
+};