一尘不染

JCE无法在Java Swing应用程序中对提供者BC进行身份验证

java

我正在用Java创建一个基于Swing的应用程序,该应用程序使用了一些加密技术。但是javax.crypto.KeyGenerator.getInstance(“
AES”,“ BC”)给出了例外:

java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
        at javax.crypto.SunJCE_b.a(DashoA13*..)
        at javax.crypto.KeyGenerator.getInstance(DashoA13*..)

那是什么问题呢?


阅读 449

收藏
2020-09-08

共1个答案

一尘不染

为了扩展来自GregS的评论,必须先对所有JCE提供者JAR进行签名,然后它们才能被Java运行时所信任。

BouncyCastle会忠实地提供已签名的JAR,这些JAR可以毫无问题地工作。但是,如果从此JAR中提取类文件或重新编译源文件,它将删除签名并导致Java拒绝代码。

2020-09-08