Статус: Активный участник
Группы: Участники
Зарегистрирован: 11.12.2019(UTC) Сообщений: 30
Сказал(а) «Спасибо»: 11 раз
|
Здравствуйте! После того как мы обновили версию JCP (jcp-2.0.41789->jcp-2.0.45042-A) сломался функционал подписи и проверок CaDES подписей (CAdESException: Error occurred during building the certification path for the target: советы из темы https://www.cryptopro.ru...aspx?g=posts&t=16621 не помогли). Также была обновлена версия java 8->17. После обновления часть функционала удалось восстановить за счет понижения версии jcp до jcp-2.0.42646-A (на ней подписи и большая часть проверок заработала), но часть проверок стала фейлиться со следующей ошибкой: Цитата: Error occurred during building the certification path for the target: signature provider: JCP validation date: null native implementation: true : unable to find valid certification path to requested target
если смотреть по стектрейсу то можно найти следующие детали: Цитата: adjList (adjacencyList): [ LinkedList[0]: Issuer: CN=Федеральная налоговая служба, O=Федеральная налоговая служба, STREET="ул. Неглинная, д. 23", L=г. Москва, ST=77 Москва, C=RU, OID.1.2.643.100.1=#120d31303437373037303330353133 Exception: null Index: 1
LinkedList[1]: Issuer: CN=Минцифры России, OID.1.2.643.100.4=#120a37373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минцифры России, STREET="Пресненская набережная, дом 10, строение 2", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@digital.gov.ru Subject: CN=Федеральная налоговая служба, O=Федеральная налоговая служба, STREET="ул. Неглинная, д. 23", L=г. Москва, ST=77 Москва, C=RU, OID.1.2.643.100.1=#120d31303437373037303330353133, EMAILADDRESS=uc@tax.gov.ru, OID.1.2.643.100.4=#120a37373037333239313532 SerialNum: 4268c57a000000000833 Expires: Wed Jul 21 16:12:44 MSK 2038 SubjKeyID: KeyIdentifier [ 0000: D1 56 FB 38 2C 4C 55 AD 7E B3 AE 0A C6 67 49 57 .V.8,LU......gIW 0010: 7F 87 E1 16 .... ] AuthKeyID: KeyIdentifier [ 0000: C9 13 58 B1 4C A7 62 3A 7E D2 3F 3C A6 E7 14 7C ..X.L.b:..?<.... 0010: 9D 70 A3 86 .p.. ] Exception: null Index: 2
LinkedList[2]: Issuer: CN=Минкомсвязь России, OID.1.2.643.3.131.1.1=#120c303037373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минкомсвязь России, STREET="улица Тверская, дом 7", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru Subject: CN=Минцифры России, OID.1.2.643.100.4=#120a37373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минцифры России, STREET="Пресненская набережная, дом 10, строение 2", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@digital.gov.ru SerialNum: f8c9c4040000000005f2 Expires: Thu Jan 08 18:44:20 MSK 2037 SubjKeyID: KeyIdentifier [ 0000: C9 13 58 B1 4C A7 62 3A 7E D2 3F 3C A6 E7 14 7C ..X.L.b:..?<.... 0010: 9D 70 A3 86 .p.. ] AuthKeyID: KeyIdentifier [ 0000: 19 77 8F BB 82 E6 6F C8 5F 93 F0 15 1D 93 22 A1 .w....o._.....". 0010: D6 AD 0C 26 ...& ] Exception: null Index: 3
Issuer: CN=Минцифры России, OID.1.2.643.100.4=#120a37373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минцифры России, STREET="Пресненская набережная, дом 10, строение 2", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@digital.gov.ru Subject: CN=Минцифры России, OID.1.2.643.100.4=#120a37373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минцифры России, STREET="Пресненская набережная, дом 10, строение 2", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@digital.gov.ru SerialNum: 951fa3477c61043aadfa858627823442 Expires: Sun Jan 08 16:32:39 MSK 2040 SubjKeyID: KeyIdentifier [ 0000: C9 13 58 B1 4C A7 62 3A 7E D2 3F 3C A6 E7 14 7C ..X.L.b:..?<.... 0010: 9D 70 A3 86 .p.. ] Exception: java.security.cert.CertPathValidatorException: signature check failed Index: -1
LinkedList[3]: Issuer: CN=Минкомсвязь России, OID.1.2.643.3.131.1.1=#120c303037373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минкомсвязь России, STREET="улица Тверская, дом 7", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru Subject: CN=Минкомсвязь России, OID.1.2.643.3.131.1.1=#120c303037373130343734333735, OID.1.2.643.100.1=#120d31303437373032303236373031, O=Минкомсвязь России, STREET="улица Тверская, дом 7", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru SerialNum: 4e6d478b26f27d657f768e025ce3d393 Expires: Tue Jul 01 15:18:06 MSK 2036 SubjKeyID: KeyIdentifier [ 0000: C2 54 F1 B4 6B D4 4C B7 E0 6D 36 B4 23 90 F1 FE .T..k.L..m6.#... 0010: C3 3C 9B 06 .<.. ] Exception: java.security.cert.CertPathValidatorException: signature check failed Index: -1 ]
до того как мы попытались добавить все корневые и основные сертификаты промежуточных сертификационных центров с сайта Крипто-Про, ошибка была следующая (также внутри adjList): Цитата: CAdESSignature: cert with repeated subject, public key, and subjectAltNames detected
и в самом деле, внутри adjList были 2 сертификата Минцифры (951fa3477c61043aadfa858627823442) с одним и тем же subject|SN, однако после очистки .store-контейнера и полного удаления этих сертов из него, дубликаты все равно остались. Поиск показал что ошибка находится внутри самой jdk (правда у нас 17 версия) https://github.com/openj...ertPathBuilder.java#L583Код которым выполняем проверку (на старой версии jcp работает): Цитата: CAdESSignature cadesSignature = new CAdESSignature(Base64.decode(cadesCms), hash, null, true); cadesSignature.verify(null); Configuration.printSignatureInfo(cadesSignature);
Сейчас в приведенном adjList не видно дублей, но судя по всему они есть и не понятно откуда и как их убирать. cacerts остался в старой версии jdk8 (т.к. jcp раньше устанавливался в jdk), но сейчас в новой версии jdk17 cacerts лежит по умолчанию (без прописанных дополнительных корневых сертов), а сама jcp подгружается как библиотека без установки/модификации jdk. Поэтому вопрос что могло сломаться и как это исправить? Отредактировано пользователем 26 июня 2024 г. 10:50:05(UTC)
| Причина: Не указана
|