Короче ограбили нашу контору за новый токен, мы его воткнули и весь криптостек упал. Суть в том, что строчка алгоритм сертификата !equals строчке алгоритма публичного ключа.
Минимальный тестировщик: https://github.com/Crutchmaster/CPKeyTester
Его выхлоп:
Keystory type: CryptoProCSPKeyStore
Keystore provider: DIGT
Private keys:
Private key:
cert #0 public key algorithm:GOST3410v12256
cert #1 public key algorithm:GOST3410v12256
cert #2 public key algorithm:GOST3410v12256
Private key algorithm:GOST3410
java.lang.IllegalArgumentException: private key algorithm does not match algorithm of public key in end entity certificate (at index 0)
at java.security.KeyStore$PrivateKeyEntry.<init>(Unknown Source)
at java.security.KeyStore$PrivateKeyEntry.<init>(Unknown Source)
at java.security.KeyStoreSpi.engineGetEntry(Unknown Source)
at java.security.KeyStore.getEntry(Unknown Source)
at com.ric.gis.keyTester.App.run(App.java:70)
at com.ric.gis.keyTester.App.main(App.java:26)