diff options
Diffstat (limited to 'eaaf_modules/eaaf_module_moa-sig/src/test/java')
3 files changed, 229 insertions, 0 deletions
diff --git a/eaaf_modules/eaaf_module_moa-sig/src/test/java/at/gv/egiz/eaaf/modules/sigverify/moasig/test/verify/SignatureVerificationServiceTest.java b/eaaf_modules/eaaf_module_moa-sig/src/test/java/at/gv/egiz/eaaf/modules/sigverify/moasig/test/verify/SignatureVerificationServiceTest.java new file mode 100644 index 00000000..5066d220 --- /dev/null +++ b/eaaf_modules/eaaf_module_moa-sig/src/test/java/at/gv/egiz/eaaf/modules/sigverify/moasig/test/verify/SignatureVerificationServiceTest.java @@ -0,0 +1,96 @@ +package at.gv.egiz.eaaf.modules.sigverify.moasig.test.verify; + +import static org.junit.Assert.assertThrows; + +import java.io.IOException; + +import org.apache.commons.io.IOUtils; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import at.gv.egiz.eaaf.modules.sigverify.moasig.api.ISignatureVerificationService; +import at.gv.egiz.eaaf.modules.sigverify.moasig.api.data.IXmlSignatureVerificationResponse; +import at.gv.egiz.eaaf.modules.sigverify.moasig.exceptions.MoaSigServiceException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationException; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("/moa-sig-service.beans.xml") +@DirtiesContext(classMode = ClassMode.BEFORE_CLASS) +public class SignatureVerificationServiceTest { + + @Autowired ISignatureVerificationService service; + + /** + * jUnit class initializer. + * + * @throws IOException In case of an error + * @throws ConfigurationException In case of an error + */ + @BeforeClass + public static void moaSpssInitialize() throws IOException, ConfigurationException { + log.info("Loading Java security providers."); + final String current = new java.io.File(".").getCanonicalPath(); + System.setProperty("moa.spss.server.configuration", + current + "/src/test/resources/config/moaspss_config/MOASPSSConfiguration.xml"); + + } + + /** + * Reset MOA-SPSS configuration. + */ + @AfterClass + public static void removeMoaSpssConfig() { + System.setProperty("moa.spss.server.configuration", ""); + + } + + @Test + public void unknownTrustProfile() throws IOException { + // load signature + byte[] signature = IOUtils.resourceToByteArray("/data/xml/zuse_sig_1.xml"); + + // start verification + MoaSigServiceException exception = assertThrows(MoaSigServiceException.class, + () -> service.verifyXmlSignature(signature, "notexist")); + + // verify state + Assert.assertEquals("wrong exception", "service.moasig.03", exception.getErrorId()); + + } + + @Test + public void simpleSignaturVerificationTest() throws MoaSigServiceException, IOException { + // load signature + byte[] signature = IOUtils.resourceToByteArray("/data/xml/zuse_sig_1.xml"); + + //start verification + IXmlSignatureVerificationResponse result = + service.verifyXmlSignature(signature, "MOAIDBuergerkarteAuthentisierungsDaten"); + + //verify result + Assert.assertEquals("sig. checkCode", 0, result.getSignatureCheckCode()); + Assert.assertEquals("cert. checkCode", 1, result.getCertificateCheckCode()); + Assert.assertEquals("XML manifest. checkCode", 0, result.getXmlDsigManifestCheckCode()); + Assert.assertEquals("manifest. checkCode", 0, result.getSignatureManifestCheckCode()); + + Assert.assertNotNull("X509Cert", result.getX509Certificate()); + Assert.assertNotNull("X509Cert encoded", result.getX509CertificateEncoded()); + + Assert.assertFalse("PubAuthority flag", result.isPublicAuthority()); + Assert.assertNull("PubAuthorityIdentifer", result.getPublicAuthorityCode()); + + Assert.assertFalse("qcCert flag", result.isQualifiedCertificate()); + + } + +} diff --git a/eaaf_modules/eaaf_module_moa-sig/src/test/java/at/gv/egiz/eaaf/modules/sigverify/moasig/test/verify/SignatureVerificationServiceZuseConfigTest.java b/eaaf_modules/eaaf_module_moa-sig/src/test/java/at/gv/egiz/eaaf/modules/sigverify/moasig/test/verify/SignatureVerificationServiceZuseConfigTest.java new file mode 100644 index 00000000..909c37dc --- /dev/null +++ b/eaaf_modules/eaaf_module_moa-sig/src/test/java/at/gv/egiz/eaaf/modules/sigverify/moasig/test/verify/SignatureVerificationServiceZuseConfigTest.java @@ -0,0 +1,82 @@ +package at.gv.egiz.eaaf.modules.sigverify.moasig.test.verify; + +import java.io.IOException; + +import org.apache.commons.io.IOUtils; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import at.gv.egiz.eaaf.modules.sigverify.moasig.api.ISignatureVerificationService; +import at.gv.egiz.eaaf.modules.sigverify.moasig.api.data.IXmlSignatureVerificationResponse; +import at.gv.egiz.eaaf.modules.sigverify.moasig.exceptions.MoaSigServiceException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationException; +import lombok.extern.slf4j.Slf4j; + +@Ignore +@Slf4j +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("/moa-sig-service.beans.xml") +@DirtiesContext(classMode = ClassMode.BEFORE_CLASS) +public class SignatureVerificationServiceZuseConfigTest { + + @Autowired ISignatureVerificationService service; + + /** + * jUnit class initializer. + * + * @throws IOException In case of an error + * @throws ConfigurationException In case of an error + */ + @BeforeClass + public static void moaSpssInitialize() throws IOException, ConfigurationException { + log.info("Loading Java security providers."); + final String current = new java.io.File(".").getCanonicalPath(); + System.setProperty("moa.spss.server.configuration", + current + "/src/test/resources/config/moaspss_config/MOASPSSConfiguration_zuse.xml"); + + } + + /** + * Reset MOA-SPSS configuration. + */ + @AfterClass + public static void removeMoaSpssConfig() { + System.setProperty("moa.spss.server.configuration", ""); + + } + + @Test + public void simpleSignaturVerificationTest() throws IOException, MoaSigServiceException { + // load signature + byte[] signature = IOUtils.resourceToByteArray("/data/xml/zuse_sig_1.xml"); + + //start verification + IXmlSignatureVerificationResponse result = + service.verifyXmlSignature(signature, "default-trustprofile"); + + //verify result + Assert.assertEquals("sig. checkCode", 0, result.getSignatureCheckCode()); + Assert.assertEquals("cert. checkCode", 1, result.getCertificateCheckCode()); + Assert.assertEquals("XML manifest. checkCode", 0, result.getXmlDsigManifestCheckCode()); + Assert.assertEquals("manifest. checkCode", 0, result.getSignatureManifestCheckCode()); + + Assert.assertNotNull("X509Cert", result.getX509Certificate()); + Assert.assertNotNull("X509Cert encoded", result.getX509CertificateEncoded()); + + Assert.assertFalse("PubAuthority flag", result.isPublicAuthority()); + Assert.assertNull("PubAuthorityIdentifer", result.getPublicAuthorityCode()); + + Assert.assertFalse("qcCert flag", result.isQualifiedCertificate()); + + } + +} diff --git a/eaaf_modules/eaaf_module_moa-sig/src/test/java/console/SchemaValidationTest.java b/eaaf_modules/eaaf_module_moa-sig/src/test/java/console/SchemaValidationTest.java new file mode 100644 index 00000000..4680fa3e --- /dev/null +++ b/eaaf_modules/eaaf_module_moa-sig/src/test/java/console/SchemaValidationTest.java @@ -0,0 +1,51 @@ +package console; + +import java.io.InputStream; + +import org.w3c.dom.Document; + +import at.gv.egovernment.moaspss.util.DOMUtils; + +public class SchemaValidationTest { + + public static final String SCHEMA_ROOT = "/config/zuseSchema/"; + + public static final String XML_NS_URI = "http://www.w3.org/XML/1998/namespace"; + public static final String XML_SCHEMA_LOCATION = SCHEMA_ROOT + "xml.xsd"; + + public static final String XSI_NS_URI = "http://www.w3.org/2001/XMLSchema-instance"; + public static final String XSI_SCHEMA_LOCATION = SCHEMA_ROOT + "XMLSchema-instance.xsd"; + + public static final String eDELIVERY20 = "http://reference.e-government.gv.at/namespace/zustellung/msg/phase2/20181206#"; + public static final String eDELIVERY20_SCHEMA_LOCATION = SCHEMA_ROOT + "zuse_p2.xsd"; + + public static final String eDELIVERY_PERSON_20 = "http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#"; + public static final String eDELIVERY_PERSON_20_SCHEMA_LOCATION = SCHEMA_ROOT + "zuse_mypersondata_en_p2.xsd"; + + private static final String ZUSE_SCHEMAS = +// (XML_NS_URI + " " + XML_SCHEMA_LOCATION + " ") +// + (XSI_NS_URI + " " + XSI_SCHEMA_LOCATION + " ") + (eDELIVERY20 + " " + eDELIVERY20_SCHEMA_LOCATION + " ") + + (eDELIVERY_PERSON_20 + " " + eDELIVERY_PERSON_20_SCHEMA_LOCATION); + + /** + * Simple test. + * + * @param args not used yet + * @throws Exception in case of an error + */ + public static void main(String[] args) throws Exception { + + InputStream is = SchemaValidationTest.class.getResourceAsStream("/data/zuse/msg.xml"); + + +// Element result = DOMUtils.parseXmlValidating(is); + + Document result = DOMUtils.parseDocument(is, true, ZUSE_SCHEMAS, null); + + + System.out.print(DOMUtils.serializeNode(result)); + + } + +} |