@@ -118,21 +118,13 @@ public void testOcspGood_ClientVerifiesServerCertificateOnly() throws Exception
118118 }
119119 @ Test
120120 public void testOcspGood_Mutual () throws Exception {
121- final int ocspResponderPortForClient = 8889 ;
122- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
123- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_GOOD_RESPONSE )).toPath ()), ocspResponderPortForClient )){
124- fakeOcspResponder .start ();
125- Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , true , ffm ));
126- }
121+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_GOOD_RESPONSE ,
122+ () -> Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , true , ffm )));
127123 }
128124 @ Test
129125 public void testOcspGood_ServerVerifiesClientCertificateOnly () throws Exception {
130- final int ocspResponderPortForClient = 8889 ;
131- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
132- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_GOOD_RESPONSE )).toPath ()), ocspResponderPortForClient )){
133- fakeOcspResponder .start ();
134- Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , true , false , ffm ));
135- }
126+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_GOOD_RESPONSE ,
127+ () -> Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , true , false , ffm )));
136128 }
137129 @ Test (expected = CertificateRevokedException .class )
138130 public void testOcspRevoked_ClientVerifiesServerCertificateOnly () throws Exception {
@@ -153,21 +145,13 @@ public void testOcspRevoked_Mutual() throws Exception {
153145 }
154146 @ Test (expected = SSLHandshakeException .class )
155147 public void testOcspRevoked_ServerVerifiesClientCertificateOnly () throws Exception {
156- final int ocspResponderPortForClient = 8889 ;
157- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
158- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_REVOKED_RESPONSE )).toPath ()), ocspResponderPortForClient )){
159- fakeOcspResponder .start ();
160- testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , false , ffm );
161- }
148+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_REVOKED_RESPONSE ,
149+ () -> testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , true , false , ffm ));
162150 }
163151 @ Test
164152 public void testOcsp_NoVerification () throws Exception {
165- final int ocspResponderPortForClient = 8889 ;
166- Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
167- try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (OCSP_CLIENT_CERT_REVOKED_RESPONSE )).toPath ()), ocspResponderPortForClient )){
168- fakeOcspResponder .start ();
169- Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , false , false , ffm ));
170- }
153+ testOCSPWithClientResponder (OCSP_CLIENT_CERT_REVOKED_RESPONSE ,
154+ () -> Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_REVOKED_RESPONSE , false , false , ffm )));
171155 }
172156 @ Test
173157 public void testOcspResponderUrlDiscoveryViaCertificateAIA () throws Exception {
@@ -176,6 +160,18 @@ public void testOcspResponderUrlDiscoveryViaCertificateAIA() throws Exception {
176160 Assert .assertEquals (HttpServletResponse .SC_OK , testOCSP (OCSP_SERVER_CERT_GOOD_RESPONSE , false , true , ffm ,
177161 true , ocspPort ));
178162 }
163+ @ FunctionalInterface
164+ private interface TestOCSPAction {
165+ void execute () throws Exception ;
166+ }
167+ private void testOCSPWithClientResponder (String clientResponsePath , TestOCSPAction testOCSPAction ) throws Exception {
168+ final int ocspResponderPortForClient = 8889 ;
169+ Assume .assumeTrue ("Port " + ocspResponderPortForClient + " is not available." , isPortAvailable (ocspResponderPortForClient ));
170+ try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder (Files .readAllBytes (new File (getPath (clientResponsePath )).toPath ()), ocspResponderPortForClient )){
171+ fakeOcspResponder .start ();
172+ testOCSPAction .execute ();
173+ }
174+ }
179175 private int testOCSP (String pathToOcspResponse , boolean serverSideVerificationEnabled , boolean clientSideOcspVerificationEnabled , boolean ffm ) throws Exception {
180176 return testOCSP (pathToOcspResponse , serverSideVerificationEnabled , clientSideOcspVerificationEnabled , ffm ,
181177 false , 0 );
0 commit comments