diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2015-07-02 07:26:30 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2015-07-02 07:26:30 +0200 | 
| commit | 5bc01dab26425144a41dbece04b642fb963e1315 (patch) | |
| tree | 543fe5f7b8d576c7e85ba711c1f9bf03d3dc699f /id/server/idserverlib/src/test | |
| parent | 06e63a4fb89dd92583fc3e72e12750becdd6c8ef (diff) | |
| download | moa-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')
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--; -  } - -} | 
