Статус: Новичок
Группы: Участники
Зарегистрирован: 26.04.2019(UTC) Сообщений: 2  Сказал(а) «Спасибо»: 1 раз
|
При выполнении скрипта создания CAdES-T подписи Код:
System.setProperty("com.sun.security.enableCRLDP", "true"); // для проверки по CRL DP
System.setProperty("com.sun.security.enableAIAcaIssuers", "true"); // для загрузки сертификатов по AIA из сети
System.setProperty("ru.CryptoPro.reprov.enableAIAcaIssuers", "true"); // для загрузки сертификатов по AIA из сети
try {
ISignatureContainer container = new Container2019();
IConfiguration config = new SimpleConfiguration(container, true, false);
CAdESSignature cadesSignature = new CAdESSignature(config.detached());
cadesSignature.setCertificateStore(config.getCertificateStore());
cadesSignature.setCRLStore(config.getCRLStore());
cadesSignature.addSigner(config.getProviderName(),
config.getDigestOid(),
config.getPublicKeyOid(),
config.getPrivateKey(),
config.getChain(),
CAdESType.CAdES_T,
config.getTSAAddress(),
false,
null,
null);
// Сохраним подпись либо в файл, либо в массив.
OutputStream outSignatureStream = config.useStream()
? new FileOutputStream(outFileName) : new ByteArrayOutputStream();
cadesSignature.open(outSignatureStream);
InputStream dataStream = config.getDataStream();
SignExample.cadesSignatureUpdate(cadesSignature, dataStream); // хеш
// Завершаем создание подписи с двумя подписантами.
cadesSignature.close();
dataStream.close();
outSignatureStream.close();
InputStream signatureStream;
// Если это массив, сохраним и снова прочтем.
if (!config.useStream() && outSignatureStream instanceof ByteArrayOutputStream) {
byte[] cadesCms = ((ByteArrayOutputStream)outSignatureStream).toByteArray();
if (outFileName != null) {
Array.writeFile(outFileName, cadesCms);
}
signatureStream = new ByteArrayInputStream(cadesCms);
} else {
signatureStream = new FileInputStream(outFileName);
}
} catch(Exception e) {
e.printStackTrace();
}
на TSA-сервере http://www.cryptopro.ru:80/tsp/ получаю такую ошибку: Код:
org.bouncycastle.cms.CMSAttributeTableGenerationException: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.getAttributes(Unknown Source)
at org.bouncycastle.cms.SignerInfoGenerator.generate(Unknown Source)
at org.bouncycastle.cms.CMSSignedDataStreamGenerator$CmsSignedDataOutputStream.close(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.close(Unknown Source)
at ru.test.TestMain.main(TestMain.java:111)
Caused by: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
... 5 more
Caused by: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerBESImpl.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
at ru.CryptoPro.CAdES.timestamp.external.InternalTimeStampValidationProcessImpl.validate(Unknown Source)
at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.a(Unknown Source)
... 5 more
Caused by: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
at ru.CryptoPro.AdES.external.signature.AdESSigner.build(Unknown Source)
... 12 more
пробовал менять TSA-сервера на следующие: "http://qs.cryptopro.ru/tsp/", "http://qs.cryptopro.ru/tsp2012/", "http://qs.cryptopro.ru/tsp2001/", пробовал загружать в cacert сертификаты данных TSA-серверов - не помогло. Ошибки аналогичные (например для http://qs.cryptopro.ru/tsp2012/):Код:
org.bouncycastle.cms.CMSAttributeTableGenerationException: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.getAttributes(Unknown Source)
at org.bouncycastle.cms.SignerInfoGenerator.generate(Unknown Source)
at org.bouncycastle.cms.CMSSignedDataStreamGenerator$CmsSignedDataOutputStream.close(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.close(Unknown Source)
at ru.test.TestMain.main(TestMain.java:69)
Caused by: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
... 5 more
Caused by: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerBESImpl.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
at ru.CryptoPro.CAdES.timestamp.external.InternalTimeStampValidationProcessImpl.validate(Unknown Source)
at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.a(Unknown Source)
... 5 more
Caused by: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate',
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
at ru.CryptoPro.AdES.external.signature.AdESSigner.build(Unknown Source)
... 12 more
Правильно ли я понимаю, что проблема в сертификатах, которые возвращаются из TSA? Что мне нужно сделать, чтобы получить подпись CADES-T? P.S. скрипт запускался на java1.7+jcp-2.0.39014 и на java11+jcp-2.0.40132-A Отредактировано пользователем 29 апреля 2019 г. 13:37:04(UTC)
| Причина: Не указана
|