我写了一个新的提供程序,还有一个应用程序来测试它。
JCE仅根据此article接受了已签名的提供商。
我没有来自JCA信任的实体的证书,所以我想我可以使用自签证书签署这个新的提供商。
我按照article将证书添加到JDK的cacerts中。然后用这个 用于签署提供者jar文件的证书。
但我仍然有这个例外:
Exception in thread "main" java.security.NoSuchProviderException: JCE cannot authenticate the provider Tang
at javax.crypto.SunJCE_b.a(DashoA13*..)
at javax.crypto.Mac.getInstance(DashoA13*..)
at SSLServer.<init>(SSLServer.java:48)
at SSLServer.main(SSLServer.java:156)
Caused by: java.util.jar.JarException: Cannot parse file:/D:/Develop/tang.jar
at javax.crypto.SunJCE_c.a(DashoA13*..)
at javax.crypto.SunJCE_b.b(DashoA13*..)
at javax.crypto.SunJCE_b.a(DashoA13*..)
... 4 more
我的问题只是来自JCA信任的实体的证书可以签署JCE提供者jar文件,任何其他java代码签名证书,如comodo或self-siged,不能?