Статус: Новичок
Группы: Участники
Зарегистрирован: 06.06.2013(UTC) Сообщений: 5 Откуда: Москва
|
Взял исходники из примера, поправил пути в Configuration. Выполняю класс SignExample и получаю ошибку:
java.security.cert.CertPathValidatorException: Could not determine revocation status: unable to find valid certification path to requested target at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:159) at sun.security.provider.certpath.PKIXCertPathValidator.doValidate(PKIXCertPathValidator.java:351) at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:191) at java.security.cert.CertPathValidator.validate(CertPathValidator.java:279) at ru.CryptoPro.reprov.CPCertPathValidator.engineValidate(Unknown Source) at java.security.cert.CertPathValidator.validate(CertPathValidator.java:279) at ru.CryptoPro.CAdES.b.d.a.a(Unknown Source) at ru.CryptoPro.CAdES.b.d.a.a(Unknown Source) at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source) at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source) at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source) at CAdES.SignExample.main(SignExample.java:49) Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268) at ru.CryptoPro.reprov.CrlRevocationChecker.a(Unknown Source) at ru.CryptoPro.reprov.CrlRevocationChecker.a(Unknown Source) at ru.CryptoPro.reprov.CrlRevocationChecker.a(Unknown Source) at ru.CryptoPro.reprov.CrlRevocationChecker.a(Unknown Source) at ru.CryptoPro.reprov.CrlRevocationChecker.check(Unknown Source) at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:133) ... 11 more
ru.CryptoPro.CAdES.exception.CAdESException <init> Status of the signer certificate [тут сертификат которым подписываю] is UNKNOWN or REVOKED
Проверил сертификат другими средставми - сертификат валидный. Падает на созданиии подписи CADES_BES cadesSignature.addSigner(privateKey, chain, CAdESType.CAdES_BES, null);
Как решить проблему?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. 1) корневой сертификат помещен в cacerts? 2) проверка сертификата подписи не выполняется. Проверьте доступ к CRL из CDP(возможно, нет доступа в сеть). |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.06.2013(UTC) Сообщений: 5 Откуда: Москва
|
1) Корневой сертификат установлен. Проверял так: keytool -list -keystore c:\Java\jre6\lib\security\cacerts 2) С доступом в интернет действительно могут быть проблемы (прокси). Получается, что если у человека нет доступа в интернет, то он не сможет подписать документ? А можно отлючить проверку сертификатов при подписании?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.06.2013(UTC) Сообщений: 5 Откуда: Москва
|
Спасибо за подсказку для прокси. А возможно отключить проверку при подписании (что бы подписывать документы на компьютере не имеющего доступ в интернет)?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Попробуйте задать System.setProperty("ru.CryptoPro.notThrowIfChainIsInvalid", "true") (ридми). Но делать это не рекомендуется. Отредактировано пользователем 6 июня 2013 г. 15:41:09(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.06.2013(UTC) Сообщений: 5 Откуда: Москва
|
Этот параметр (ru.CryptoPro.notThrowIfChainIsInvalid) как в README.cades.user.txt я пробовал — не помогает. Есть ли еще вариант отключения валидации сертификатов (именно при подписании)?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.02.2013(UTC) Сообщений: 38  Откуда: Москва Сказал(а) «Спасибо»: 14 раз Поблагодарили: 11 раз в 9 постах
|
Добрый день! Мы столкнулись с аналогичной проблемой. При подписании строки подписью CADES_BES получаю ошибку CAdESException: Could not determine revocation status: unable to find valid certification path to requested target Код:
public byte[] signMessage(byte[] message) throws Exception {
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
System.setProperty("ru.CryptoPro.notThrowIfChainIsInvalid", "true");
try {
KeyStore keyStore = KeyStore.getInstance(keyStoreType, keyStoreProvider);
keyStore.load(null, keyStorePassword.toCharArray());
Enumeration<String> enumeration = keyStore.aliases();
String alias = null;
if (enumeration.hasMoreElements()) // One certificate per USB key
alias = (String) enumeration.nextElement();
if (alias==null)
throw new Exception ("No certificate found - Please, verify that the key has been properly inserted in the USB slot and that its drivers are properly installed. Also, please verify that a certificate is present in the key");
X509Certificate cert = (X509Certificate) keyStore.getCertificate(alias);
PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, keyStorePassword.toCharArray());
List<X509Certificate> chain = new ArrayList<X509Certificate>();
// Получаем цепочку сертификатов.
List<Certificate> lChain = Arrays.asList(keyStore.getCertificateChain(alias));
// Конвертируем цепочку в X509Certificate.
Collection<X509Certificate> xChain = Arrays.asList((lChain).toArray(new X509Certificate[lChain.size()]));
chain.addAll(xChain);
//Создаем CAdES подпись.
CAdESSignature cadesSignature = new CAdESSignature(false); //detached = false
cadesSignature.setCertificateStore(null);
cadesSignature.setCRLStore(null);
cadesSignature.addSigner(
JCP.PROVIDER_NAME
, getDigestOid(privateKey)
, getPublicKeyOid(privateKey)
, privateKey
, chain
, CAdESType.CAdES_BES
, null
, false);
//здесь падает
Сертификаты из цепочки лежат в jre, через keytool -list проверила System.setProperty("ru.CryptoPro.notThrowIfChainIsInvalid", "true") не помогло Прокси нет Подскажите, пожалуйста, что делать
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. Обычно ошибка означает, что не удается проверить цепочку сертификатов. Прикрепите тут клиентский сертификат (а лучше - всю цепочку), посмотрим. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.02.2013(UTC) Сообщений: 38  Откуда: Москва Сказал(а) «Спасибо»: 14 раз Поблагодарили: 11 раз в 9 постах
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close