Статус: Новичок
Группы: Участники
Зарегистрирован: 21.10.2019(UTC) Сообщений: 2
Сказал(а) «Спасибо»: 1 раз
|
После обновления токена ява начала ругаться на несоотвествие алгоритмов сертификата и закрытого ключа: Код:
java.lang.IllegalArgumentException: private key algorithm does not match algorithm of public key in end entity certificate (at index 0)
Пример для воспроизведения ошибки: https://github.com/Crutchmaster/CPKeyTesterTrusted java засунуть в ~/.m2/repository/com/digt/trustedJava/2.0/trustedJava-2.0.jar Собирать: mvn package Запускать: java -jar target/KeyTester-0.0.1-SNAPSHOT-jar-with-dependencies.jar Весь его выхлоп: Код:
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)
Собственно, "GOST340" !equals "GOST3410v12256" вот она и встала в позу, вместе со всем шифровальным стеком. Если не сложно потестируйте на своих токенах, заменив path и password в сорцах, ну и пожелайте что-нибудь хорошего.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.09.2016(UTC) Сообщений: 126
Сказал(а) «Спасибо»: 8 раз Поблагодарили: 35 раз в 28 постах
|
С keyStore.getEntry на 2012 не работает, можно переписать на использование getKey/getCertificate. Что то вида: //KeyLoader.java Код:public static PrivateKey getPrivateKey(KeyStore keyStore, String alias, char[] keyPassword) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
return (PrivateKey) keyStore.getKey(alias, keyPassword);
}
public static X509Certificate getX509Certificate(KeyStore keyStore, String alias) throws CertificateException, KeyStoreException {
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);
if (certificate == null)
return null;
return (X509Certificate) CertificateFactory.getInstance("X509").generateCertificate(new ByteArrayInputStream(certificate.getEncoded()));
}
//SignSoap.java Код: KeyingDataProvider kp = new DirectKeyingDataProvider((X509Certificate) KeyLoader.getX509Certificate(keyStore, parameters.getAlias()), KeyLoader.getPrivateKey(keyStore, parameters.getAlias(), keyPassword));
|
 2 пользователей поблагодарили Aleksandr G* за этот пост.
|
jihe оставлено 21.10.2019(UTC), clueless оставлено 02.08.2022(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 21.10.2019(UTC) Сообщений: 2
Сказал(а) «Спасибо»: 1 раз
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close