diff --git a/.travis.yml b/.travis.yml index f4528c70..707e4fc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,8 @@ dist: trusty jdk: - oraclejdk8 - openjdk8 - - openjdk7 + - openjdk10 + - openjdk11 before_install: - export TZ=Europe/Prague @@ -31,7 +32,6 @@ deploy: - target/eet-client-*.* on: tags: true - jdk: openjdk7 - provider: script script: scripts/deploy-pages.sh diff --git a/README.md b/README.md index 88848678..638eaac9 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,11 @@ Since EET client has to deal with lots of encryption and security, up-to-date ve Supported and tested are following versions: - Oracle JDK 8 +- OpenJDK 8 +- OpenJDK 10 +- OpenJDK 11 + +For following JDK versions please stay on 3.0.0 release: - Oracle JDK 7 - OpenJDK 7 - OpenJDK 6 diff --git a/pom.xml b/pom.xml index 3a1c0e3f..d3927e4c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,14 +22,18 @@ UTF-8 - 3.0.10 + + + 3.3.5 4.12 1.7.24 - 2.3 + 2.11.1 2.19.1 - 0.7.7.201606060606 + 0.8.5 3.0.1 2.10.4 + 2.3.0 @@ -102,6 +106,11 @@ test + + javax.xml.ws + jaxws-api + ${jaxws.version} + junit @@ -113,7 +122,7 @@ org.mockito mockito-core - 2.8.9 + 2.21.0 test @@ -125,7 +134,7 @@ org.apache.cxf cxf-codegen-plugin - 3.0.9 + 3.3.5 generate-sources @@ -172,7 +181,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.5.1 + 3.8.0 1.6 1.6 @@ -361,4 +370,4 @@ - \ No newline at end of file + diff --git a/src/main/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtension.java b/src/main/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtension.java index 29015eef..848c57ee 100644 --- a/src/main/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtension.java +++ b/src/main/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtension.java @@ -1,6 +1,7 @@ package cz.tomasdvorak.eet.client.security; import org.apache.wss4j.common.crypto.Merlin; +import org.apache.xml.security.Init; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,6 +16,8 @@ public MerlinWithCRLDistributionPointsExtension() { } private void configureSystemProperties() { + Init.init(); + final boolean crlDownloadEnabled = Boolean.getBoolean("com.sun.security.enableCRLDP"); final boolean checkRevocationEnabled = Boolean.getBoolean("com.sun.net.ssl.checkRevocation"); final String value = Security.getProperty("com.sun.security.onlyCheckRevocationOfEECert"); diff --git a/src/main/java/cz/tomasdvorak/eet/client/security/WSS4JEetOutInterceptor.java b/src/main/java/cz/tomasdvorak/eet/client/security/WSS4JEetOutInterceptor.java index db6b6f94..f58cc668 100644 --- a/src/main/java/cz/tomasdvorak/eet/client/security/WSS4JEetOutInterceptor.java +++ b/src/main/java/cz/tomasdvorak/eet/client/security/WSS4JEetOutInterceptor.java @@ -13,7 +13,7 @@ /** * Specialization of {@link WSS4JOutInterceptor} that uses exchange to mark * messages that have to be validated by {@link WSS4JEetInInterceptor} - * + * * @author Petr Kalivoda * */ @@ -34,12 +34,12 @@ public void handleMessage(SoapMessage message) throws Fault { TrzbaType request = (TrzbaType) requestObj; TrzbaHlavickaType header = request.getHlavicka(); - // validation is required if isOvereni is unspecified or false. - boolean required = header == null || !Boolean.TRUE.equals(header.isOvereni()); + // validation is required if getOvereni is unspecified or false. + boolean required = header == null || !Boolean.TRUE.equals(header.getOvereni()); message.getExchange().put(WSS4JEetInInterceptor.PROP_SIGNATURE_REQUIRED, required); } } } -} \ No newline at end of file +} diff --git a/src/test/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtensionTest.java b/src/test/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtensionTest.java index 36e2019d..cf4d7383 100644 --- a/src/test/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtensionTest.java +++ b/src/test/java/cz/tomasdvorak/eet/client/security/MerlinWithCRLDistributionPointsExtensionTest.java @@ -1,12 +1,5 @@ package cz.tomasdvorak.eet.client.security; -import cz.tomasdvorak.eet.client.exceptions.InvalidKeystoreException; -import org.apache.wss4j.common.crypto.Merlin; -import org.apache.wss4j.common.ext.WSSecurityException; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - import java.io.InputStream; import java.security.KeyStore; import java.security.cert.CertificateException; @@ -16,6 +9,14 @@ import java.util.Collection; import java.util.regex.Pattern; +import org.apache.wss4j.common.crypto.Merlin; +import org.apache.wss4j.common.ext.WSSecurityException; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +import cz.tomasdvorak.eet.client.exceptions.InvalidKeystoreException; + public class MerlinWithCRLDistributionPointsExtensionTest { private KeyStore keystore; @@ -29,16 +30,16 @@ public void setUp() throws Exception { keystore = getTruststore("/certificates/rca15_rsa.der", "/certificates/2qca16_rsa.der"); } - + @Ignore("Disabled due to expired test certificate as well") @Test public void verifyTrustPlayground() throws Exception { final Merlin crypto = new MerlinWithCRLDistributionPointsExtension(); final boolean enableRevocation = true; final Collection subjectCertConstraints = new ArrayList(); subjectCertConstraints.add(Pattern.compile(SecureEETCommunication.SUBJECT_CERT_CONSTRAINTS)); - final X509Certificate[] certsPlayground = {playgroundCertificate}; + final X509Certificate[] certsPlayground = { playgroundCertificate }; crypto.setTrustStore(keystore); - crypto.verifyTrust(certsPlayground, enableRevocation, subjectCertConstraints); + crypto.verifyTrust(certsPlayground, enableRevocation, subjectCertConstraints, null); } @Ignore("Disabled due to expired production certificate. Help needed, please see https://github.com/todvora/eet-client/issues/35#issuecomment-340262163") @@ -48,16 +49,14 @@ public void verifyTrustProduction() throws WSSecurityException { final boolean enableRevocation = true; final Collection subjectCertConstraints = new ArrayList(); subjectCertConstraints.add(Pattern.compile(SecureEETCommunication.SUBJECT_CERT_CONSTRAINTS)); - final X509Certificate[] certsProduction = {productionCertificate}; + final X509Certificate[] certsProduction = { productionCertificate }; crypto.setTrustStore(keystore); - crypto.verifyTrust(certsProduction, enableRevocation, subjectCertConstraints); + crypto.verifyTrust(certsProduction, enableRevocation, subjectCertConstraints, null); } - - private KeyStore getTruststore(final String... certificate) throws InvalidKeystoreException { final InputStream[] streams = new InputStream[certificate.length]; - for(int i = 0; i< certificate.length; i++) { + for (int i = 0; i < certificate.length; i++) { streams[i] = (getClass().getResourceAsStream(certificate[i])); } return new ServerKey(streams).getTrustStore(); @@ -68,4 +67,4 @@ private X509Certificate getEETCertificate(final String path) throws CertificateE final CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); return (X509Certificate) certificateFactory.generateCertificate(is); } -} \ No newline at end of file +} diff --git a/src/test/java/cz/tomasdvorak/eet/client/security/SecurityCodesGeneratorTest.java b/src/test/java/cz/tomasdvorak/eet/client/security/SecurityCodesGeneratorTest.java index 065b2d3c..a74dd1fa 100644 --- a/src/test/java/cz/tomasdvorak/eet/client/security/SecurityCodesGeneratorTest.java +++ b/src/test/java/cz/tomasdvorak/eet/client/security/SecurityCodesGeneratorTest.java @@ -15,7 +15,7 @@ public class SecurityCodesGeneratorTest { @Before public void setUp() throws Exception { testData = Arrays.asList( - new DemoRequestHolder("/keys/CZ1212121218.p12", "eet", "/requests/CZ1212121218.valid.v3.1.xml"), + new DemoRequestHolder("/keys/CZ683555118.p12", "eet", "/requests/CZ683555118.valid.v3.1.xml"), new DemoRequestHolder("/keys/CZ00000019.p12", "eet", "/requests/CZ00000019.valid.v3.1.xml") ); } diff --git a/src/test/java/cz/tomasdvorak/eet/client/utils/CertificateUtilsTest.java b/src/test/java/cz/tomasdvorak/eet/client/utils/CertificateUtilsTest.java index f74cd012..5f399ede 100644 --- a/src/test/java/cz/tomasdvorak/eet/client/utils/CertificateUtilsTest.java +++ b/src/test/java/cz/tomasdvorak/eet/client/utils/CertificateUtilsTest.java @@ -18,7 +18,7 @@ public class CertificateUtilsTest { @Test public void testServerKeyInfo() throws Exception { final X509Certificate x509Certificate = getCertificate("/keys/crls-demo-cert.pem"); - Assert.assertEquals("{subject='SERIALNUMBER=ICA - 10461704, OID.2.5.4.97=NTRCZ-72080043, O=Česká republika - Generální finanční ředitelství, C=CZ, CN=Elektronická evidence tržeb - Playground', issuer='SERIALNUMBER=NTRCZ-26439395, O=\"První certifikační autorita, a.s.\", CN=I.CA Qualified 2 CA/RSA 02/2016, C=CZ', SerialNumber=11390220, validFrom=2018-05-24T10:42:21+02:00, validTo=2019-05-24T10:42:21+02:00}", CertificateUtils.getCertificateInfo(x509Certificate)); + Assert.assertEquals("{subject='O=Generální finanční ředitelství, CN=GFR EET test CA 1, C=CZ', issuer='O=Generální finanční ředitelství, CN=GFR EET test CA 1, C=CZ', SerialNumber=16777216, validFrom=2016-05-02T13:52:28+02:00, validTo=2026-04-30T13:52:28+02:00}", CertificateUtils.getCertificateInfo(x509Certificate)); } @@ -39,4 +39,4 @@ private X509Certificate getCertificate(final String path) throws CertificateExce return (X509Certificate) certificateFactory.generateCertificate(is); } -} \ No newline at end of file +} diff --git a/src/test/resources/keys/CZ00000019.p12 b/src/test/resources/keys/CZ00000019.p12 index 589d50a5..9882d934 100644 Binary files a/src/test/resources/keys/CZ00000019.p12 and b/src/test/resources/keys/CZ00000019.p12 differ diff --git a/src/test/resources/keys/CZ683555118.p12 b/src/test/resources/keys/CZ683555118.p12 index 7a68e742..2771f3d6 100644 Binary files a/src/test/resources/keys/CZ683555118.p12 and b/src/test/resources/keys/CZ683555118.p12 differ diff --git a/src/test/resources/keys/crls-demo-cert.pem b/src/test/resources/keys/crls-demo-cert.pem index 3736b603..bdf89063 100644 --- a/src/test/resources/keys/crls-demo-cert.pem +++ b/src/test/resources/keys/crls-demo-cert.pem @@ -1,3 +1,86 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 16777216 (0x1000000) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CZ, CN=GFR EET test CA 1, O=Gener\xC3\xA1ln\xC3\xAD finan\xC4\x8Dn\xC3\xAD \xC5\x99editelstv\xC3\xAD + Validity + Not Before: May 2 11:52:28 2016 GMT + Not After : Apr 30 11:52:28 2026 GMT + Subject: C=CZ, CN=GFR EET test CA 1, O=Gener\xC3\xA1ln\xC3\xAD finan\xC4\x8Dn\xC3\xAD \xC5\x99editelstv\xC3\xAD + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:cd:8d:c9:1c:79:aa:2c:14:88:cb:b1:2f:24:36: + 27:dd:07:d7:95:da:9f:fb:2e:37:46:6c:c1:28:af: + 41:13:a2:97:1a:f6:20:9b:25:f8:f0:27:87:37:4d: + 18:c5:c8:cb:e5:ee:9b:54:45:c0:79:76:02:b1:b0: + e5:18:d5:c2:f1:83:59:32:10:ae:34:5d:39:cb:cc: + 81:ec:7c:93:a8:85:58:93:18:ee:b3:12:b7:95:3a: + 7e:44:20:88:5d:15:e1:3f:42:bc:2c:e7:3a:03:93: + db:51:b3:d4:66:14:d1:81:e4:e6:77:82:bc:e4:db: + a5:6f:b0:36:77:4e:f3:8b:f7:c7:3c:a2:87:4e:bb: + a1:2e:30:4d:63:ad:c2:4d:a0:5b:a1:9f:86:3a:51: + a3:bc:7b:bc:f5:ce:a9:f3:10:82:89:68:d2:36:8e: + 9d:6a:0b:22:5b:50:a1:17:86:21:30:8d:81:fe:1e: + 80:98:e2:8f:ad:bb:93:16:2b:c8:58:4e:61:b9:4e: + ca:ac:95:84:ed:ef:4b:b2:04:6f:e8:89:da:85:9e: + 7e:68:44:36:04:4b:e0:f7:b4:44:b2:65:a4:87:e8: + 49:87:13:68:81:ed:f8:5c:47:41:a3:0b:86:6b:21: + c0:98:21:e2:1c:e3:8c:0c:27:1e:3e:d3:8c:b4:a5: + 09:b9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + email:epodpora@fs.mfcr.cz + X509v3 Certificate Policies: + Policy: 2.16.840.1.101.3.2.1.48.1 + User Notice: + Explicit Text: Tato CA je pouze TESTOVACI + + X509v3 Subject Key Identifier: + 7A:5A:FC:0D:CB:EC:36:A6:0D:DA:69:19:66:8C:9B:EF:82:C3:A9:34 + Signature Algorithm: sha256WithRSAEncryption + bc:7f:58:bb:0f:e5:e9:70:05:c4:9e:86:37:52:75:24:17:14: + 38:6b:7d:e1:f0:79:71:14:02:86:52:c0:4e:1d:6f:d9:81:53: + fc:07:8d:41:84:24:7e:ec:9c:db:ad:f8:16:35:85:94:6c:4e: + 13:05:84:bf:25:6a:cd:9b:84:30:50:ec:b6:50:1f:27:02:ef: + 00:6f:86:c3:77:9d:9e:10:d9:11:88:2b:b2:d2:49:13:eb:7e: + 43:62:d7:16:41:e6:e6:d9:a8:ef:12:bd:1f:4e:8b:c1:8d:47: + 3d:2e:fc:0e:7a:f9:d7:7d:9f:de:a6:d8:ec:87:73:d3:8c:c1: + be:c3:c4:07:41:1c:54:6a:97:59:b4:e0:0d:fd:dc:ba:c7:89: + 2e:a8:10:00:16:01:b0:c3:d7:15:1e:91:fd:4d:86:b8:ce:e9: + 0c:b3:27:a9:b8:6c:04:22:d0:40:8e:2b:81:0e:fe:8b:73:5d: + b6:41:8b:1a:09:01:d3:30:20:01:a5:51:75:03:2d:08:b9:1e: + 62:ec:4f:b2:3d:af:77:f1:95:a8:79:c1:6b:96:2c:58:5b:d4: + 7e:b0:7f:d2:7d:af:05:db:6c:78:9a:3d:1c:ef:25:59:33:a9: + 3b:19:db:c9:75:2f:40:57:00:1c:55:c1:9f:8a:ac:cf:9d:2d: + 4b:9d:96:0c -----BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- \ No newline at end of file +MIID1zCCAr+gAwIBAgIEAQAAADANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJD +WjEaMBgGA1UEAwwRR0ZSIEVFVCB0ZXN0IENBIDExLTArBgNVBAoMJEdlbmVyw6Fs +bsOtIGZpbmFuxI1uw60gxZllZGl0ZWxzdHbDrTAeFw0xNjA1MDIxMTUyMjhaFw0y +NjA0MzAxMTUyMjhaMFgxCzAJBgNVBAYTAkNaMRowGAYDVQQDDBFHRlIgRUVUIHRl +c3QgQ0EgMTEtMCsGA1UECgwkR2VuZXLDoWxuw60gZmluYW7EjW7DrSDFmWVkaXRl +bHN0dsOtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzY3JHHmqLBSI +y7EvJDYn3QfXldqf+y43RmzBKK9BE6KXGvYgmyX48CeHN00YxcjL5e6bVEXAeXYC +sbDlGNXC8YNZMhCuNF05y8yB7HyTqIVYkxjusxK3lTp+RCCIXRXhP0K8LOc6A5Pb +UbPUZhTRgeTmd4K85Nulb7A2d07zi/fHPKKHTruhLjBNY63CTaBboZ+GOlGjvHu8 +9c6p8xCCiWjSNo6dagsiW1ChF4YhMI2B/h6AmOKPrbuTFivIWE5huU7KrJWE7e9L +sgRv6InahZ5+aEQ2BEvg97REsmWkh+hJhxNoge34XEdBowuGayHAmCHiHOOMDCce +PtOMtKUJuQIDAQABo4GoMIGlMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB4GA1UdEQQXMBWBE2Vwb2Rwb3JhQGZzLm1mY3IuY3owQwYDVR0gBDwwOjA4 +BgpghkgBZQMCATABMCowKAYIKwYBBQUHAgIwHBoaVGF0byBDQSBqZSBwb3V6ZSBU +RVNUT1ZBQ0kwHQYDVR0OBBYEFHpa/A3L7DamDdppGWaMm++Cw6k0MA0GCSqGSIb3 +DQEBCwUAA4IBAQC8f1i7D+XpcAXEnoY3UnUkFxQ4a33h8HlxFAKGUsBOHW/ZgVP8 +B41BhCR+7JzbrfgWNYWUbE4TBYS/JWrNm4QwUOy2UB8nAu8Ab4bDd52eENkRiCuy +0kkT635DYtcWQebm2ajvEr0fTovBjUc9LvwOevnXfZ/eptjsh3PTjMG+w8QHQRxU +apdZtOAN/dy6x4kuqBAAFgGww9cVHpH9TYa4zukMsyepuGwEItBAjiuBDv6Lc122 +QYsaCQHTMCABpVF1Ay0IuR5i7E+yPa938ZWoecFrlixYW9R+sH/Sfa8F22x4mj0c +7yVZM6k7GdvJdS9AVwAcVcGfiqzPnS1LnZYM +-----END CERTIFICATE----- diff --git a/src/test/resources/requests/CZ00000019.valid.v3.1.xml b/src/test/resources/requests/CZ00000019.valid.v3.1.xml index 0076286d..4d4fb152 100644 --- a/src/test/resources/requests/CZ00000019.valid.v3.1.xml +++ b/src/test/resources/requests/CZ00000019.valid.v3.1.xml @@ -1,2 +1,2 @@ -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9356D566-A3E48838-FB403790-D201244E-95DCBD92 +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F049C3F1-165CDCDA-2E35BC3A-FCB5C660-4B84D0B7 diff --git a/src/test/resources/requests/CZ1212121218.valid.v3.1.xml b/src/test/resources/requests/CZ683555118.valid.v3.1.xml similarity index 83% rename from src/test/resources/requests/CZ1212121218.valid.v3.1.xml rename to src/test/resources/requests/CZ683555118.valid.v3.1.xml index eb3511bb..44daafe6 100644 --- a/src/test/resources/requests/CZ1212121218.valid.v3.1.xml +++ b/src/test/resources/requests/CZ683555118.valid.v3.1.xml @@ -1,2 +1,2 @@ -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3F9119C1-FBF34535-D30B60F8-9859E4A6-C8C8AAFA +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29397034-32967103-4F1710A3-E761C04C-334D684F