Search code examples
javasecuritybouncycastle

BouncyCastle in Java


I have used the following cod in my program to convert byte to public key

Security.addProvider(new BouncyCastleProvider());
         X509EncodedKeySpec x509keyspec=new X509EncodedKeySpec(b);


         KeyFactory keyfact=KeyFactory.getInstance("RSA","BC");
         Key pubkey=keyfact.generatePublic(x509keyspec); 

I have imported "import org.bouncycastle.jce.provider.BouncyCastleProvider;",.

I have added Bouncycastle.jar file into my jre7/lib/ext folder and made changes in javasecurity file by adding following line security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider When i compile code i m getting following error

Reverse.java:14: error: cannot find symbol
import java.security.spec.x509EncodedKeySpecs;
                         ^
symbol:   class x509EncodedKeySpecs
location: package java.security.spec

Reverse.java:16: error: package org.bouncycastle.jce.provider does not exist
import org.bouncycastle.jce.provider.BouncyCastleProvider;

Reverse.java:49: error: cannot find symbol
Security.addProvider(new BouncyCastleProvider());
                                  ^
  symbol:   class BouncyCastleProvider
  location: class Reverse

Solution

  • Two problems:

    • The class is named X509EncodedKeySpec not x509EncodedKeySpecs. Fix your import statement.
    • Make sure the BouncyCastle JAR is on the classpath when you compile and run your code.