You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Отрабатывает без проблем. Сертификат выводиться.
Запускаю Api.Authenticate(certificate); Выдает ошибку:
java.security.UnrecoverableKeyException: Need password
at ru.CryptoPro.JCP.KeyStore.t.f(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.t.e(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.t.a(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
at java.security.KeyStore.getKey(KeyStore.java:792)
at Diadoc.Api.CertificateHelper.getPrivateKey(CertificateHelper.java:139)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:344)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:47)
май 08, 2018 1:26:24 PM ru.CryptoPro.Crypto.Key.KeyAgreement engineInit
WARNING: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
java.security.InvalidKeyException: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
at ru.CryptoPro.Crypto.Key.KeyAgreement.engineInit(Unknown Source)
at javax.crypto.KeyAgreement.implInit(KeyAgreement.java:342)
at javax.crypto.KeyAgreement.chooseProvider(KeyAgreement.java:372)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:524)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:498)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:345)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:47)
Exception in thread "main" java.security.InvalidKeyException: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
at ru.CryptoPro.Crypto.Key.KeyAgreement.engineInit(Unknown Source)
at javax.crypto.KeyAgreement.implInit(KeyAgreement.java:342)
at javax.crypto.KeyAgreement.chooseProvider(KeyAgreement.java:372)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:524)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:498)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:345)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:47)
В какую сторону искать решение проблемы? И что за пароль он требует? (java.security.UnrecoverableKeyException: Need password)
Сертификат рабочий, авторизация через web в ДИАДОК проходит, файлы отправляются. Пишем решение для автоматизации данного процесса.
The text was updated successfully, but these errors were encountered:
С паролем я более менее разобрался.
PrivateKey privateKey = CertificateHelper.getPrivateKey(currentCert, "Сюда надо ключ от закрытого ключа передать"); (Это в decryptToken)
Далее ошибка:
май 09, 2018 12:22:40 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.54 36641
май 09, 2018 12:22:40 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Exception in thread "main" java.lang.UnsupportedOperationException
at javax.crypto.CipherSpi.engineGetKeySize(CipherSpi.java:926)
at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1051)
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1009)
at javax.crypto.Cipher.implInit(Cipher.java:785)
at javax.crypto.Cipher.chooseProvider(Cipher.java:848)
at javax.crypto.Cipher.init(Cipher.java:1212)
at javax.crypto.Cipher.init(Cipher.java:1152)
at Diadoc.Api.DiadocApi.gostUnwrapKey(DiadocApi.java:321)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:349)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:48)
Здравствуйте, помогите решить проблему. Использую JRE 1.7 JCP 1.0.54.
Почитал подобные решения проблем, мне так и ни одно и не помогло. Изначально использовал JRE 1.8.0_131 JCP 2. Выдавал ошибку про GOST3410DH.
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
PrivateKey privateKey = (PrivateKey)keyStore.getKey(ALIAS, PASSWORD);
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(ALIAS);
System.out.println(certificate);
Отрабатывает без проблем. Сертификат выводиться.
Запускаю Api.Authenticate(certificate); Выдает ошибку:
java.security.UnrecoverableKeyException: Need password
at ru.CryptoPro.JCP.KeyStore.t.f(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.t.e(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.t.a(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
at java.security.KeyStore.getKey(KeyStore.java:792)
at Diadoc.Api.CertificateHelper.getPrivateKey(CertificateHelper.java:139)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:344)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:47)
май 08, 2018 1:26:24 PM ru.CryptoPro.Crypto.Key.KeyAgreement engineInit
WARNING: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
java.security.InvalidKeyException: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
at ru.CryptoPro.Crypto.Key.KeyAgreement.engineInit(Unknown Source)
at javax.crypto.KeyAgreement.implInit(KeyAgreement.java:342)
at javax.crypto.KeyAgreement.chooseProvider(KeyAgreement.java:372)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:524)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:498)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:345)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:47)
Exception in thread "main" java.security.InvalidKeyException: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
at ru.CryptoPro.Crypto.Key.KeyAgreement.engineInit(Unknown Source)
at javax.crypto.KeyAgreement.implInit(KeyAgreement.java:342)
at javax.crypto.KeyAgreement.chooseProvider(KeyAgreement.java:372)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:524)
at javax.crypto.KeyAgreement.init(KeyAgreement.java:498)
at Diadoc.Api.DiadocApi.decryptToken(DiadocApi.java:345)
at Diadoc.Api.DiadocApi.getAuthToken(DiadocApi.java:296)
at Diadoc.Api.DiadocApi.Authenticate(DiadocApi.java:191)
at program.main(program.java:47)
В какую сторону искать решение проблемы? И что за пароль он требует? (java.security.UnrecoverableKeyException: Need password)
Сертификат рабочий, авторизация через web в ДИАДОК проходит, файлы отправляются. Пишем решение для автоматизации данного процесса.
The text was updated successfully, but these errors were encountered: