logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ig-gor1995  
#1 Оставлено : 13 декабря 2019 г. 16:17:34(UTC)
ig-gor1995

Статус: Участник

Группы: Участники
Зарегистрирован: 16.10.2019(UTC)
Сообщений: 11
Российская Федерация
Откуда: Санкт-Петербург

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Добрый день! У меня вопрос:

Есть необходимость валидировать старые подписи. То есть подпись была сделана когда-то валидным сертификатом, потом срок годности истёк, но подпись то по идее и сейчас должна проходить проверку.

Делаю verify:

import ru.CryptoPro.CAdES.CAdESSignature;
import ru.CryptoPro.CAdES.CAdESSigner;
import java.security.cert.X509Certificate;

private CertificateDto checkSign(byte[] sign, byte[] data, boolean cryptoProCheck) throws Exception {
CAdESSignature signature = new CAdESSignature(sign, data, null);
CAdESSigner signer = signature.getCAdESSignerInfo(0);
final X509Certificate certificate = signer.getSignerCertificate();
try {
if (cryptoProCheck) {
signature.verify(Collections.emptySet(), Collections.emptySet());
}
} catch (Exception ex) {
......
}

Содержимое ошибки:
Error building certification path for CN="ИМЯ", SURNAME=ИМЯ, GIVENNAME=ИМЯ, C=RU, L=г Москва, STREET=г Москва, O="ИМЯ", T=Генеральный Директор, OID.1.2.643.100.1=#120D31313737373436373235393235, OID.1.2.643.3.131.1.1=#120C303037373331333736383132: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate'

Также если сделаю проверку [X509Certificate] certificate.checkValidity();
То получаю, что срок годности истек. java.security.cert.CertificateExpiredException: NotAfter: Fri Nov 01 12:09:28 MSK 2019

Если у машины меняю системное время на такое, чтобы серт стал валидным, то проверку verify прохожу.

Можно ли как то выполнить проверку так, чтобы она прошла успешно, игнорируя время?

Отредактировано пользователем 13 декабря 2019 г. 16:21:32(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 13 декабря 2019 г. 16:33:58(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 2,949
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 441 раз в 431 постах
Добрый день.
С помощью CAdES - нет. Проверка подписи BES и T выполняется на текущий момент. Если нужно, чтобы подпись была верна на момент, когда срок сертификата уже истек, нужна подпись формата X Long Type 1.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
ig-gor1995 оставлено 13.12.2019(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.