BouncyCastle in Java



我在程序中使用了以下代码将字节转换为公钥

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

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

我已经导入了"import org.bouncycastle.jce.provider.BouncyCastleProvider;",.

我已经将Bouncycastle.jar文件添加到我的jre7/lib/ext文件夹中,并通过添加以下行security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider对javasecurity文件进行了更改当我编译代码时,我得到以下错误

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

两个问题:

  • 该类的名称为X509EncodedKeySpec,而不是x509EncodedKeySpecs。修复您的import语句
  • 在编译和运行代码时,请确保BouncyCastle JAR位于类路径上

最新更新