Я написал новый провайдер, а также приложение для его тестирования.
JCE принимает только подписанного провайдера в соответствии с этой статьей. а>.
У меня не было сертификата от организации, которой доверяет JCA, поэтому мне интересно, могу ли я использовать самозаверяющий сертификат для подписи этого нового поставщика.
Я следил за этой статьей чтобы добавить мой сертификат в cacerts JDK. Затем использовал этот сертификат для подписи 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, может подписывать jar-файл поставщика JCE, любой другой сертификат для подписи кода Java, такой как comodo или самоподписанный, не может?