@@ -119,21 +119,13 @@ public void testOcspGood_ClientVerifiesServerCertificateOnly() throws Exception
119119 }
120120 @ Test
121121 public void testOcspGood_Mutual () throws Exception {
122- final int ocspResponderPortForClient = 8889 ;
123- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
124- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_GOOD_RESPONSE )).toPath ()), ocspResponderPortForClient )){
125- fakeOcspResponder .start ();
126- Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , true , ffm ));
127- }
122+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_GOOD_RESPONSE ,
123+ () -> Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , true , ffm )));
128124 }
129125 @ Test
130126 public void testOcspGood_ServerVerifiesClientCertificateOnly () throws Exception {
131- final int ocspResponderPortForClient = 8889 ;
132- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
133- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_GOOD_RESPONSE )).toPath ()), ocspResponderPortForClient )){
134- fakeOcspResponder .start ();
135- Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , true , false , ffm ));
136- }
127+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_GOOD_RESPONSE ,
128+ () -> Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , true , false , ffm )));
137129 }
138130 @ Test (expected = CertificateRevokedException .class )
139131 public void testOcspRevoked_ClientVerifiesServerCertificateOnly () throws Exception {
@@ -154,21 +146,13 @@ public void testOcspRevoked_Mutual() throws Exception {
154146 }
155147 @ Test (expected = SSLHandshakeException .class )
156148 public void testOcspRevoked_ServerVerifiesClientCertificateOnly () throws Exception {
157- final int ocspResponderPortForClient = 8889 ;
158- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
159- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_REVOKED_RESPONSE )).toPath ()), ocspResponderPortForClient )){
160- fakeOcspResponder .start ();
161- testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , false , ffm );
162- }
149+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_REVOKED_RESPONSE ,
150+ () -> testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , false , ffm ));
163151 }
164152 @ Test
165153 public void testOcsp_NoVerification () throws Exception {
166- final int ocspResponderPortForClient = 8889 ;
167- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
168- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_REVOKED_RESPONSE )).toPath ()), ocspResponderPortForClient )){
169- fakeOcspResponder .start ();
170- Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , false , false , ffm ));
171- }
154+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_REVOKED_RESPONSE ,
155+ () -> Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , false , false , ffm )));
172156 }
173157 @ Test
174158 public void testOcspResponderUrlDiscoveryViaCertificateAIA () throws Exception {
@@ -177,6 +161,18 @@ public void testOcspResponderUrlDiscoveryViaCertificateAIA() throws Exception {
177161 Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , false , true , ffm ,
178162 true , ocspPort ));
179163 }
164+ @ FunctionalInterface
165+ private interface TestOCSPAction {
166+ void execute () throws Exception ;
167+ }
168+ private void testOCSPWithClientResponder (String clientResponsePath , TestOCSPAction testOCSPAction ) throws Exception {
169+ final int ocspResponderPortForClient = 8889 ;
170+ Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
171+ try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (clientResponsePath )).toPath ()), ocspResponderPortForClient )){
172+ fakeOcspResponder .start ();
173+ testOCSPAction .execute ();
174+ }
175+ }
180176 private int testOCSP (String pathToOcspResponse , boolean serverSideVerificationEnabled , boolean clientSideOcspVerificationEnabled , boolean ffm ) throws Exception {
181177 return testOCSP (pathToOcspResponse , serverSideVerificationEnabled , clientSideOcspVerificationEnabled , ffm ,
182178 false , 0 );
0 commit comments