JCE cannot authenticate the provider BC in java swing application
For those finding this issue but actually using SpongyCastle
, it might be interesting to know that on Android there is no such signature test and for your tests you can use SpongyCastle via the openJDK-8 as that doesn't care about signatures neither.
For reference, with SpongyCastle the error reads:
java.lang.SecurityException: JCE cannot authenticate the provider SC
More information in this issue
To expand on the comment from GregS, all JCE provider JARs must be signed before they will be trusted by your Java runtime.
BouncyCastle dutifully supplies signed JARs that will work without a problem. However, if you extract class files from this JAR, or recompile the source, it will remove the signature and cause Java to reject the code.
See this related SO question: How to sign a custom JCE security provider
- edit
jre\lib\security\java.security
- add
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
- copy
bc*.jar
tojre\lib\ext