diff --git a/CHANGELOG.md b/CHANGELOG.md index f60a91d..3dde430 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [1.6] - upcoming +## [1.7] - upcoming + +### Changed +- Reduce logging level when validating user certificates +- Update demo certificates + +## [1.6] - 2025-04-07 ### Changed - Added two examples (and unit tests) that show how to use a proxy to acces the server diff --git a/pom.xml b/pom.xml index 57e64d6..c3279a2 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ ee.sk.mid mid-rest-java-client jar - 1.3 + 1.7-SNAPSHOT Mobile-ID Java client Mobile-ID Java client is a Java library that can be used for easy integration with MID REST interface (https://github.com/SK-EID/MID) of the Mobile-ID diff --git a/src/main/java/ee/sk/mid/MidAuthenticationResponseValidator.java b/src/main/java/ee/sk/mid/MidAuthenticationResponseValidator.java index d2f2b2b..de85470 100644 --- a/src/main/java/ee/sk/mid/MidAuthenticationResponseValidator.java +++ b/src/main/java/ee/sk/mid/MidAuthenticationResponseValidator.java @@ -4,7 +4,7 @@ * #%L * Mobile ID sample Java client * %% - * Copyright (C) 2018 - 2019 SK ID Solutions AS + * Copyright (C) 2018 - 2026 SK ID Solutions AS * %% * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -193,7 +193,7 @@ private boolean isCertificateTrusted(X509Certificate certificate) { certificate.verify(trustedCACertificate.getPublicKey()); return true; } catch (GeneralSecurityException e) { - logger.warn("Error verifying signer's certificate: " + certificate.getSubjectDN() + " against CA certificate: " + trustedCACertificate.getSubjectDN(), e); + logger.debug("Error verifying signer's certificate: " + certificate.getSubjectDN() + " against CA certificate: " + trustedCACertificate.getSubjectDN(), e); } } return false; diff --git a/src/test/java/ee/sk/mid/integration/MobileIdSsIT.java b/src/test/java/ee/sk/mid/integration/MobileIdSsIT.java index 4154588..75ccd0f 100644 --- a/src/test/java/ee/sk/mid/integration/MobileIdSsIT.java +++ b/src/test/java/ee/sk/mid/integration/MobileIdSsIT.java @@ -71,45 +71,45 @@ public class MobileIdSsIT { "s/OHdPfZDLVzkZJA4Vl/GqmJpFAUF+FtG/oFT5gmRw==\n" + "-----END CERTIFICATE-----\n"; - public static final LocalDate DEMO_SERVER_CERT_EXPIRATION_DATE = LocalDate.of(2023, 3, 12); + public static final LocalDate DEMO_SERVER_CERT_EXPIRATION_DATE = LocalDate.of(2027, 2, 6); public static final String DEMO_SERVER_CERT = "-----BEGIN CERTIFICATE-----\n" - + "MIIGnzCCBYegAwIBAgIQBlOQJ8OKOh8bDPa6dZqdgjANBgkqhkiG9w0BAQsFADBP\n" - + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE\n" - + "aWdpQ2VydCBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTAeFw0yMjAyMDgwMDAwMDBa\n" - + "Fw0yMzAzMTEyMzU5NTlaMFUxCzAJBgNVBAYTAkVFMRAwDgYDVQQHEwdUYWxsaW5u\n" - + "MRswGQYDVQQKExJTSyBJRCBTb2x1dGlvbnMgQVMxFzAVBgNVBAMTDnRzcC5kZW1v\n" - + "LnNrLmVlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx9TYONK+Jm+m\n" - + "3AhmJ3YZqyeTYRVHS4vgo3GzKIn4yu/m4Erf819MVsC4KRzadewp1VXD13SYh9Ds\n" - + "xcVUWhMvM3Axp80EY+7YibbxxaWwuL7KIPvSeWVtI0mOI6fm/oU+MOgufUeGtpXY\n" - + "m08uJLppvUkbrbFOz2FUTNtQQsQozAVZPPIstQgjY+kylKejMnKECA5lnrGKDSfs\n" - + "VX6hJKRfYC3EIMujb5LpTIN86sio8Bm8tezEItRcX6IR/tWQ7t/FrA3j6yNKPBls\n" - + "pqnHXm5SyUdmiGBU7wnisxpaVHCxKBanGnxO/KP9f7ni/uj4GR7PgLOzktujIH4w\n" - + "Vc39FS4sqQIDAQABo4IDbzCCA2swHwYDVR0jBBgwFoAUt2ui6qiqhIx56rTaD5iy\n" - + "xZV2ufQwHQYDVR0OBBYEFCbBdIC0nlRYXaqIQzgPyYm6Wu73MBkGA1UdEQQSMBCC\n" - + "DnRzcC5kZW1vLnNrLmVlMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEF\n" - + "BQcDAQYIKwYBBQUHAwIwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NybDMu\n" - + "ZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VExTUlNBU0hBMjU2MjAyMENBMS0yLmNybDBA\n" - + "oD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VExTUlNBU0hB\n" - + "MjU2MjAyMENBMS0yLmNybDA+BgNVHSAENzA1MDMGBmeBDAECAjApMCcGCCsGAQUF\n" - + "BwIBFhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwfQYIKwYBBQUHAQEEcTBv\n" - + "MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRwYIKwYBBQUH\n" - + "MAKGO2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRMU1JTQVNI\n" - + "QTI1NjIwMjBDQTEuY3J0MAwGA1UdEwEB/wQCMAAwggF+BgorBgEEAdZ5AgQCBIIB\n" - + "bgSCAWoBaAB1AOg+0No+9QY1MudXKLyJa8kD08vREWvs62nhd31tBr1uAAABfthx\n" - + "ZTgAAAQDAEYwRAIgVQdSq5eZ1uMtcCKgl7VY3/+NsCbkpp3rggIVI90g9j8CIGnv\n" - + "uUSUACic9TRk9XDW7qicOzatz9Ws+t9u3HHSfJ+3AHcANc8ZG7+xbFe/D61MbULL\n" - + "u7YnICZR6j/hKu+oA8M71kwAAAF+2HFk+wAABAMASDBGAiEA/y27pjWRcwDJJTKi\n" - + "g3e+yFBlG5FCBHBtG4HYcJl1r9oCIQCbOcQAv8xkGj41wNvJ6nVEv/YokkPbrbsE\n" - + "41aoJba3IQB2ALNzdwfhhFD4Y4bWBancEQlKeS2xZwwLh9zwAw55NqWaAAABfthx\n" - + "ZRwAAAQDAEcwRQIgE1d1hWCbOolIK9TaF5UDgBQdWu8dDPyr/EyJqECsZ7wCIQDu\n" - + "UBZYdqlYEXGsJQPygSJqI0xrVUHi2hA04+c3J4mEyTANBgkqhkiG9w0BAQsFAAOC\n" - + "AQEAX0I3woJ1Z7ooQkX9SE11SohaDF6SuoPk8uY2ZZPhG+A31P7iCR026qCgwduG\n" - + "nmoNYnFG3Qx9P4hb1Sgf66zXd2z/qK/o7rJ43lUP1NPuRDDTvmXYBWgGQWNA9S5j\n" - + "LqO4LM5T7C4I/yrmb074G3hiJluUFuy+tPBOw/GyzzZndOCluoFBFvJXOQD+MCHC\n" - + "o0MEBhwlg4rX+Fw6cvvVXWe5bSmCmJlZk/lH/Fc6N796onhWdqMzPPj8mbCfbu6W\n" - + "2BNMilGZv6yIZ2mpYUfJ/x/L1dhE9YHNEUwjTwRjegMJkb/2/62huW5VzZl5gxb2\n" - + "MgWa5A2kruGgyzvgftx+fRb6tA==\n" - + "-----END CERTIFICATE-----\n"; + + "MIIGujCCBaKgAwIBAgIQAvzLET/HKStz0GM6x/Dx9zANBgkqhkiG9w0BAQsFADBZ\n" + + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE\n" + + "aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjYw\n" + + "MTA2MDAwMDAwWhcNMjcwMjA2MjM1OTU5WjBVMQswCQYDVQQGEwJFRTEQMA4GA1UE\n" + + "BxMHVGFsbGlubjEbMBkGA1UEChMSU0sgSUQgU29sdXRpb25zIEFTMRcwFQYDVQQD\n" + + "Ew50c3AuZGVtby5zay5lZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n" + + "AL2uXO+8VCXz7P9c1E6SzbssRqMcTq3CFWgM2jTiJmN0271Y208GiPB2P6A/jOQu\n" + + "/pbky7Y494OpCbGKgH82Kiox/NILRyKQZoEqWIKSFr9BoCb5i45ZZfBIdC7EtwvV\n" + + "RtlILDFCetBOztc+XOBh8ZO8GBgrhZ0Osa55HHmdLQAetcfX9HvYe8XoH4doc6za\n" + + "YZ7ocP4VFvyKoKpj32uVSNborgkOE04HS20/IHjYl4QQ/tbjHymZW1ENA6n0URxw\n" + + "aHBev4GnF6BgoeNg1xbMf3l+Zan4jUT1xywr8Y3tCJd8TPWVA8s1+gY1PE+Wj3tC\n" + + "MrhmGoTJBNrtJdLq5MmrPsECAwEAAaOCA4AwggN8MB8GA1UdIwQYMBaAFHSFgMBm\n" + + "x9833s+9KTeqAx2+7c0XMB0GA1UdDgQWBBTaA9oJontGg5jKsb2uklqZzonBgTAZ\n" + + "BgNVHREEEjAQgg50c3AuZGVtby5zay5lZTA+BgNVHSAENzA1MDMGBmeBDAECAjAp\n" + + "MCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDgYDVR0P\n" + + "AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMIGfBgNVHR8EgZcwgZQwSKBG\n" + + "oESGQmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbEcyVExT\n" + + "UlNBU0hBMjU2MjAyMENBMS0xLmNybDBIoEagRIZCaHR0cDovL2NybDQuZGlnaWNl\n" + + "cnQuY29tL0RpZ2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3Js\n" + + "MIGHBggrBgEFBQcBAQR7MHkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj\n" + + "ZXJ0LmNvbTBRBggrBgEFBQcwAoZFaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t\n" + + "L0RpZ2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3J0MAwGA1Ud\n" + + "EwEB/wQCMAAwggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB2AExj3JjlnB2riPYe\n" + + "ij3ero+rRKM3e1+blMP7oZz8wb4mAAABm5OS2tQAAAQDAEcwRQIgRX1rOx5VdRnn\n" + + "xRaRhIAaMH6MT8Oz3a//HQaKFLd29+8CIQC65BZeeJ7ciGmNjuEdvqH6xWM3j0Rx\n" + + "+UwR32DQkzfY1AB2AByfaCzp+vBFaVD4G5aKh93bMhDYTObIsuOCUkrEz1mfAAAB\n" + + "m5OS2uwAAAQDAEcwRQIgF8Wy26uMM+m385qW7AL8OmkdjN7h8F1AM+IWaEy+EQEC\n" + + "IQCOaJ9LwiI6vI+wC0SGm/8OQwQ/ZMgTCXwYpc0QKe17lwB2AGBMmq96f3dfAdQG\n" + + "/JINyJnrCxx9+MlSG/r6F3c7l4vJAAABm5OS26UAAAQDAEcwRQIhAN1H0YZN65bC\n" + + "WArSxO3VtDSJ1ZgEr/6BoCbLYeB3DsxFAiAROHFeImcLvLeRNxhP4fXRKlrOLaqg\n" + + "tHlK9xhlVjX0cjANBgkqhkiG9w0BAQsFAAOCAQEAIWJFR5AmbX48i1AYltc0Misk\n" + + "g7NPwa7wbjm0yzELKZlHGaEZ+K9EzVQSVsCSIUwizrStD3NBfJ5nVABpErpBervu\n" + + "w0cfP+xyie/rHUPt/KnCvrUHCj+FJQYLJ0Vx0VPoE279qPpVETy03mtyUExLxABR\n" + + "ujN6+MHtH5rTIwcaWWaFvcUBBvP27il5dgr0/qBQlZO+JvbkQBUC2uNdCwAwv3As\n" + + "YjA5paaVAF6xAt5TtGeBR4KC+xfTbtL/FO09jSq7ivG7B8Dcz6ZJa+hmArOiFVp0\n" + + "MM6cni+f0eGON0L6r+XQF+jyUsghrb1XKb9T6t9TIeY4G6h+ubNU1af8KmZQMA==\n" + + "-----END CERTIFICATE-----\n"; @Test(expected = MidSslException.class) public void makeRequestToGoogleApi_useDefaultSSLContext_sslHandshakeFailsAndThrowsException() throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException { diff --git a/src/test/resources/demo_server_trusted_ssl_certs.jks b/src/test/resources/demo_server_trusted_ssl_certs.jks index aebfc98..b83cacd 100644 Binary files a/src/test/resources/demo_server_trusted_ssl_certs.jks and b/src/test/resources/demo_server_trusted_ssl_certs.jks differ