|
24 | 24 | import java.security.KeyStoreException; |
25 | 25 | import java.security.NoSuchAlgorithmException; |
26 | 26 | import java.security.PrivateKey; |
| 27 | +import java.security.Provider; |
27 | 28 | import java.security.Security; |
28 | 29 | import java.security.UnrecoverableKeyException; |
29 | 30 | import java.security.cert.Certificate; |
|
32 | 33 | import java.security.cert.X509Certificate; |
33 | 34 | import java.security.spec.InvalidKeySpecException; |
34 | 35 | import java.util.Collection; |
| 36 | +import java.util.ServiceLoader; |
35 | 37 | import javax.net.ssl.KeyManager; |
36 | 38 | import javax.net.ssl.KeyManagerFactory; |
37 | 39 | import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; |
|
40 | 42 | import org.bouncycastle.openssl.jcajce.JcaMiscPEMGenerator; |
41 | 43 | import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; |
42 | 44 | import org.bouncycastle.util.io.pem.PemWriter; |
| 45 | +import org.slf4j.Logger; |
| 46 | +import org.slf4j.LoggerFactory; |
43 | 47 |
|
44 | 48 | public class SSLUtils { |
| 49 | + private static final Logger log = LoggerFactory.getLogger(SSLUtils.class); |
| 50 | + |
45 | 51 | static { |
46 | | - Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); |
| 52 | + ServiceLoader<Provider> services = ServiceLoader.load(java.security.Provider.class); |
| 53 | + for (Provider service : services) { |
| 54 | + log.debug("Found security provider: " + service.getName()); |
| 55 | + Security.addProvider(service); |
| 56 | + } |
47 | 57 | } |
48 | 58 |
|
49 | 59 | public static boolean isNotNullOrEmpty(String val) { |
|
0 commit comments