package org.dcache.util; import org.bouncycastle.jce.provider.BouncyCastleProvider; import java.security.NoSuchProviderException; import java.security.Security; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; public class CertificateFactories { public static final String X_509 = "X.509"; static { Security.addProvider(new BouncyCastleProvider()); } private CertificateFactories() { } /** * Returns an X.509 CertificateFactory. * * @throws RuntimeException if the factory could not be instantiated */ public static CertificateFactory newX509CertificateFactory() { try { return CertificateFactory.getInstance(X_509, BouncyCastleProvider.PROVIDER_NAME); } catch (CertificateException e) { throw new RuntimeException("Failed to create X.509 certificate factory: " + e.getMessage(), e); } catch (NoSuchProviderException e) { throw new RuntimeException("Failed to load bouncy castle provider: " + e.getMessage(), e); } } }