最近在项目中写了一段加密,分别是本机的测试与部署服务器上的代码:
PublicKey publicK = certificate.getPublicKey();
Cipher rsaCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");
rsaCipher.init(Cipher.ENCRYPT_MODE, publicK);
byte[] encryptedData = rsaCipher.doFinal(data);
奇怪的是本机上能正常通过,但是在服务器上在第二行就报java.lang.SecurityException: The provider BC may not be signed by a trusted party
本机环境:win2000, Jre1.4.1_09, bcprov-jdk14-132.jar
服务器环境:linux redhad, Jre1.4.1_08, bcprov-jdk14-132.jar
请问各位知道这是什么原因吗?急啊?

解决方案 »

  1.   

    你把下面的加到入,然后试试看。  
     Object context = null;
       SecurityManager sm = System.getSecurityManager();
       if (sm != null) context = sm.getSecurityContext();
      if (sm != null) sm.checkPermission(permission, context);//如果在拒绝访问某个包的时间就会抛出SecurityException异常。