From e356a483b6e26d53676c819f68c6feeee02c74f8 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 5 May 2023 10:53:49 +0200 Subject: [PATCH] Add subject alt to JKS store and re-enable OkHttp SSL tests Closes gh-35106 --- ...lientHttpRequestFactoriesOkHttp3Tests.java | 6 ------ ...lientHttpRequestFactoriesOkHttp4Tests.java | 6 ------ .../AbstractServletWebServerFactoryTests.java | 4 ++-- .../spring-boot/src/test/resources/test.jks | Bin 1276 -> 1317 bytes 4 files changed, 2 insertions(+), 14 deletions(-) diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp3Tests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp3Tests.java index 35c0e509e0..59e4c31444 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp3Tests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp3Tests.java @@ -19,7 +19,6 @@ package org.springframework.boot.web.client; import java.io.File; import okhttp3.OkHttpClient; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.boot.testsupport.classpath.ClassPathExclusions; @@ -67,9 +66,4 @@ class ClientHttpRequestFactoriesOkHttp3Tests return ((OkHttpClient) ReflectionTestUtils.getField(requestFactory, "client")).readTimeoutMillis(); } - @Override - @Disabled("OkHostnameVerifier fails because the JSK doesn't have a type 2 SubjectAltName") - void connectWithSslBundle() throws Exception { - } - } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp4Tests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp4Tests.java index 04b52ca5b6..13158708f5 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp4Tests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesOkHttp4Tests.java @@ -19,7 +19,6 @@ package org.springframework.boot.web.client; import java.io.File; import okhttp3.OkHttpClient; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.boot.testsupport.classpath.ClassPathExclusions; @@ -65,9 +64,4 @@ class ClientHttpRequestFactoriesOkHttp4Tests return ((OkHttpClient) ReflectionTestUtils.getField(requestFactory, "client")).readTimeoutMillis(); } - @Override - @Disabled("OkHostnameVerifier fails because the JSK doesn't have a type 2 SubjectAltName") - void connectWithSslBundle() throws Exception { - } - } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/AbstractServletWebServerFactoryTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/AbstractServletWebServerFactoryTests.java index f0d79128fa..65a87bbdc4 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/AbstractServletWebServerFactoryTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/AbstractServletWebServerFactoryTests.java @@ -458,7 +458,7 @@ public abstract class AbstractServletWebServerFactoryTests { new ExampleServlet(true, false), "/hello"); this.webServer = factory.getWebServer(registration); this.webServer.start(); - TrustStrategy trustStrategy = new SerialNumberValidatingTrustSelfSignedStrategy("3a3aaec8"); + TrustStrategy trustStrategy = new SerialNumberValidatingTrustSelfSignedStrategy("6454C1DC"); SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, trustStrategy).build(); PoolingHttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder.create() .setSSLSocketFactory(new SSLConnectionSocketFactory(sslContext)) @@ -1628,7 +1628,7 @@ public abstract class AbstractServletWebServerFactoryTests { @Override public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { String hexSerialNumber = chain[0].getSerialNumber().toString(16); - boolean isMatch = hexSerialNumber.equals(this.serialNumber); + boolean isMatch = hexSerialNumber.equalsIgnoreCase(this.serialNumber); return super.isTrusted(chain, authType) && isMatch; } diff --git a/spring-boot-project/spring-boot/src/test/resources/test.jks b/spring-boot-project/spring-boot/src/test/resources/test.jks index 0fc3e802f75461dd074facb9611d350db4d5960f..4601dc3969d007d6909537d92c28519a5b78a1ff 100644 GIT binary patch literal 1317 zcmezO_TO6u1_mZ5W@O+hNi8nXP0YzmEM{O}Y=15KrVJ=|#h~$`0UsNeHX9=gqZX4O zBO@yVOXEJns-^NfDwnDy#}%JHS)Wt1b;nd~IhT(GLaqG*v)ehUQ>J$?31*8nd6#gS zTCZZyf9tR7929%%t3X=Jfq7>u82l`zeikp^8^|Tu+!Hc}0UJ;6aj31` z;@KkT6#M>N;?*TR+v{979&9)pkniHLS>#Uq;aQ#Ht9!hP13q)`+u4* zc|#?S3AyRAZ@=78TOOdkBCw_E#jKY4dn?!4_td>iWWRLxgKTjA@mC&mWZ!Ps9Sigq zBLi!Mo~eN)koC!+iSZo}Pg%gs#K^?Nk`i+8jsX`NhgO@%Ia?NHCWAslZUas>=1>+k zVWx@-Lm>kJ5Ql?@GbcYeF()IxxCAD~jzx?Mix@W+F=iw&0|jwjBVz+oAha+sF*J&j z;5RZv5f}(ZMH&dRv4cZ}i4ht+%#7^JP7EwryV5qO`JMluyI1!itJ)csGb~(MMFqZ< zFN1meShntM-0jO^+czPPFMv(0bI<$7PnCLCFX^b;@saW635DlXt5g?D7>F5&07F$) zkcHQPy9p7p$PvNp!C>IZq@W{nI^v|%TLS;({G=qn$L67xBtH1+&tjtyoX{2oT00=z=g6+A0rFDn252`-%a literal 1276 zcmezO_TO6u1_mZ5W@O+hNi8nXP0YzmEM{O}OjTL=XFE`?-k{cikBv*4jgf^>i%F1? zk(GfZ`?F{4vBFug6<%MmmXJ+)mEgQoslXV6!5_H^yana6V1?kw1w zbE0Bi&GHlLHzfosgjrwL)qKcc5I;l0LF?W2lpQg%-cHp$l(#o)?Jkath1@gQN{hG8 zig@wKv#0R7vd_QC=JG%%Ffy=4=$RT=0v*d`(8R=M(8RcU0W%XL6BCP-)w&Y~JZv0V zZ64=rS(uqv84M~6g$xAPm_u3EggJBalM{0?@{3DgVjNh+*s+LlVG-lTBF2m)W*{fd zYiMC$VQ64zW@K(?5e4L0B5?=MWswHLZ0z7LVq$~_7BeF|vl9agPmO-znfkD()@R+bGrT$(AXmN24#zv*XRX z#$UNu(Lmln78u;Jd@N!tBKmU@J0!OJc3G%!N>OO@P1n+F-CorAVRmOQaA8six!iWP z)M3lXpnJ*TI=kIlH(Yxia-ls?xvctEx&P5B6()tKm`>%bo~@fX9{j%TtMU1G!|pw& zZ6BRjIqQ^`bIxR@OmMno&8^H%tpq36Esh&T(+MJ_la+#pV>+3scS%