File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed
java/org/jruby/ext/openssl Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change 1010import java .security .KeyStoreException ;
1111import java .security .NoSuchAlgorithmException ;
1212import java .security .Provider ;
13+ import java .security .Security ;
1314import java .security .Signature ;
1415import java .security .cert .CertificateException ;
16+ import java .security .cert .CertificateFactory ;
1517
1618import org .junit .After ;
1719import org .junit .Before ;
@@ -435,4 +437,25 @@ public void testGetKeyGeneratorThrows() throws Exception {
435437 }
436438 }
437439
440+ @ Test
441+ public void testCertificateFactoryProviderStaysConstant () throws Exception {
442+ Provider [] registeredProviders = Security .getProviders ();
443+
444+ try {
445+ // clear previous providers
446+ for (Provider provider : registeredProviders ) Security .removeProvider (provider .getName ());
447+
448+ CertificateFactory certFactory1 = SecurityHelper .getCertificateFactory ("X.509" );
449+ CertificateFactory certFactory2 = SecurityHelper .getCertificateFactory ("X.509" );
450+
451+ assertSame (certFactory1 .getProvider (), certFactory2 .getProvider ());
452+ } finally {
453+ // clear any added by the test
454+ for (Provider provider : Security .getProviders ()) Security .removeProvider (provider .getName ());
455+
456+ // restore previous providers
457+ for (Provider provider : registeredProviders ) Security .addProvider (provider );
458+ }
459+ }
460+
438461}
You can’t perform that action at this time.
0 commit comments