aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/test
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2015-07-02 07:26:30 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2015-07-02 07:26:30 +0200
commit5bc01dab26425144a41dbece04b642fb963e1315 (patch)
tree543fe5f7b8d576c7e85ba711c1f9bf03d3dc699f /id/server/idserverlib/src/test
parent06e63a4fb89dd92583fc3e72e12750becdd6c8ef (diff)
downloadmoa-id-spss-5bc01dab26425144a41dbece04b642fb963e1315.tar.gz
moa-id-spss-5bc01dab26425144a41dbece04b642fb963e1315.tar.bz2
moa-id-spss-5bc01dab26425144a41dbece04b642fb963e1315.zip
devel
Diffstat (limited to 'id/server/idserverlib/src/test')
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/AuthConfigurationProviderLegacyCompatibilityTest.java109
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/TestLegacyAuthConfigurationProvider.java31
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilderTest.java139
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java216
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/AllTests.java77
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/DOMTreeCompare.java508
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestBuilderTest.java78
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestCompare.java65
-rw-r--r--id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/parser/SAMLResponseParserTest.java227
-rw-r--r--id/server/idserverlib/src/test/java/test/lasttest/Dispatcher.java110
-rw-r--r--id/server/idserverlib/src/test/java/test/lasttest/HostnameVerifierHack.java59
-rw-r--r--id/server/idserverlib/src/test/java/test/lasttest/LasttestClient.java264
-rw-r--r--id/server/idserverlib/src/test/java/test/lasttest/TestThread.java297
13 files changed, 0 insertions, 2180 deletions
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/AuthConfigurationProviderLegacyCompatibilityTest.java b/id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/AuthConfigurationProviderLegacyCompatibilityTest.java
deleted file mode 100644
index 313038e08..000000000
--- a/id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/AuthConfigurationProviderLegacyCompatibilityTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package at.gv.egovnerment.moa.id.config.auth;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-import java.util.Collections;
-
-import org.junit.Test;
-import org.unitils.reflectionassert.ReflectionAssert;
-
-import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
-import at.gv.egovernment.moa.id.commons.config.persistence.Configuration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes;
-import at.gv.egovernment.moa.id.commons.db.dao.config.GeneralConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOASP;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAuth;
-import at.gv.egovernment.moa.id.commons.db.dao.config.PVP2;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Protocols;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SAML1;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SLRequestTemplates;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SecurityLayer;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.VerifyAuthBlock;
-import at.gv.egovernment.moa.id.commons.db.dao.config.VerifyIdentityLink;
-import at.gv.egovernment.moa.id.config.ConfigurationException;
-import at.gv.egovernment.moa.id.config.auth.NewAuthConfigurationProvider;
-import at.gv.egovernment.moa.id.config.auth.data.ProtocolAllowed;
-
-public class AuthConfigurationProviderLegacyCompatibilityTest {
-
- private MOAIDConfiguration getMinimalMoaidConfiguration() {
-
- MOAIDConfiguration moaidConfiguration = new MOAIDConfiguration();
- AuthComponentGeneral authComponentGeneral = new AuthComponentGeneral();
- MOASP moasp = new MOASP();
- VerifyAuthBlock verifyAuthBlock = new VerifyAuthBlock();
- moasp.setVerifyAuthBlock(verifyAuthBlock);
- VerifyIdentityLink verifyIdentityLink = new VerifyIdentityLink();
- moasp.setVerifyIdentityLink(verifyIdentityLink);
- authComponentGeneral.setMOASP(moasp);
- SecurityLayer securityLayer = new SecurityLayer();
- TransformsInfoType transformsInfo = new TransformsInfoType();
- transformsInfo.setFilename("transforms/TransformsInfoAuthBlockTable_DE.xml");
- transformsInfo.setTransformation(new byte[] {});
- securityLayer.setTransformsInfo(Collections.singletonList(transformsInfo));
- authComponentGeneral.setSecurityLayer(securityLayer);
- SLRequestTemplates slRequestTemplates = new SLRequestTemplates();
- moaidConfiguration.setSLRequestTemplates(slRequestTemplates);
- GeneralConfiguration generalConfiguration = new GeneralConfiguration();
- generalConfiguration.setTrustManagerRevocationChecking(Boolean.FALSE);
- generalConfiguration.setPublicURLPreFix("http://test.org");
- authComponentGeneral.setGeneralConfiguration(generalConfiguration);
- moaidConfiguration.setAuthComponentGeneral(authComponentGeneral);
- ChainingModes chainingModes = new ChainingModes();
- moaidConfiguration.setChainingModes(chainingModes);
-
- return moaidConfiguration;
- }
-
- @Test
- public void testGetAllowedProtocolls() throws ConfigurationException {
- MOAIDConfiguration moaidConfiguration = getMinimalMoaidConfiguration();
-
- testGetAllowedProtocolls(moaidConfiguration);
- }
-
- @Test
- public void testGetAllowedProtocollsAll() throws ConfigurationException {
- MOAIDConfiguration moaidConfiguration = getMinimalMoaidConfiguration();
- Protocols protocols = new Protocols();
- SAML1 saml1 = new SAML1();
- saml1.setIsActive(Boolean.TRUE);
- protocols.setSAML1(saml1);
- PVP2 pvp2 = new PVP2();
- pvp2.setIsActive(Boolean.FALSE);
- protocols.setPVP2(pvp2);
- OAuth oAuth = new OAuth();
- oAuth.setIsActive(null);
- protocols.setOAuth(oAuth);
- moaidConfiguration.getAuthComponentGeneral().setProtocols(protocols);
-
- testGetAllowedProtocolls(moaidConfiguration);
- }
-
- public void testGetAllowedProtocolls(MOAIDConfiguration moaidConfiguration) throws ConfigurationException {
-
- TestLegacyAuthConfigurationProvider legacyAuthConfigurationProvider = new TestLegacyAuthConfigurationProvider(moaidConfiguration);
- ProtocolAllowed expectedAllowedProtocols = legacyAuthConfigurationProvider.getAllowedProtocols();
-
- Configuration configuration = createMock(Configuration.class);
- NewAuthConfigurationProvider newAuthConfigurationProvider = new NewAuthConfigurationProvider();
- newAuthConfigurationProvider.setConfiguration(configuration);
-
- expect(configuration.get(MOAIDConfigurationConstants.AUTH_COMPONENT_GENERAL_KEY, AuthComponentGeneral.class)).andReturn(moaidConfiguration.getAuthComponentGeneral());
-
- replay(configuration);
-
- ProtocolAllowed actualAllowedProtocols = newAuthConfigurationProvider.getAllowedProtocols();
-
- verify(configuration);
-
- ReflectionAssert.assertLenientEquals(expectedAllowedProtocols, actualAllowedProtocols);
- }
-
-}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/TestLegacyAuthConfigurationProvider.java b/id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/TestLegacyAuthConfigurationProvider.java
deleted file mode 100644
index 483731179..000000000
--- a/id/server/idserverlib/src/test/java/at/gv/egovnerment/moa/id/config/auth/TestLegacyAuthConfigurationProvider.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package at.gv.egovnerment.moa.id.config.auth;
-
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.config.ConfigurationException;
-import at.gv.egovernment.moa.id.config.auth.JaxBAuthConfigurationProvider;
-
-public class TestLegacyAuthConfigurationProvider extends
- JaxBAuthConfigurationProvider {
-
- private final MOAIDConfiguration moaidConfiguration;
-
- public TestLegacyAuthConfigurationProvider(MOAIDConfiguration moaidConfiguration)
- throws ConfigurationException {
- super();
- this.moaidConfiguration = moaidConfiguration;
- reloadDataBaseConfig();
- }
-
- @SuppressWarnings("unused")
- private TestLegacyAuthConfigurationProvider(String fileName)
- throws ConfigurationException {
- super();
- moaidConfiguration = new MOAIDConfiguration();
- }
-
- @Override
- protected MOAIDConfiguration loadDataBaseConfig() {
- return this.moaidConfiguration;
- }
-
-}
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilderTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilderTest.java
deleted file mode 100644
index df21e17bf..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilderTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.at.gv.egovernment.moa.id.auth.builder;
-
-import java.io.FileInputStream;
-import java.io.RandomAccessFile;
-
-import org.w3c.dom.Element;
-import test.at.gv.egovernment.moa.id.auth.invoke.MOASPSSTestCase;
-
-import at.gv.egovernment.moa.id.auth.builder.VerifyXMLSignatureRequestBuilder;
-import at.gv.egovernment.moa.id.auth.data.CreateXMLSignatureResponse;
-import at.gv.egovernment.moa.id.auth.data.IdentityLink;
-import at.gv.egovernment.moa.id.auth.parser.CreateXMLSignatureResponseParser;
-import at.gv.egovernment.moa.id.auth.parser.InfoboxReadResponseParser;
-import at.gv.egovernment.moa.id.auth.invoke.SignatureVerificationInvoker;
-import at.gv.egovernment.moa.id.config.ConfigurationProvider;
-import at.gv.egovernment.moa.id.config.auth.JaxBAuthConfigurationProvider;
-
-
-
-/**
- * Test case for the signature verification web service.
- *
- * This test requires a running SignatureVerification web service.
- *
- * @author Stefan Knirsch
- * @version $Id$
- */
-public class VerifyXMLSignatureRequestBuilderTest extends MOASPSSTestCase {
-
-
- private SignatureVerificationInvoker caller;
-
- public VerifyXMLSignatureRequestBuilderTest(String name) {
- super(name);
- }
-
- public void setUp() {
- System.setProperty(
- ConfigurationProvider.CONFIG_PROPERTY_NAME,
- "data/test/conf/ConfigurationTest.xml");
- caller = new SignatureVerificationInvoker();
- }
-
- public void testVerifyXMLSignatureRequestBuilderIdentityLink() throws Exception {
-
- RandomAccessFile infoBox = new RandomAccessFile(
- "data/test/xmldata/testperson1/InfoboxReadResponse.xml","r");
- byte[] b = new byte[(int) infoBox.length()];
- infoBox.read(b);
- infoBox.close();
- String xmlInfoboxReadResponse = new String(b, "UTF-8");
-
-
- RandomAccessFile vr = new RandomAccessFile(
- "data/test/xmldata/standard/VerifyXMLSignatureRequestIdentityLink.xml","r");
- b = new byte[(int) vr.length()];
- vr.read(b);
- vr.close();
- String xmlResponse = new String(b, "UTF-8");
-
- InfoboxReadResponseParser irrp = new InfoboxReadResponseParser(xmlInfoboxReadResponse);
- IdentityLink idl = irrp.parseIdentityLink();
- VerifyXMLSignatureRequestBuilder vsrb = new VerifyXMLSignatureRequestBuilder();
- JaxBAuthConfigurationProvider authConf = JaxBAuthConfigurationProvider.getInstance();
-
- Element requestBuild = vsrb.build(idl, authConf.getMoaSpIdentityLinkTrustProfileID());
-
- assertXmlEquals(requestBuild, xmlResponse);
-
- }
-
- public void testVerifyXMLSignature2() throws Exception {
-
- RandomAccessFile s = new RandomAccessFile("data/test/xmldata/standard/CreateXMLSignatureResponse.xml","r");
- byte[] b = new byte[(int) s.length()];
- s.read(b);
- s.close();
- String xmlCreateXMLSignatureResponse = new String(b, "UTF-8");
-
- CreateXMLSignatureResponseParser cXMLsrp = new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureResponse);
- CreateXMLSignatureResponse csr = cXMLsrp.parseResponse();
-
- VerifyXMLSignatureRequestBuilder vsrb = new VerifyXMLSignatureRequestBuilder();
-
- JaxBAuthConfigurationProvider authConf = JaxBAuthConfigurationProvider.getInstance();
-
- Element request = vsrb.build(csr, authConf.getMoaSpAuthBlockVerifyTransformsInfoIDs(), authConf.getMoaSpIdentityLinkTrustProfileID());
-
- // check the result
- assertXmlEquals(request, new FileInputStream("data/test/xmldata/standard/VerifyXMLSignatureRequestCreateXML.xml"));
-
- }
- }
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java
deleted file mode 100644
index c5c17f623..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.at.gv.egovernment.moa.id.auth.invoke;
-
-import java.io.RandomAccessFile;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.id.auth.builder.VerifyXMLSignatureRequestBuilder;
-import at.gv.egovernment.moa.id.auth.data.CreateXMLSignatureResponse;
-import at.gv.egovernment.moa.id.auth.data.IdentityLink;
-import at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse;
-import at.gv.egovernment.moa.id.auth.parser.CreateXMLSignatureResponseParser;
-import at.gv.egovernment.moa.id.auth.parser.InfoboxReadResponseParser;
-import at.gv.egovernment.moa.id.auth.parser.VerifyXMLSignatureResponseParser;
-import at.gv.egovernment.moa.id.auth.invoke.SignatureVerificationInvoker;
-import at.gv.egovernment.moa.id.auth.validator.VerifyXMLSignatureResponseValidator;
-import at.gv.egovernment.moa.id.config.ConfigurationProvider;
-import at.gv.egovernment.moa.id.config.auth.JaxBAuthConfigurationProvider;
-import at.gv.egovernment.moa.id.config.auth.data.DynamicOAAuthParameters;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-
-
-/**
- * Test case for the signature verification web service.
- *
- * This test requires a running SignatureVerification web service.
- *
- * @author Patrick Peck
- * @author Fatemeh Philippi
- * @version $Id$
- */
-public class SignatureVerificationTest extends MOASPSSTestCase {
-
-
- private SignatureVerificationInvoker caller;
-
- public SignatureVerificationTest(String name) {
- super(name);
- }
-
- public void setUp() {
-System.setProperty(
- ConfigurationProvider.CONFIG_PROPERTY_NAME,
- "data/test/conf/ConfigurationTest.xml");
- caller = new SignatureVerificationInvoker();
- }
-
-/* public void testVerifyCMSSignature() throws Exception {
- Element request =
- parseXml("data/test/xml/VCSQ000.xml").getDocumentElement();
- Element result;
-
- // call the service
- result = caller.verifyXMLSignature(request);
-
- // check the result
- assertEquals("VerifyCMSSignatureResponse", result.getTagName());
- }*/
-
- public void testVerifyXMLSignature1() throws Exception {
-
- //Momentan zeigt die Konfiguration als Endpunkt aus localhost:8081 zum
- //Protokollieren per TCPMon... der ECHT Endpunkt ist 10.16.46.108:8080
- RandomAccessFile s =
- new RandomAccessFile(
- "data/test/xmldata/testperson1/InfoboxReadResponse.xml","r");
- byte[] b = new byte[(int) s.length()];
- s.read(b);
- String xmlInfoboxReadResponse =new String(b,"UTF8");
-
- InfoboxReadResponseParser irrp = new InfoboxReadResponseParser(xmlInfoboxReadResponse);
- IdentityLink idl = irrp.parseIdentityLink();
- VerifyXMLSignatureRequestBuilder vsrb = new VerifyXMLSignatureRequestBuilder();
-
- JaxBAuthConfigurationProvider authConf = JaxBAuthConfigurationProvider.getInstance();
-
- Element request = vsrb.build(idl, authConf.getMoaSpIdentityLinkTrustProfileID());
- s =new RandomAccessFile("D://PatricksVerifyXMLSignatureRequestWithInfoboxReadResponse.xml","rw");
- s.write(DOMUtils.serializeNode(request).getBytes("UTF-8"));
- s.close();
-// Element request = DOMUtils.parseDocument(vsrb.build(xmlInfoboxReadResponse,"TrustProfile1"),false,null,null).getDocumentElement();
-// Element request = DOMUtils.parseDocument(xmlInfoboxReadResponse,false,null,null).getDocumentElement();
-// call the service
- Element response = caller.verifyXMLSignature(request);
- VerifyXMLSignatureResponseParser vParser = new VerifyXMLSignatureResponseParser(response);
- VerifyXMLSignatureResponse vData = vParser.parseData();
- VerifyXMLSignatureResponseValidator vValidate = VerifyXMLSignatureResponseValidator.getInstance();
-
- DynamicOAAuthParameters oaParam = new DynamicOAAuthParameters();
- oaParam.setBusinessService(true);
- vValidate.validate(vData, authConf.getIdentityLinkX509SubjectNames(), VerifyXMLSignatureResponseValidator.CHECK_IDENTITY_LINK, oaParam);
- vValidate.validateCertificate(vData,idl);
-
- // check the result
- assertXmlEquals(response, request);
-
- }
-
- public void testVerifyXMLSignature2() throws Exception {
- // Pr�ft den 2. Aufruf mit dem CreateXMLSIgnatureResponse als Parameter
- //Momentan zeigt die Konfiguration als Endpunkt aus localhost:8081 zum
- //Protokollieren per TCPMon... der ECHT Endpunkt ist 10.16.46.108:8080
- RandomAccessFile s =
- new RandomAccessFile(
- "data/test/xmldata/standard/CreateXMLSignatureResponse.xml","r");
- byte[] b = new byte[(int) s.length()];
- s.read(b);
- String xmlCreateXMLSignatureResponse = new String(b, "UTF8");
-
- CreateXMLSignatureResponseParser cXMLsrp = new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureResponse);
-// CreateXMLSignatureResponseParser cXMLsrp = new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureResponse);
- CreateXMLSignatureResponse csr = cXMLsrp.parseResponse();
-
- VerifyXMLSignatureRequestBuilder vsrb = new VerifyXMLSignatureRequestBuilder();
-
- JaxBAuthConfigurationProvider authConf = JaxBAuthConfigurationProvider.getInstance();
-
- Element request = vsrb.build(csr, authConf.getMoaSpAuthBlockVerifyTransformsInfoIDs(), authConf.getMoaSpIdentityLinkTrustProfileID());
- // Element request = DOMUtils.parseDocument(vsrb.build(xmlInfoboxReadResponse,"TrustProfile1"),false,null,null).getDocumentElement();
-// Element request = DOMUtils.parseDocument(xmlInfoboxReadResponse,false,null,null).getDocumentElement();
- Element result;
-/*s =new RandomAccessFile("D://PatricksVerifyXMLSignatureRequestWithAuthBlock.xml","rw");
- s.write(DOMUtils.serializeNode(request).getBytes("UTF-8"));
- s.close();*/
- // call the service
- result = caller.verifyXMLSignature(request);
- // check the result
- assertEquals("VerifyXMLSignatureResponse", result.getTagName());
-
- }
-
-
- public void testParseCreateXMLSignatureResponse() throws Exception {
-
- //Sp�ter soll die Datei direkt vom Server geholt werden...
-
- RandomAccessFile s =
- new RandomAccessFile(
- "data/test/xmldata/standard/CreateXMLSignatureResponse.xml",
-
- "r");
- byte[] b = new byte[(int) s.length()];
- s.read(b);
- String xmlCreateXMLSignatureResponse = new String(b, "UTF-8");
-
- CreateXMLSignatureResponseParser cXMLsrp = new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureResponse);
- CreateXMLSignatureResponse csr = cXMLsrp.parseResponse();
-
- }
-
- public void testParseVerifyXMLSignatureResponse() throws Exception {
-
- //Sp�ter soll die Datei direkt vom Server geholt werden...
-
- RandomAccessFile s =
- new RandomAccessFile(
- "data/test/xmldata/standard/VerifyXMLSignaterResponse.xml",
-
- "r");
- byte[] b = new byte[(int) s.length()];
- s.read(b);
- String xmlVerifyXMLSignatureResponse = new String(b, "UTF-8");
-
- VerifyXMLSignatureResponseParser vXMLsrp = new VerifyXMLSignatureResponseParser(xmlVerifyXMLSignatureResponse);
- VerifyXMLSignatureResponse vsr = vXMLsrp.parseData();
-
- }
-
-
- }
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/AllTests.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/AllTests.java
deleted file mode 100644
index 8386fc52f..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/AllTests.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-///*
-// * Copyright 2003 Federal Chancellery Austria
-// * MOA-ID has been developed in a cooperation between BRZ, the Federal
-// * Chancellery Austria - ICT staff unit, and Graz University of Technology.
-// *
-// * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
-// * the European Commission - subsequent versions of the EUPL (the "Licence");
-// * You may not use this work except in compliance with the Licence.
-// * You may obtain a copy of the Licence at:
-// * http://www.osor.eu/eupl/
-// *
-// * Unless required by applicable law or agreed to in writing, software
-// * distributed under the Licence is distributed on an "AS IS" basis,
-// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// * See the Licence for the specific language governing permissions and
-// * limitations under the Licence.
-// *
-// * This product combines work with different licenses. See the "NOTICE" text
-// * file for details on the various modules and licenses.
-// * The "NOTICE" text file is part of the distribution. Any derivative works
-// * that you distribute must include a readable copy of the "NOTICE" text file.
-// */
-//
-//
-//package test.at.gv.egovernment.moa.id.proxy;
-//
-//import test.at.gv.egovernment.moa.id.proxy.builder.SAMLRequestBuilderTest;
-//import test.at.gv.egovernment.moa.id.proxy.parser.SAMLResponseParserTest;
-//import junit.awtui.TestRunner;
-//import junit.framework.Test;
-//import junit.framework.TestSuite;
-//
-///**
-// * @author Paul Ivancsics
-// * @version $Id$
-// */
-//public class AllTests {
-//
-// public static Test suite() {
-// TestSuite suite = new TestSuite();
-//
-// suite.addTestSuite(SAMLRequestBuilderTest.class);
-// suite.addTestSuite(SAMLResponseParserTest.class);
-//
-// return suite;
-// }
-//
-// public static void main(String[] args) {
-// try {
-// TestRunner.run(AllTests.class);
-// } catch (Exception e) {
-// e.printStackTrace();
-// }
-// }
-//}
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/DOMTreeCompare.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/DOMTreeCompare.java
deleted file mode 100644
index d2af95855..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/DOMTreeCompare.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.at.gv.egovernment.moa.id.proxy.builder;
-
-import java.io.PrintStream;
-import java.util.ArrayList;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-import at.gv.egovernment.moa.util.Base64Utils;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class DOMTreeCompare {
-
- boolean debug = true;
-
- private static PrintStream Log = null;
-
- static
- {
- Log = System.out;
- }
-
- public boolean compareElements(Element root1, Element root2)
- {
- //Log.println("----- Compare Elements:"+root1.getNodeName()+" "+root2.getNodeName());
- filterTree(root1);
- filterTree(root2);
- return compareNodes(root1,root2,0,"root/",false);
- }
-
- private boolean compareNodes(Node n1, Node n2, int level,String path,boolean attribute)
- {
- /*try {
- Log.println(DOMUtils.serializeNode(n1));
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }*/
- boolean equal = false;
- //Log.println("----- Compare Node "+level+":"+n1+" "+n2);
- //Log.println("----- Compare Node "+level+":"+n1.getNodeName()+" "+n2.getNodeName());
- //Log.println("----- Checking:"+path+getPathString(n1));
- NodeList nl1 = n1.getChildNodes();
- NodeList nl2 = n2.getChildNodes();
-
- int size1 = nl1.getLength();
- int size2 = nl2.getLength();
-
- if(debug)display_one(n1);
- if(debug)display_one(n2);
-
-
- if(debug)
- if(n1.getNodeName().equals("Base64Content") && n2.getNodeName().equals("Base64Content"))
- {
- try {
- Log.println("CONT:"+new String(Base64Utils.decode(strip(n1.getChildNodes().item(0).getNodeValue()),false)));
- Log.println("CONT:"+new String(Base64Utils.decode(strip(n2.getChildNodes().item(0).getNodeValue()),false)));
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- if(size1 != size2)
- {
- Log.println("----- Anzahl der Kinder nicht gleich:"+path+getPathString(n1)+":"+getPathString(n2));
- return false;
- }
-
- equal = compareNodeExact(n1,n2,level,path+getPathString(n1)+"/");
- if(!equal)
- {
- Log.println("----- Knoten sind nicht identisch:"+path+getPathString(n1));
- return false;
- }
-
- if(n1.hasAttributes() || n2.hasAttributes())
- {
- equal = compareNodeAttriubtes(n1,n2,level+1,path+getPathString(n1)+"/(a)");
- if(!equal)
- {
- Log.println("----- Attribute stimmen nicht �berein:"+path+getPathString(n1));
- return false;
- }
- }
- if(size1==0)
- {
- return true;
- }
-
- for(int counter=0;counter<size1;counter++)
- {
- boolean found = false;
- Node comp_n1 = nl1.item(counter);
-
- //if(comp_n1==null) return false;
-
- Node comp_n2 = null;
- size2 = nl2.getLength();
- for(int counter2=0;counter2<size2;counter2++)
- {
- comp_n2 = nl2.item(counter2);
-
- /*equal = compareNodeExact(comp_n1,comp_n2,level+1);
- if(equal) return false;*/
- //Log.println("COMP_N1:"+comp_n1);
- //Log.println("COMP_N2:"+comp_n2);
- equal = compareNodes(comp_n1,comp_n2,level+1,path+getPathString(comp_n1)+"/",false);
- if(equal)
- {
- n2.removeChild(comp_n2);
- counter2=size2;
- nl2 = n2.getChildNodes();
- size2 = nl2.getLength();
- }
-
- }
-
- if(!equal)
- {
- Log.println("----- Keine �bereinstimmung gefunden:"+path+getPathString(comp_n1));
- return false;
- }
- }
- return true;
- }
-
- private boolean compareNodeExact(Node n1,Node n2,int level,String path)
- {
- if(n1.getNodeType() == Node.TEXT_NODE)
- {
- Text textnode = (Text)n1;
- /*Log.println("----- *****"+textnode.getNodeName());
- Log.println("----- *****"+textnode.getParentNode().getNodeName());
- Log.println("----- *****"+textnode.getNodeValue());*/
- }
-
- //Log.println("----- Checking:"+path);
- String n1_name = n1.getNodeName();
- String n2_name = n2.getNodeName();
- /*Log.println("----- !!!!!"+n1.getNodeName());
- Log.println("----- !!!!!"+n1.getNodeValue());
- Log.println("----- !!!!!"+n1.getLocalName());
- Log.println("----- !!!!!"+n1.getPrefix());
- Log.println("----- !!!!!"+n1.getNextSibling());
- Log.println("----- !!!!!"+n1.getPreviousSibling());*/
-
- //Log.println("----- Compare Node "+level+":"+n1_name+" "+n2_name);
- if(!((n1_name==null && n2_name==null) ||
- (n1_name!=null && n2_name!=null && n1_name.equals(n2_name))))
- {
- Log.println("----- Name stimmt nicht �berein:"+path);
- return false;
- }
-
- //Log.println("----- Compare Node "+level+":"+n1.getNodeType()+" "+n2.getNodeType());
- if(n1.getNodeType() != n2.getNodeType())
- {
- Log.println("----- Knotentyp stimmt nicht �berein:"+path);
- return false;
- }
-
- String n1_ns = n1.getPrefix();
- String n2_ns = n2.getPrefix();
- //Log.println("----- Compare Node "+level+":"+n1_ns+" "+n2_ns);
- if(!((n1_ns==null && n2_ns==null) ||
- (n1_ns!=null && n2_ns!=null && n1_ns.equals(n2_ns))))
- {
- Log.println("----- NameSpace stimmt nicht �berein:"+path);
- return false;
- }
-
- String n1_value = n1.getNodeValue();
- String n2_value = n2.getNodeValue();
-
- boolean special = false;
- special = specialValues(n1_value,n2_value,path);
- if(special) return true;
-
- //Log.println("----- Compare Node "+level+":"+n1_value+" "+n2_value);
- if(!((n1_value==null && n2_value==null) ||
- (n1_value!=null && n2_value!=null && n1_value.equals(n2_value))))
- {
- Log.println("----- Wert stimmt nicht �berein:"+path);
- Log.println("----- Value1:\n"+n1_value);
- Log.println("----- Value2:\n"+n2_value);
- return false;
- }
-
-
- return true;
- }
-
- private boolean compareNodeAttriubtesWithoutSize(Node n1, Node n2, int level,String path)
- {
- return true;
- }
-
- private boolean compareNodeAttriubtes(Node n1, Node n2, int level,String path)
- {
- //Log.println("----- Compare NodeAttributes "+level+":"+n1.getNodeName()+" "+n2.getNodeName());
- Element n1elem = (Element)n1;
- Element n2elem = (Element)n2;
-
- NamedNodeMap nnm1 = n1.getAttributes();
- NamedNodeMap nnm2 = n2.getAttributes();
-
- int size1 = 0;
- int size2 = 0;
-
- boolean specialattrs = specialAttributesSize(path);
-
- if(!specialattrs)
- {
-
- if(nnm1==null && nnm2==null) return true;
- if(nnm1==null || nnm2==null)
- {
- Log.println("----- Anzahl der Attribute nicht gleich:"+path+":"+getPathString(n1));
- return false;
- }
- size1 = nnm1.getLength();
- size2 = nnm2.getLength();
-
- if(size1 != size2)
- {
- Log.println("----- Anzahl der Attribute nicht gleich:"+path+":"+getPathString(n1));
- return false;
- }
-
- }
- else
- {
- return compareNodeAttriubtesWithoutSize(n1,n2,level,path);
- }
-
- for(int counter=0;counter<size1;counter++)
- {
- Node attribute_node1 = nnm1.item(counter);
- Node attribute_node2 = nnm2.item(counter);
-
- String attr1_name = attribute_node1.getNodeName();
- String attr2_name = attribute_node2.getNodeName();
-
- String value1 = n1elem.getAttribute(attr1_name);
- String value2 = n2elem.getAttribute(attr2_name);
-
- boolean special = false;
-
- special = specialAttributes(path,attr1_name,value1,attr2_name,value2);
- if(special)
- {
- return special;
- }
-
- if(!value1.equals(value2))
- {
- Log.println("----- Keine �bereinstimmung gefunden:"+path+getPathString(n1));
- return false;
- }
- }
-
- return true;
- }
-
- private boolean checkNode(Node base,String name)
- {
- if(base.getNodeName().equals(name))
- {
- return true;
- }
-
- NodeList children = base.getChildNodes();
- int size = children.getLength();
- for(int counter=0;counter<size;counter++)
- {
- boolean found = checkNode(children.item(counter),name);
- if(found) return true;
- }
- return false;
- }
-
- private void display_one(Node base)
- {
- int att_size=0;
- if(base.getAttributes()!=null)
- {
- att_size=base.getAttributes().getLength();
- }
- if(base.getNodeName().equals("#text"))
- Log.println(base.getNodeName()+base.getChildNodes().getLength()+":"+att_size+" ("+base.getNodeValue()+")");
- else
- Log.println(base.getNodeName()+base.getChildNodes().getLength()+":"+att_size);
- }
-
- private void display(Node base)
- {
- display(base,1);
- }
-
- private void display(Node base,int level)
- {
- String spacer = "";
- for(int counter=0;counter<level;counter++)
- {
- spacer+=" ";
- }
-
- int att_size=0;
- if(base.getAttributes()!=null)
- {
- att_size=base.getAttributes().getLength();
- }
- if(base.getNodeName().equals("#text"))
- Log.println(spacer+base.getNodeName()+base.getChildNodes().getLength()+":"+att_size+" ("+base.getNodeValue()+")");
- else
- Log.println(spacer+base.getNodeName()+base.getChildNodes().getLength()+":"+att_size);
-
- NodeList children = base.getChildNodes();
- int size = children.getLength();
- for(int counter=0;counter<size;counter++)
- {
- display(children.item(counter),level+1);
- }
- }
-
- private void filterTree(Node base)
- {
- ArrayList removeList = new ArrayList();
-
- NodeList children = base.getChildNodes();
- int size = children.getLength();
- for(int counter=0;counter<size;counter++)
- {
- Node child1 = children.item(counter);
- if(child1.getNodeType() == Node.TEXT_NODE && child1.getNodeValue().trim().equals(""))
- {
- removeList.add(child1);
- }
- }
-
- size = removeList.size();
- for(int counter=0;counter<size;counter++)
- {
- base.removeChild((Node)removeList.get(counter));
- }
-
- children = base.getChildNodes();
- size = children.getLength();
- for(int counter=0;counter<size;counter++)
- {
- filterTree(children.item(counter));
- }
-
- }
-
- private String getPathString(Node n)
- {
- if(n.getNodeType()==Node.TEXT_NODE)
- {
- return n.getParentNode().getNodeName()+"(text)";
- }
- else
- {
- return n.getNodeName();
- }
-
- }
-
- public boolean specialAttributes(String path,String attr1_name,String value1,String attr2_name,String value2)
- {
- //if(value1.startsWith("reference-") && value2.startsWith("reference-")) return true;
- //if(value1.startsWith("signature-") && value2.startsWith("signature-")) return true;
-
- return false;
- }
-
- public boolean specialAttributesSize(String path)
- {
- //if(path.endsWith("/xsl:template/(a)")) return true;
- return false;
- }
-
- public boolean specialValues(String value1,String value2,String path)
- {
-
- //Log.println(path);
- /*if(ignoreSignatureValue)
- {
- if(path.endsWith("/dsig:SignatureValue(text)/"))
- {
- return true;
- }
- }
- else
- {
- if(path.endsWith("/dsig:SignatureValue(text)/"))
- {
- String stripped_1 = strip(value1);
- String stripped_2 = strip(value2);
- return stripped_1.equals(stripped_2);
- }
- }*/
-
- return false;
- }
-
- private String strip(String input)
- {
- String output = replaceStringAll(input," ","");
- output = replaceStringAll(output,"\n","");
- output = replaceStringAll(output,"\r","");
- return output;
- }
-
- private static String replaceStringAll(
- String input,
- String oldPart,
- String newPart)
- {
-
- String erg = null;
-
- int pos = input.indexOf(oldPart);
- if(pos==-1) return input;
-
- while(true)
- {
-
- //First Part
- pos = input.indexOf(oldPart);
- if(pos==-1) break;
- erg = input.substring(0, pos);
-
- //Insert new Part
- erg += newPart;
-
- //insert REST
- erg
- += input.substring(
- input.indexOf(oldPart) + oldPart.length(),
- input.length());
-
- input = erg;
- }
- return erg;
- }
-
-}
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestBuilderTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestBuilderTest.java
deleted file mode 100644
index 2e676a00b..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestBuilderTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.at.gv.egovernment.moa.id.proxy.builder;
-
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.id.UnitTestCase;
-import at.gv.egovernment.moa.id.auth.builder.SAMLArtifactBuilder;
-import at.gv.egovernment.moa.id.proxy.builder.SAMLRequestBuilder;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-/*
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class SAMLRequestBuilderTest extends UnitTestCase {
-
- public SAMLRequestBuilderTest(String arg0) {
- super(arg0);
- }
-
- public void testBuild() throws Exception {
- String requestID = "123";
- String samlArtifact = new SAMLArtifactBuilder().build("https://moa.gv.at/auth/", "12345678901234567890", null);
- String REQUEST_SHOULD = "<samlp:Request xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\" RequestID=\"" +
- requestID + "\" MajorVersion=\"1\" MinorVersion=\"0\" IssueInstant=\"IGNORE\">" +
- "<samlp:AssertionArtifact>" + samlArtifact + "</samlp:AssertionArtifact>" +
- "</samlp:Request>";
- Element request = new SAMLRequestBuilder().build(requestID, samlArtifact);
- Element requestShould = DOMUtils.parseDocument(REQUEST_SHOULD, false, ALL_SCHEMA_LOCATIONS, null).getDocumentElement();
- assertTrue(new SAMLRequestCompare().compareElements(requestShould, request));
- }
-
-}
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestCompare.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestCompare.java
deleted file mode 100644
index e595ca86c..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestCompare.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.at.gv.egovernment.moa.id.proxy.builder;
-
-/*
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class SAMLRequestCompare extends test.at.gv.egovernment.moa.id.proxy.builder.DOMTreeCompare {
-
-
- /*
- * @see at.gv.egovernment.moa.util.SAMLRequestCompare#specialAttributes(java.lang.String, java.lang.String)
- */
- public boolean specialAttributes(String path,String attr1_name,String value1,String attr2_name,String value2) {
- if(attr1_name.equals("IssueInstant"))
- return true;
- return false;
- }
-
-}
diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/parser/SAMLResponseParserTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/parser/SAMLResponseParserTest.java
deleted file mode 100644
index 3b4beb7b7..000000000
--- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/proxy/parser/SAMLResponseParserTest.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.at.gv.egovernment.moa.id.proxy.parser;
-
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.id.UnitTestCase;
-
-import at.gv.egovernment.moa.id.data.AuthenticationData;
-import at.gv.egovernment.moa.id.data.SAMLStatus;
-import at.gv.egovernment.moa.id.protocols.saml1.SAML1AuthenticationData;
-import at.gv.egovernment.moa.id.proxy.parser.SAMLResponseParser;
-import at.gv.egovernment.moa.util.Constants;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-/*
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class SAMLResponseParserTest extends UnitTestCase {
-
- public SAMLResponseParserTest(String arg0) {
- super(arg0);
- }
-
- public void testParse() throws Exception {
- String samlResponse =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<samlp:Response xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\" xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\"" +
- " ResponseID=\"\" MajorVersion=\"1\" MinorVersion=\"0\" IssueInstant=\"2003-03-29T06:00:00+02:00\">" +
- "<samlp:Status>" +
- "<samlp:StatusCode Value=\"samlp:Success\"><samlp:StatusCode Value=\"samlp:Success\"></samlp:StatusCode></samlp:StatusCode>" +
- "<samlp:StatusMessage>Ollas leiwand</samlp:StatusMessage>" +
- "</samlp:Status>" +
-"<saml:Assertion xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:pr=\"http://reference.e-government.gv.at/namespace/persondata/20020228#\" xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\" MajorVersion=\"1\" MinorVersion=\"0\" AssertionID=\"-4633313027464114584\" Issuer=\"http://localhost:8080/moa-id-auth/\" IssueInstant=\"2003-04-02T14:55:42+02:00\">" +
- "<saml:AttributeStatement>" +
- "<saml:Subject>" +
- "<saml:NameIdentifier NameQualifier=\"http://reference.e-government.gv.at/names/vpk/20020221#\">MTk2OC0xMC0yMmdi</saml:NameIdentifier>" +
- "<saml:SubjectConfirmation>" +
- "<saml:ConfirmationMethod>http://reference.e-government.gv.at/namespace/moa/20020822#cm</saml:ConfirmationMethod>" +
- "<saml:SubjectConfirmationData>" +
- "<saml:Assertion xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\" MajorVersion=\"1\" MinorVersion=\"0\" AssertionID=\"any\" Issuer=\"Hermann Muster\" IssueInstant=\"2003-04-02T14:55:27+02:00\">" +
- "<saml:AttributeStatement>" +
- "<saml:Subject>" +
- "<saml:NameIdentifier>http://localhost:8080/moa-id-auth/</saml:NameIdentifier>" +
- "</saml:Subject>" +
- "<saml:Attribute AttributeName=\"Gesch�ftsbereich\" AttributeNamespace=\"http://reference.e-government.gv.at/namespace/moa/20020822#\">" +
- "<saml:AttributeValue>gb</saml:AttributeValue>" +
- "</saml:Attribute>" +
- "<saml:Attribute AttributeName=\"OA\" AttributeNamespace=\"http://reference.e-government.gv.at/namespace/moa/20020822#\">" +
- "<saml:AttributeValue>https://localhost:9443/</saml:AttributeValue>" +
- "</saml:Attribute>" +
- "</saml:AttributeStatement>" +
- "</saml:Assertion>" +
- "<saml:Assertion AssertionID=\"zmr.bmi.gv.at-AssertionID-2003-02-12T20:28:34.474\" IssueInstant=\"2003-02-12T20:28:34.474\" Issuer=\"http://zmr.bmi.gv.at/zmra/names#Issuer\" MajorVersion=\"1\" MinorVersion=\"0\" xmlns:pr=\"http://reference.e-government.gv.at/namespace/persondata/20020228#\" xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
- "<saml:AttributeStatement>" +
- "<saml:Subject>" +
- "<saml:SubjectConfirmation>" +
- "<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>" +
- "<saml:SubjectConfirmationData>" +
- "<pr:Person xsi:type=\"pr:PhysicalPersonType\">" +
- "<pr:Identification>" +
- "<pr:Value>123456789012</pr:Value>" +
- "<pr:Type>http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl</pr:Type>" +
- "</pr:Identification>" +
- "<pr:Name>" +
- "<pr:GivenName>Hermann</pr:GivenName>" +
- "<pr:FamilyName primary=\"undefined\">Muster</pr:FamilyName>" +
- "</pr:Name>" +
- "<pr:DateOfBirth>1968-10-22</pr:DateOfBirth>" +
- "</pr:Person>" +
- "</saml:SubjectConfirmationData>" +
- "</saml:SubjectConfirmation>" +
- "</saml:Subject>" +
- "<saml:Attribute AttributeName=\"CitizenPublicKey\" AttributeNamespace=\"http://www.buergerkarte.at/namespaces/personenbindung/20020506#\">" +
- "<saml:AttributeValue>" +
- "<dsig:RSAKeyValue xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">" +
- "<dsig:Modulus>0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a f2daYYuO8dycQw3xg6U=</dsig:Modulus>" +
- "<dsig:Exponent>AQAB</dsig:Exponent>" +
- "</dsig:RSAKeyValue>" +
- "</saml:AttributeValue>" +
- "</saml:Attribute>" +
- "<saml:Attribute AttributeName=\"CitizenPublicKey\" AttributeNamespace=\"http://www.buergerkarte.at/namespaces/personenbindung/20020506#\">" +
- "<saml:AttributeValue>" +
- "<dsig:RSAKeyValue xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">" +
- "<dsig:Modulus>i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn pIpdAwR9sw5xnIvTySc=</dsig:Modulus>" +
- "<dsig:Exponent>AQAB</dsig:Exponent>" +
- "</dsig:RSAKeyValue>" +
- "</saml:AttributeValue>" +
- "</saml:Attribute>" +
- "</saml:AttributeStatement>" +
- "<dsig:Signature xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">" +
- "<dsig:SignedInfo>" +
- "<dsig:CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>" +
- "<dsig:SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>" +
- "<dsig:Reference URI=\"\">" +
- "<dsig:Transforms>" +
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">" +
- "<dsig:XPath>not(ancestor-or-self::pr:Identification)</dsig:XPath>" +
- "</dsig:Transform>" +
- "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>" +
- "</dsig:Transforms>" +
- "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>" +
- "<dsig:DigestValue>s7TfoZrYo36OMdlxGxuIfAw/wr8=</dsig:DigestValue>" +
- "</dsig:Reference>" +
- "<dsig:Reference Type=\"http://www.w3.org/2000/09/xmldsig#Manifest\" URI=\"\">" +
- "<dsig:Transforms>" +
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">" +
- "<dsig:XPath>ancestor-or-self::dsig:Manifest</dsig:XPath>" +
- "</dsig:Transform>" +
- "</dsig:Transforms>" +
- "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>" +
- "<dsig:DigestValue>dO+RSn4xLHT3cuq8uopFtZyUBqo=</dsig:DigestValue>" +
- "</dsig:Reference>" +
- "</dsig:SignedInfo>" +
- "<dsig:SignatureValue>MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz 5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP 3mZkRYWJDxxsVzI7E+Y=</dsig:SignatureValue>" +
- "<dsig:KeyInfo>" +
- "<dsig:X509Data>" +
- "<dsig:X509Certificate>MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 +UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 Btxup/kgjGMnnS7C</dsig:X509Certificate>" +
- "<dsig:X509Certificate>MIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia 2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv 7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ik</dsig:X509Certificate>" +
- "<dsig:X509Certificate>MIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB /wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 kFfp23o/juVtJNw=</dsig:X509Certificate>" +
- "</dsig:X509Data>" +
- "</dsig:KeyInfo>" +
- "<dsig:Object>" +
- "<dsig:Manifest>" +
- "<dsig:Reference URI=\"\">" +
- "<dsig:Transforms>" +
- "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>" +
- "</dsig:Transforms>" +
- "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>" +
- "<dsig:DigestValue>BqzfCB7dNg4G3u4YaxpD1tALdKI=</dsig:DigestValue>" +
- "</dsig:Reference>" +
- "</dsig:Manifest>" +
- "</dsig:Object>" +
- "</dsig:Signature>" +
- "</saml:Assertion>" +
- "</saml:SubjectConfirmationData>" +
- "</saml:SubjectConfirmation>" +
- "</saml:Subject>" +
- "<saml:Attribute AttributeName=\"PersonData\" AttributeNamespace=\"http://reference.e-government.gv.at/namespace/persondata/20020228#\">" +
- "<saml:AttributeValue>" +
- "<pr:Person xsi:type=\"pr:PhysicalPersonType\">" +
- "<pr:Identification>" +
- "<pr:Value>123456789012</pr:Value>" +
- "<pr:Type>http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl</pr:Type>" +
- "</pr:Identification>" +
- "<pr:Name>" +
- "<pr:GivenName>Hermann</pr:GivenName>" +
- "<pr:FamilyName primary=\"undefined\">Muster</pr:FamilyName>" +
- "</pr:Name>" +
- "<pr:DateOfBirth>1968-10-22</pr:DateOfBirth>" +
- "</pr:Person>" +
- "</saml:AttributeValue>" +
- "</saml:Attribute>" +
- "<saml:Attribute AttributeName=\"isQualifiedCertificate\" AttributeNamespace=\"http://reference.e-government.gv.at/namespace/moa/20020822#\">" +
- "<saml:AttributeValue>true</saml:AttributeValue>" +
- "</saml:Attribute>" +
- "</saml:AttributeStatement>" +
-"</saml:Assertion>" +
- "</samlp:Response>";
-
- Element samlResponseElem =
- DOMUtils.parseDocument(samlResponse, true, Constants.ALL_SCHEMA_LOCATIONS, null).getDocumentElement();
- SAMLResponseParser parser = new SAMLResponseParser(samlResponseElem);
- SAMLStatus status = parser.parseStatusCode();
- assertEquals("samlp:Success", status.getStatusCode());
- assertEquals("samlp:Success", status.getSubStatusCode());
- assertEquals("Ollas leiwand", status.getStatusMessage());
- SAML1AuthenticationData authData = parser.parseAuthenticationData();
- assertEquals(1, authData.getMajorVersion());
- assertEquals(0, authData.getMinorVersion());
- assertEquals("-4633313027464114584", authData.getAssertionID());
- assertEquals("http://localhost:8080/moa-id-auth/", authData.getIssuer());
- assertEquals("2003-04-02T14:55:42+02:00", authData.getIssueInstantString());
- assertEquals("123456789012", authData.getIdentificationValue());
- assertEquals("MTk2OC0xMC0yMmdi", authData.getBPK());
- assertEquals("Hermann", authData.getGivenName());
- assertEquals("Muster", authData.getFamilyName());
- assertEquals("1968-10-22", authData.getDateOfBirth());
- assertTrue(authData.isQualifiedCertificate());
- assertFalse(authData.isPublicAuthority());
- }
-}
diff --git a/id/server/idserverlib/src/test/java/test/lasttest/Dispatcher.java b/id/server/idserverlib/src/test/java/test/lasttest/Dispatcher.java
deleted file mode 100644
index 2111d9811..000000000
--- a/id/server/idserverlib/src/test/java/test/lasttest/Dispatcher.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.lasttest;
-
-/**
- * @author Stefan Knirsch
- * @version $Id$
- *
- */
-public class Dispatcher extends Thread {
- private LasttestClient parent = null;
- private int max;
- private int turns;
- private int turn_counter;
- private int turn;
- private int time;
- private long sum;
- private int turnnum;
-
- public Dispatcher(LasttestClient parent, int max, int turns, int time, long sum) {
- this.parent = parent;
- this.max = max;
- this.turns = turns;
- this.time = time;
- this.sum = sum;
- turnnum=0;
- }
-
- public void run() {
- this.setPriority(Thread.NORM_PRIORITY + 1);
- System.out.println("Dispatcher wird gestartet...");
- TestThread[] old_reqs = buildRequests(0);
- for (turn_counter = 0; turns == 0 ? true : (turn_counter < turns); turn_counter++) {
- try {
-// LasttestClient.Log.write(("Starte Durchlauf " + turn_counter + "\n").getBytes());
- }
- catch (Exception e) {}
-
-// System.out.println("Starte Durchlauf " + turn_counter);
- turn = turn_counter;
- if (turns == 0)
- turn_counter--;
- TestThread[] reqs = buildRequests(turn_counter);
- for (int counter = 0; counter < max; counter++) {
- old_reqs[counter].start();
- }
- old_reqs = reqs;
- try {
- Thread.sleep(time);
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- parent.stop = true;
- }
-
- public TestThread[] buildRequests(int turnNo) {
- TestThread[] ret = new TestThread[max];
- for (int counter = 0; counter < max; counter++) {
-// turnnum ++;
- ret[counter] = new TestThread(parent, turnNo);
- }
- return ret;
- }
-}
diff --git a/id/server/idserverlib/src/test/java/test/lasttest/HostnameVerifierHack.java b/id/server/idserverlib/src/test/java/test/lasttest/HostnameVerifierHack.java
deleted file mode 100644
index 7dd68a949..000000000
--- a/id/server/idserverlib/src/test/java/test/lasttest/HostnameVerifierHack.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.lasttest;
-
-import com.sun.net.ssl.HostnameVerifier;
-
-/**
- * @author Stefan Knirsch
- * @version $Id$
- *
- */
-public class HostnameVerifierHack implements HostnameVerifier{
- public boolean verify(String arg0, String arg1) {
- return true;
- }}
diff --git a/id/server/idserverlib/src/test/java/test/lasttest/LasttestClient.java b/id/server/idserverlib/src/test/java/test/lasttest/LasttestClient.java
deleted file mode 100644
index 74e89c833..000000000
--- a/id/server/idserverlib/src/test/java/test/lasttest/LasttestClient.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.lasttest;
-
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.security.Security;
-import java.util.Date;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.id.auth.AuthenticationServer;
-import at.gv.egovernment.moa.id.config.ConfigurationProvider;
-import at.gv.egovernment.moa.id.config.auth.JaxBAuthConfigurationProvider;
-import at.gv.egovernment.moa.id.proxy.builder.SAMLRequestBuilder;
-import at.gv.egovernment.moa.util.DOMUtils;
-import at.gv.egovernment.moa.util.StreamUtils;
-import at.gv.egovernment.moa.util.URLDecoder;
-import at.gv.egovernment.moa.util.URLEncoder;
-import com.sun.net.ssl.HttpsURLConnection;
-
-/**
- * @author Sven
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- *
- * Aufruf: Requestdatei (==null), ServerURL, Anzahl der Requests pro Sekunde, Anzahl der Wiederholungen
- * z.b. "data/CX0/TestGeneratorCX0.001.Req.xml" "http://127.0.0.1:8080/" 5 100
- *
- * ==> GE�NDERT: ersten 2 Parameter gekillt... nur noch 5 100
- */
-public class LasttestClient {
-
- protected static final String TESTDATA_ROOT = "data/abnahme-test/";
- protected static final String MOA_AUTH_SERVER = "https://localhost:8443/moa-id-auth/";
- protected AuthenticationServer server;
-
- public int max_thread_count = 300;
- public int thread_counter = 0;
- public int error_count = 0;
- public int turns = 0;
- public long sum = 0;
- public long max = 0;
- public long min = Long.MAX_VALUE;
-
- public static PrintStream Log = null;
-
- public boolean stop = false;
-
- public static final String trustStore = "javax.net.ssl.trustStore";
- public static final String trustStorePassword = "javax.net.ssl.trustStorePassword";
- public static final String handler = "java.protocol.handler.pkgs";
-
- public void startTest(int req_per_second, int turns, int time) throws Exception {
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
-
- System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
- System.setProperty("javax.net.ssl.trustStore", "C:/Programme/ApacheGroup/abnahme/server.keystore");
- System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
-
- System.setProperty(ConfigurationProvider.CONFIG_PROPERTY_NAME, TESTDATA_ROOT + "xmldata/L000/Configuration.xml");
-
- JaxBAuthConfigurationProvider.reload();
-
- this.turns = turns;
-
- boolean result = new TestThread(this,0).doRequest(0);// doTestRequest();
- if (result) {
- System.out.println("TestRequest OK. Lasttest wird gestartet.");
- sum=0;
- max=0;
- Dispatcher dp = new Dispatcher(this, req_per_second, turns, time, sum);
- dp.start();
- while (!stop) {
- try {
- Log.println(new String(("Checking Stop Condition ...(Running " + thread_counter + ", Min " + (min) + ", Max " + (max) + ", " + new Date(System.currentTimeMillis()) + ")")));
- Log.flush();
- }
- catch (Exception e) {}
-
- System.out.println("Checking Stop Condition ...(Running " + thread_counter + ", Min " + (min) + ", Max " + (max) + ", " + new Date(System.currentTimeMillis()) + ")");
- Thread.sleep(10000);
- }
- System.out.println("Fehler:" + error_count + " (Running " + thread_counter + ", Min " + (min) + ", Max " + (max) + ", " + new Date(System.currentTimeMillis()) + ")");
- }
- else {
- System.out.println("TestRequest lieferte einen Fehler. Lasttest wird nicht gestartet.");
- }
- }
-
-
- public boolean doTestRequest() throws Exception {
-
- try {
-
- TestThread tt = new TestThread(null,0);
-
- // Anmelden
- String URL = tt.getURL(MOA_AUTH_SERVER, "gb", "http://10.16.126.28:9080/moa-id-proxy/");
- HttpsURLConnection conn = tt.giveConnection(URL, "GET");
-
- conn.connect();
- String result = new String(StreamUtils.readStream(conn.getInputStream()));
- String MOASessionID = tt.parseSessionIDFromForm(result);
- conn.disconnect();
-
- URL = tt.parseDataURL(result);
- // Verify Identity Link
- conn = tt.giveConnection(URL, "POST");
- conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
- String infoboxReadResponse = tt.readXmldata("InfoboxReadResponse.xml");
- OutputStream out = conn.getOutputStream();
- out.write(new String("XMLResponse=" + URLEncoder.encode(infoboxReadResponse, "UTF-8")).getBytes());
- out.flush();
- out.close();
- conn.connect();
- String redirectLoc = conn.getHeaderField("Location");
- conn.disconnect();
- //Verify Auth Block
- conn = tt.giveConnection(redirectLoc, "POST");
- String createXMLSignatureResponse = URLEncoder.encode(tt.readXmldata("CreateXMLSignatureResponse.xml"), "UTF-8");
- out = conn.getOutputStream();
- out.write(("XMLResponse=" + createXMLSignatureResponse).getBytes("UTF-8"));
- out.flush();
- out.close();
- conn.connect();
- redirectLoc = conn.getHeaderField("Location");
- String samlArtifact = tt.parseSamlArtifact(redirectLoc);
- System.out.println("SamlArtifact: " + samlArtifact);
-
- conn.disconnect();
-
- conn = null;
-
- SAMLRequestBuilder srb = new SAMLRequestBuilder();
-
- Element erg = tt.doCall(srb.build(MOASessionID, URLDecoder.decode(samlArtifact, "UTF-8")),MOA_AUTH_SERVER);
- result = DOMUtils.serializeNode(erg);
- if (result.indexOf("saml:Assertion")<0)
- {
- System.err.println("Falsche Antwort vom Webservice:\n" + result);
- throw new Exception("Falsche Antwort vom Webservice");
-
- }
- }
- catch (Exception e) {
- System.err.println("------ FEHLER IN LASTTEST :" + e.getLocalizedMessage());
- throw e;
- }
-
- return true;
-
- }
-
- public String replaceString(String input, String oldPart, String newPart) throws Exception {
- String erg = null;
-
- //First Part
- erg = input.substring(0, input.indexOf(oldPart));
- //Insert new Part
- erg += newPart;
-
- //insert REST
- erg += input.substring(input.indexOf(oldPart) + oldPart.length(), input.length());
-
- return erg;
- }
-
- public static void main(String[] args) throws Exception {
- Log = new PrintStream(new FileOutputStream("C:/Lasttest.log"));
- int time = 0;
- int sek = 0;
- int turns = 0;
-
- if (args.length != 3) {
- System.out.println("Parameteranzahl falsch. Bitte verwenden Sie die Syntax <Request_pro_Zeiteinheit(Zahl)> <Anzahl_der_Durchl�ufe(Zahl oder INF)> <Zeit_zwischen_Aufrufen_in_ms(Zahl)>");
- return;
- }
-
- try {
- sek = Integer.parseInt(args[0]);
- time = Integer.parseInt(args[2]);
- if (args[1].equals("INF")) {
- turns = 0;
- }
- else
- turns = Integer.parseInt(args[1]);
- }
- catch (NumberFormatException e) {
- System.out.println("Einer der Parameter (Requestanzahl oder Testanzahl) ist keine Zahl !");
- return;
- }
-
- System.out.println("Starte Lastest mit folgenden Parametern ...");
- System.out.println("ServerURL: " + MOA_AUTH_SERVER);
- double reqPerSek = sek*1000;
- System.out.println("Requests pro Sekunde: " + reqPerSek/time);
- System.out.println("Durchl�ufe: " + (turns == 0 ? "INF" : turns + ""));
-
- Log.println("Starte Lastest mit folgenden Parametern ...");
- Log.println("ServerURL: " + MOA_AUTH_SERVER);
- Log.println("Requests pro Sekunde: " + reqPerSek / time);
- Log.println("Durchl�ufe: " + (turns == 0 ? "INF" : turns + ""));
-
-
- try {
- LasttestClient lc = new LasttestClient();
- //lc.startTest("data/CX0/TestGeneratorCX0.001.Req.xml","http://161.106.2.255:8080/",10,1000);
- lc.startTest(sek, turns, time);
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
-
diff --git a/id/server/idserverlib/src/test/java/test/lasttest/TestThread.java b/id/server/idserverlib/src/test/java/test/lasttest/TestThread.java
deleted file mode 100644
index 9ad9890a0..000000000
--- a/id/server/idserverlib/src/test/java/test/lasttest/TestThread.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-/*
- * Copyright 2003 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-
-
-package test.lasttest;
-
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.rpc.Call;
-import javax.xml.rpc.Service;
-import javax.xml.rpc.ServiceFactory;
-
-import org.apache.axis.message.SOAPBodyElement;
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.id.proxy.builder.SAMLRequestBuilder;
-import at.gv.egovernment.moa.id.util.AxisSecureSocketFactory;
-import at.gv.egovernment.moa.util.FileUtils;
-import at.gv.egovernment.moa.util.StreamUtils;
-import at.gv.egovernment.moa.util.URLDecoder;
-import at.gv.egovernment.moa.util.URLEncoder;
-import com.sun.net.ssl.HttpsURLConnection;
-
-/**
- * @author Stefan Knirsch
- * @version $Id$
- *
- */
-public class TestThread extends Thread {
- private LasttestClient parent = null;
- private int turn_no;
- private Dispatcher disp = null;
-
- public TestThread( LasttestClient parent, int durchlauf_nr) {
- turn_no = durchlauf_nr;
- this.parent = parent;
-
- }
-
- protected Element doCall(Element request, String server) throws Exception {
-
- /* QName serviceName = new QName("GetAuthenticationData");
-
- String endPoint = server + "services/GetAuthenticationData";
- Service service = ServiceFactory.newInstance().createService(serviceName);
- Call call = service.createCall();
- SOAPBodyElement body = new SOAPBodyElement(request);
- SOAPBodyElement[] params = new SOAPBodyElement[] { body };
- Vector responses;
- SOAPBodyElement response;
-
-
- System.out.println(DOMUtils.serializeNode(body.getAsDOM()));
- call.setTargetEndpointAddress(endPoint);
- System.out.println("Rufe WS auf: " + endPoint);
- responses = (Vector) call.invoke(params);
- System.out.println("WS aufgerufen.");
- response = (SOAPBodyElement) responses.get(0);
- System.out.println(DOMUtils.serializeNode(response.getAsDOM()));
- return response.getAsDOM();*/
-
- QName serviceName = new QName("GetAuthenticationData");
- String endPoint = server + "services/GetAuthenticationData";
- Service service = ServiceFactory.newInstance().createService(serviceName);
- Call call = service.createCall();
-
- System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
- System.setProperty("javax.net.ssl.trustStore", "C:/Programme/ApacheGroup/abnahme/server.keystore");
- System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
- SOAPBodyElement body = new SOAPBodyElement(request);
- SOAPBodyElement[] params = new SOAPBodyElement[] { body };
- Vector responses;
- SOAPBodyElement response;
-
- call.setTargetEndpointAddress(endPoint);
- responses = (Vector) call.invoke(params);
- response = (SOAPBodyElement) responses.get(0);
- return response.getAsDOM();
- }
-
- public boolean doRequest(int turnNo) throws Exception {
- long start = System.currentTimeMillis();
-
- try {
- LasttestClient.Log.write(("Starte Durchlauf " + turnNo + "\n").getBytes());
- }
- catch (Exception e) {}
-
- System.out.println("Starte Durchlauf " + turnNo);
- // Anmelden
- String URL = getURL(LasttestClient.MOA_AUTH_SERVER, "gb", "http://10.16.126.28:9080/moa-id-proxy/");
- HttpsURLConnection conn = giveConnection(URL, "GET");
- conn.connect();
- String result = new String(StreamUtils.readStream(conn.getInputStream()));
- /*
- * FOR DEBUG ONLY
- */
- // System.out.println(URL);
- // System.out.println(result);
- //----------------
-
- String MOASessionID = parseSessionIDFromForm(result);
- conn.disconnect();
-
- URL = parseDataURL(result);
- // Verify Identity Link
- conn = giveConnection(URL, "POST");
- conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
- String infoboxReadResponse = readXmldata("InfoboxReadResponse.xml");
- OutputStream out = conn.getOutputStream();
- out.write(new String("XMLResponse=" + URLEncoder.encode(infoboxReadResponse, "UTF-8")).getBytes());
- out.flush();
- out.close();
- conn.connect();
-
- /*
- * FOR DEBUG ONLY
- */
- // System.out.println(URL);
- // System.out.println(new String(StreamUtils.readStream(conn.getInputStream())));
- //----------------
-
- String redirectLoc = conn.getHeaderField("Location");
- conn.disconnect();
- //Verify Auth Block
- conn = giveConnection(redirectLoc, "POST");
- String createXMLSignatureResponse = URLEncoder.encode(readXmldata("CreateXMLSignatureResponse.xml"), "UTF-8");
- out = conn.getOutputStream();
- out.write(("XMLResponse=" + createXMLSignatureResponse).getBytes("UTF-8"));
- out.flush();
- out.close();
- conn.connect();
- redirectLoc = conn.getHeaderField("Location");
-
- /*
- * FOR DEBUG ONLY
- */
- // System.out.println(redirectLoc);
- // System.out.println(new String(StreamUtils.readStream(conn.getInputStream())));
- //----------------
- String samlArtifact = parseSamlArtifact(redirectLoc);
-
- // System.out.println("SamlArtifact: " + samlArtifact);
-
- AxisSecureSocketFactory.initialize(conn.getSSLSocketFactory());
- conn.disconnect();
-
- conn = null;
-
- SAMLRequestBuilder srb = new SAMLRequestBuilder();
-
- doCall(srb.build(MOASessionID, URLDecoder.decode(samlArtifact, "UTF-8")), LasttestClient.MOA_AUTH_SERVER);
- // writeXmldata("GetAuthenticationDataWebServiceResponse.xml", result.getBytes("UTF-8"));
-
- long end = System.currentTimeMillis();
- long diff = end - start;
- parent.sum +=diff;
- if (parent.max < diff) {
- parent.max = diff;
- }
- if (parent.min > diff) {
- parent.min = diff;
- }
- if (turnNo>0) {
- long totalmem = Runtime.getRuntime().totalMemory();
- long freemem = Runtime.getRuntime().freeMemory();
- try {
- LasttestClient.Log.write(new String("Ende Durchlauf: " + turnNo + " ==> Dauer:" + diff + " Schnitt: " + (parent.sum/turnNo/2) + " Total-Mem: " + totalmem + " Free-Mem: " + freemem + "\n").getBytes());
- LasttestClient.Log.flush();
- }
- catch (Exception e) {}
- System.out.println(new String("Ende Durchlauf: " + turnNo + " ==> Dauer:" + diff + " Schnitt: " + (parent.sum/turnNo/2) + " Total-Mem: " + totalmem + " Free-Mem: " + freemem));
- }
- return true;
-
- }
-
- public String getSubString(String input, String startsWith, String endsWith) {
- return input.substring(input.indexOf(startsWith) + startsWith.length(), input.indexOf(endsWith, input.indexOf(startsWith) + startsWith.length()));
- }
-
- public String getURL(String authURL, String target, String oaURL) {
- return authURL + "StartAuthentication?Target=" + target + "&OA=" + oaURL;
- }
-
- public HttpsURLConnection giveConnection(String targetURL, String requestMethod) throws Exception {
- HttpsURLConnection conn = (HttpsURLConnection) new URL(targetURL).openConnection();
- conn.setRequestMethod(requestMethod);
- conn.setDoInput(true);
- conn.setDoOutput(true);
- conn.setUseCaches(false);
- conn.setAllowUserInteraction(false);
- conn.setHostnameVerifier(new HostnameVerifierHack());
- return conn;
- }
-
- public String killInclusive(String input, String startsWith, String endsWith, String newValue) {
- int start = 0;
- int ende;
- String result;
- result = input;
- do {
- start = result.indexOf(startsWith, start) + startsWith.length();
- ende = result.indexOf(endsWith, start);
- result = result.substring(0, start - startsWith.length()) + newValue + result.substring(ende + endsWith.length(), result.length());
- start++;
- }
- while (result.indexOf(startsWith, ende + 1) > 0);
-
- return result;
- }
-
- public String parseDataURL(String input) {
- return getSubString(input.substring(input.indexOf("DataURL"), input.length()), "value=\"", "\"");
- }
-
- public String parseSamlArtifact(String input) {
-// System.out.println(input);
- return getSubString(input + "@@@", "SAMLArtifact=", "@@@");
- }
-
- public String parseSessionIDFromForm(String htmlForm) {
- String parName = "MOASessionID=";
- int i1 = htmlForm.indexOf(parName) + parName.length();
- int i2 = htmlForm.indexOf("\"", i1);
- return htmlForm.substring(i1, i2);
- }
-
- public String readXmldata(String filename) throws Exception {
-
- return FileUtils.readFile(LasttestClient.TESTDATA_ROOT + "xmldata/L000/" + filename, "UTF-8");
- }
-
- /**
- * @see java.lang.Runnable#run()
- */
- public void run() {
- parent.thread_counter++;
-
- try {
- if (!doRequest(turn_no)) {
- parent.error_count++;
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- parent.error_count++;
- }
- parent.thread_counter--;
- }
-
-}