44import org .bouncycastle .asn1 .x509 .SubjectPublicKeyInfo ;
55import org .bouncycastle .cert .X509CertificateHolder ;
66import org .bouncycastle .jce .ECNamedCurveTable ;
7- import org .bouncycastle .jce .provider .BouncyCastleProvider ;
87import org .bouncycastle .jce .spec .ECNamedCurveParameterSpec ;
98import org .bouncycastle .jce .spec .ECPublicKeySpec ;
109import org .bouncycastle .math .ec .ECPoint ;
2120import java .security .KeyFactory ;
2221import java .security .NoSuchAlgorithmException ;
2322import java .security .PublicKey ;
24- import java .security .Security ;
2523import java .security .interfaces .ECPrivateKey ;
2624import java .security .interfaces .ECPublicKey ;
2725import java .security .spec .InvalidKeySpecException ;
3533 */
3634final class PemUtils {
3735
38- private static final BouncyCastleProvider PROVIDER = new BouncyCastleProvider ();
39-
40- static {
41- Security .addProvider (PROVIDER );
42- }
4336
4437 private PemUtils () {
4538 }
@@ -50,7 +43,7 @@ static ECPublicKey publicKeyFromPem(String pemEncoding) {
5043 SubjectPublicKeyInfo publicKeyInfo = (SubjectPublicKeyInfo ) parser .readObject ();
5144 parser .close ();
5245
53- JcaPEMKeyConverter converter = new JcaPEMKeyConverter (). setProvider ( PROVIDER ) ;
46+ JcaPEMKeyConverter converter = new JcaPEMKeyConverter ();
5447 return (ECPublicKey ) converter .getPublicKey (publicKeyInfo );
5548 } catch (IOException e ) {
5649 throw new RuntimeException (e );
@@ -63,7 +56,7 @@ static ECPrivateKey privateKeyFromPem(String pemEncoding) {
6356 PrivateKeyInfo privateKeyInfo = (PrivateKeyInfo ) parser .readObject ();
6457 parser .close ();
6558
66- JcaPEMKeyConverter converter = new JcaPEMKeyConverter (). setProvider ( PROVIDER ) ;
59+ JcaPEMKeyConverter converter = new JcaPEMKeyConverter ();
6760 return (ECPrivateKey ) converter .getPrivateKey (privateKeyInfo );
6861 } catch (IOException e ) {
6962 throw new RuntimeException (e );
@@ -76,7 +69,7 @@ static String getPEMPublicKeyFromX509Cert(String pemInX509Format) {
7669 X509CertificateHolder x509CertificateHolder = (X509CertificateHolder ) parser .readObject ();
7770 parser .close ();
7871 SubjectPublicKeyInfo publicKeyInfo = x509CertificateHolder .getSubjectPublicKeyInfo ();
79- JcaPEMKeyConverter converter = new JcaPEMKeyConverter (). setProvider ( PROVIDER ) ;
72+ JcaPEMKeyConverter converter = new JcaPEMKeyConverter ();
8073 ECPublicKey publicKey ;
8174 try {
8275 publicKey = (ECPublicKey ) converter .getPublicKey (publicKeyInfo );
@@ -97,7 +90,7 @@ static String getPEMPublicKeyFromX509Cert(String pemInX509Format) {
9790
9891 static byte [] compressECPublickey (String pemECPubKey ) {
9992 try {
100- KeyFactory ecKeyFac = KeyFactory .getInstance ("EC" , PROVIDER );
93+ KeyFactory ecKeyFac = KeyFactory .getInstance ("EC" );
10194 PemReader pemReader = new PemReader (new StringReader (pemECPubKey ));
10295 PemObject pemObject = pemReader .readPemObject ();
10396 PublicKey pubKey = ecKeyFac .generatePublic (new X509EncodedKeySpec (pemObject .getContent ()));
@@ -112,7 +105,7 @@ static String publicKeyFromECPoint(byte[] ecPoint, String curveName) {
112105 ECNamedCurveParameterSpec ecSpec = ECNamedCurveTable .getParameterSpec (curveName );
113106 ECPoint point = ecSpec .getCurve ().decodePoint (ecPoint );
114107 ECPublicKeySpec publicKeySpec = new ECPublicKeySpec (point , ecSpec );
115- KeyFactory keyFactory = KeyFactory .getInstance ("ECDSA" , PROVIDER );
108+ KeyFactory keyFactory = KeyFactory .getInstance ("ECDSA" );
116109 PublicKey publicKey = keyFactory .generatePublic (publicKeySpec );
117110
118111 StringWriter writer = new StringWriter ();
0 commit comments