Статус: Активный участник
Группы: Участники
Зарегистрирован: 16.02.2016(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 18 раз Поблагодарили: 2 раз в 2 постах
|
Здравствуйте. Столкнулся с проблемой подписи по примерам из cades. Имеется цепочка из двух сертификатов. В контрольной панели цепочка строится. Все сертификаты валидны. При подписи получаю следующее: Код:
FINE: %%% Verifying the certificate chain for the target certificate
serial number: 1aecd077000000000000
subject: EMAILADDRESS=name@test.ru, CN=Имя Фамилия Отчество, O="ООО \"ТТТ\"", L=Москва, C=RU
issuer: CN=CA-Test
signature provider: JCP
PKIX validator: CPPKIX of RevCheck
revocation enabled: true
online: true
... %%%
Apr 27, 2016 2:38:24 PM ru.CryptoPro.CAdES.e.a.b a
FINE: Verify the certificate chain by use of CRL (online).
Apr 27, 2016 2:38:24 PM ru.CryptoPro.reprov.certpath.o a
WARNING: Exception getting CRL from CertStore:
java.security.InvalidAlgorithmParameterException: org.bouncycastle.jce.provider.X509LDAPCertStoreSpi: parameter must be a org.bouncycastle.jce.X509LDAPCertStoreParameters object
LDAPCertStoreParameters: [
serverName: localhost
port: 389
]
at org.bouncycastle.jce.provider.X509LDAPCertStoreSpi.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.security.Provider$Service.newInstance(Provider.java:1609)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:243)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:190)
at java.security.cert.CertStore.getInstance(CertStore.java:228)
at ru.CryptoPro.reprov.certpath.g.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.n.<init>(Unknown Source)
at ru.CryptoPro.reprov.certpath.n.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.o.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.o.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.o.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.check(Unknown Source)
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:119)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:212)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at ru.CryptoPro.reprov.CPCertPathValidator.engineValidate(Unknown Source)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at ru.CryptoPro.CAdES.e.a.b.a(Unknown Source)
at ru.CryptoPro.CAdES.e.a.b.a(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.test.test.test.RouteHelper.sign(RouteHelper.java:320)
at ru.test.test.RouteHelperTest.CreateFor(RouteHelperTest.java:171)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Apr 27, 2016 2:38:24 PM ru.CryptoPro.reprov.certpath.o a
WARNING: Exception getting CRL from CertStore:
java.security.InvalidAlgorithmParameterException: org.bouncycastle.jce.provider.X509LDAPCertStoreSpi: parameter must be a org.bouncycastle.jce.X509LDAPCertStoreParameters object
LDAPCertStoreParameters: [
serverName: localhost
port: 389
]
at org.bouncycastle.jce.provider.X509LDAPCertStoreSpi.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.security.Provider$Service.newInstance(Provider.java:1609)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:243)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:190)
at java.security.cert.CertStore.getInstance(CertStore.java:228)
at ru.CryptoPro.reprov.certpath.g.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.n.<init>(Unknown Source)
at ru.CryptoPro.reprov.certpath.n.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.o.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.o.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.o.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.a(Unknown Source)
at ru.CryptoPro.reprov.certpath.CrlRevocationChecker.check(Unknown Source)
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:119)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:212)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at ru.CryptoPro.reprov.CPCertPathValidator.engineValidate(Unknown Source)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at ru.CryptoPro.CAdES.e.a.b.a(Unknown Source)
at ru.CryptoPro.CAdES.e.a.b.a(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.test.test.test.RouteHelper.sign(RouteHelper.java:320)
at ru.test.test.RouteHelperTest.CreateFor(RouteHelperTest.java:171)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Apr 27, 2016 2:38:24 PM ru.CryptoPro.CAdES.e.a.b a
WARNING: ERROR
java.security.cert.CertPathValidatorException: Could not determine revocation status
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:129)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:212)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at ru.CryptoPro.reprov.CPCertPathValidator.engineValidate(Unknown Source)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at ru.CryptoPro.CAdES.e.a.b.a(Unknown Source)
at ru.CryptoPro.CAdES.e.a.b.a(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.test.test.test.RouteHelper.sign(RouteHelper.java:320)
at ru.test.test.RouteHelperTest.CreateFor(RouteHelperTest.java:171)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Apr 27, 2016 2:38:24 PM ru.CryptoPro.CAdES.e.a.b a
FINE: %%% Certificate chain is verified %%%
Apr 27, 2016 2:38:24 PM ru.CryptoPro.CAdES.exception.CAdESException <init>
SEVERE: Status of the signer certificate: sn 1aecd077000000000000 issued by CN=CA-Test is UNKNOWN or REVOKED
Status of the signer certificate: sn 1aecd077000000000000 issued by CN=CA-Test is UNKNOWN or REVOKED
, errors: 'Certificate status is revoked' (18) or 'Certificate status is unknown' (19)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignature.addSigner(Unknown Source)
Я правильно понимаю, что в сертификате стоит online: true, то должны быть указаны и CRL ? И если они не указаны , то идет попытка проверить по дефолтным localhost , что и заканчивается ошибкой ? Есть ли способ отключить верификацию цепочки , при подписи в таких случаях ? System.setProperty("ru.cryptopro.notThrowIfChainIsInvalid", "true") не работает. Отредактировано пользователем 27 апреля 2016 г. 15:36:07(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Здравствуйте. online означает, что в ходе создания подписи происходит обращение в сеть за CRL для проверки статуса сертификата. Какой адрес (и протокол) CRL указан в сертификате (Состав)? Отключить проверку нельзя. Отредактировано пользователем 27 апреля 2016 г. 16:02:26(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 16.02.2016(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 18 раз Поблагодарили: 2 раз в 2 постах
|
Сертификат содержит следующую информацию для онлайн проверки: ObjectId: 2.5.29.31 Criticality=false CRLDistributionPoints [ [DistributionPoint: [URIName: ldap:///CN=CA-Test-Equifax,CN=ca-host1,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=ca,DC=local?certificateRevocationList?base?objectClass=cRLDistributionPoint] ]] Как быть в такой ситуации , если мы не можем отключить проверку ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Возможная проблема - отсутствие адреса сервера в ldap:///..., потому выбирается locahost с портом по умолчанию. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 16.02.2016(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 18 раз Поблагодарили: 2 раз в 2 постах
|
Возможно, но там могла быть указана любая другая недоступная урла. И получилось бы все равно тоже поведение с присланным сертификатом от заказчика.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Среди адресов должен быть хотя бы один доступный http, иначе crl будут недоступны (по ldap) вне домена. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close