Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline С.Е.Назаров  
#1 Оставлено : 16 августа 2012 г. 21:20:19(UTC)
С.Е.Назаров

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

Группы: Участники
Зарегистрирован: 20.06.2012(UTC)
Сообщений: 16

Добрый день. Проблема в следующем.
Подписываю файл:
cryptcp -sign -uMy -dn "V.Sidorov" -pin 1234567890 1111.txt test2.msg -sshttp://cryptopro.ru/tsp/tsp.srf
Сертификат "V.Sidorov" получен на https://www.cryptopro.ru/certsrv/. Точно гостовский.
Полученный файл пытаюсь проверить в Java коде.
Что-то типа:
Код:

        String[] alg = {
            "GOST3411WITHGOST3410",
            "GOST3411WITHGOST3410EL",
            "CRYPTOPROSIGNATURE",
            "GOST3411WITHGOST3410DHEL",
            "1.2.643.2.2.3",
            "GOST3410",
            "GOST3410DH"};

        for(int i = 0; i < alg.length; i++) {
            try {
                java.security.Signature sig = java.security.Signature.getInstance(alg[i], "JCP");
                sig.initVerify(cert);
                sig.update(data);
                log.info(alg[i] + ": " + sig.verify(signature));
            } catch(Exception e) {
                log.info("Error: alg[" + i + "]: " + alg[i] + "; msg: " + e.getMessage());
            }
        }

Ни один из алгоритмов не опознается, как имеющий отношение к подписи.
Log:
Код:

Error: alg[0]: GOST3411WITHGOST3410; msg: Ключ должен соответствовать алгоритму ГОСТ Р 34.10-94
GOST3411WITHGOST3410EL: false
CRYPTOPROSIGNATURE: false
GOST3411WITHGOST3410DHEL: false
1.2.643.2.2.3: false
Error: alg[5]: GOST3410; msg: no such algorithm: GOST3410 for provider JCP
Error: alg[6]: GOST3410DH; msg: no such algorithm: GOST3410DH for provider JCP

На машине стоит
XP
CryptoPro CSP 3.6.6497
JCP 1.0.52
Ключ лежит на eTokene.
Дергая ключ и сертификат напрямую с карточки, могу вполне удачно подписывать PDF. Вроде все есть для полноценной жизни.

Изначально проблема была немного в другом.
Пытаюсь подписывать PDF через CAPICOM. Подпись получается невалидная. Заинтересовался, какой алгоритм позволяет проверить подпись после CAPICOM. Результат аналогичный. Хотя, если подписывать ключем RSA, SHA1WITHDSA определяется без проблем. Подпись через cryptcp для упрощения эксперимента. Оказалось, что штатные средства дают тот же эффект.

Ещё один момент. Заметил, что если гостовским ключем подписывать один и тот же текст несколько раз, каждый раз получаются разные подписи. Так и должно быть? Особенность алгоритма?

Помогите, пожалуйста, каким-нибудь толчком в нужном направлении.

На всякий случай.
Характеристики ключей:
Код:

Privatekey:
ru.CryptoPro.JCP.Key.GostExchPrivateKey;
.toSting(): CryptoPro Gost Exchange PrivateKey with parameters:1.2.643.2.2.98
.getAlgorithm(): GOST3410DH

PublicKey: 
ru.CryptoPro.JCP.Key.GostPublicKey
.getFormat(): X.509
.getAlgorithm(): GOST3410
Вложение(я):
certificate.txt (3kb) загружен 16 раз(а).
certificate.cer (2kb) загружен 10 раз(а).
test2.msg (2kb) загружен 13 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Евгений Афанасьев  
#2 Оставлено : 16 августа 2012 г. 21:49:15(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
Здравствуйте.
Алгоритмы у вас определились - в логе есть
GOST3411WITHGOST3410EL: false
CRYPTOPROSIGNATURE: false
GOST3411WITHGOST3410DHEL: false
1.2.643.2.2.3: false
В этих случаях sig инициализировался и происходила проверка подписи (false).
Тут, скорее всего, дело не в алгоритме, а в формате вашего сообщения (файла).
Да, подписи отличаются, так и должно быть.
Offline С.Е.Назаров  
#3 Оставлено : 17 августа 2012 г. 12:28:19(UTC)
С.Е.Назаров

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

Группы: Участники
Зарегистрирован: 20.06.2012(UTC)
Сообщений: 16

Спасибо за оперативность.
А в чем может быть проблема формата?
Я так понимаю, что CAPICOM дергает CSP и eToken. А проверка идет через провайдер JCP. Подпись сделанная ГОСТовским алгоритмом CSP будет адекватно восприниматься JCP?
С RSA через соответствующий таких проблем не наблюдаю.
Offline Евгений Афанасьев  
#4 Оставлено : 17 августа 2012 г. 14:24:55(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
Какое сообщение формирует
cryptcp -sign -uMy -dn "V.Sidorov" -pin 1234567890 1111.txt test2.msg -sshttp://cryptopro.ru/tsp/tsp.srf
? Подпись формата CMS?
Можете приложить файл с подписью и сертификат?

Отредактировано пользователем 17 августа 2012 г. 14:25:27(UTC)  | Причина: Не указана

Offline С.Е.Назаров  
#5 Оставлено : 17 августа 2012 г. 15:52:08(UTC)
С.Е.Назаров

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

Группы: Участники
Зарегистрирован: 20.06.2012(UTC)
Сообщений: 16

Добавил.
Offline Евгений Афанасьев  
#6 Оставлено : 17 августа 2012 г. 17:32:58(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
Это CMS подпись, для проверки используйте примеры CMS_samples/CMS из samples_src.jar
Offline Евгений Афанасьев  
#7 Оставлено : 17 августа 2012 г. 17:34:23(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
У вас в txt сообщении описание сертификата на имя Сидорова, а сертификат cer - на имя Назарова.
Offline С.Е.Назаров  
#8 Оставлено : 17 августа 2012 г. 17:38:56(UTC)
С.Е.Назаров

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

Группы: Участники
Зарегистрирован: 20.06.2012(UTC)
Сообщений: 16

afev написал:
У вас в txt сообщении описание сертификата на имя Сидорова, а сертификат cer - на имя Назарова.

Да. Сидоров - это условность.
Offline С.Е.Назаров  
#9 Оставлено : 23 августа 2012 г. 11:39:40(UTC)
С.Е.Назаров

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

Группы: Участники
Зарегистрирован: 20.06.2012(UTC)
Сообщений: 16

afev написал:
Это CMS подпись, для проверки используйте примеры CMS_samples/CMS из samples_src.jar

В примерах верификация проходит успешно. Вопрос в том, как CryptoPro PDF делает верификацию. Боюсь, что они не использовали ваши примеры. Могу я как-то повлиять на то, как CryptoPro PDF верифицирует подпись?
Offline Новожилова Елена  
#10 Оставлено : 23 августа 2012 г. 16:30:35(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
А при чем здесь КриптоПро PDF? Вы создаете подпись формата CMS, в PDF - другой формат подписи.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.