Open grthor opened 3 years ago
Some of my thoughts while looking at this:
org.bouncycastle.asn1.DER
+ {Encoder,Decoder,...}
and have a String that evaluates to Null
for the hind part. import org.jcryptool.core.operations.providers.ProviderManager2;
try {
getInstance().pushFlexiProviderPromotion();
your.code();
} finally {
getInstance().popCryptoProviderPromotion();
}
see #224, https://github.com/jcryptool/core/commit/2ca1760287d845d94274412d73a09a01d8283c9a
Require-Bundle: org.bouncycastle
.If I were to check these, I'd start with the third as it's the least labor-intensive.
I have investigated the problem further and have come to the following results:
In the algorithms perspective, the keys supplied from the keystore do not work. The algorithms themselves work. You can test this by creating a new key and executing the algorithm. With a newly created key, the algorithms work.
If you restart the JCT with the newly created key, the new key will also no longer work. The same error message appears as with the keys from the keystore.
I traced the problem and found a (probably) broken certificate chain. The certificate chain seems to break when saving or loading the keystore. The following text is an example of a certificate chain before and after saving:
Before saving (working):
After loading (broken):
The broken certificate chain will be most likely the problem why the provided keys from the keystore do not work.
My starting point is currently to track whether saving or loading is the problem.