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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Elvira Borodina  
#11 Оставлено : 1 августа 2019 г. 13:42:30(UTC)
Elvira Borodina

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

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 9 раз в 6 постах
Добрый день!
В логах ошибок нет.
Не могли бы вы приложить подпись (сделанную на OID-ах 2012-года) и сертификат в виде файлов (как лог)? К сожалению, не получается скачать их по вашим ссылкам.
Спасибо.
Offline Artem Frolov  
#12 Оставлено : 1 августа 2019 г. 15:24:47(UTC)
Artem Frolov

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
открытый ключ
gorshkov.cer (3kb) загружен 7 раз(а).

файлы электронной подписи
signError.rar (133kb) загружен 8 раз(а).

Отредактировано пользователем 1 августа 2019 г. 15:25:28(UTC)  | Причина: Не указана

Offline Elvira Borodina  
#13 Оставлено : 1 августа 2019 г. 17:28:37(UTC)
Elvira Borodina

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

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 9 раз в 6 постах
В присланной вами подписи по-прежнему содержатся алгоритмы 2001-года (хэширования и подписи). Что не соответствует ключу 2012 года.
Проверьте еще раз ваш код и исправьте все OID-ы и алгоритм на правильные:
Код:

  public static byte[] createCMS(byte[] buffer, byte[] sign, Certificate cert, boolean detached) throws Exception {
            ContentInfo all = new ContentInfo();
            all.contentType = new Asn1ObjectIdentifier((new OID("1.2.840.113549.1.7.2")).value);
            SignedData cms = new SignedData();
            all.content = cms;
            cms.version = new CMSVersion(1L);
            cms.digestAlgorithms = new DigestAlgorithmIdentifiers(1);
            DigestAlgorithmIdentifier a = new DigestAlgorithmIdentifier((new OID("1.2.643.7.1.1.2.2")).value);
            a.parameters = new Asn1Null();
            cms.digestAlgorithms.elements[0] = a;
            if (detached) {
                cms.encapContentInfo = new EncapsulatedContentInfo(new Asn1ObjectIdentifier((new OID("1.2.840.113549.1.7.1")).value), (Asn1OctetString)null);
            } else {
                cms.encapContentInfo = new EncapsulatedContentInfo(new Asn1ObjectIdentifier((new OID("1.2.840.113549.1.7.1")).value), new Asn1OctetString(buffer));
            }

            cms.certificates = new CertificateSet(1);
            ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Certificate certificate = new ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Certificate();
            Asn1BerDecodeBuffer decodeBuffer = new Asn1BerDecodeBuffer(cert.getEncoded());
            certificate.decode(decodeBuffer);
            cms.certificates.elements = new CertificateChoices[1];
            cms.certificates.elements[0] = new CertificateChoices();
            cms.certificates.elements[0].set_certificate(certificate);
            cms.signerInfos = new SignerInfos(1);
            cms.signerInfos.elements[0] = new SignerInfo();
            cms.signerInfos.elements[0].version = new CMSVersion(1L);
            cms.signerInfos.elements[0].sid = new SignerIdentifier();
            byte[] encodedName = ((X509Certificate)cert).getIssuerX500Principal().getEncoded();
            Asn1BerDecodeBuffer nameBuf = new Asn1BerDecodeBuffer(encodedName);
            Name name = new Name();
            name.decode(nameBuf);
            CertificateSerialNumber num = new CertificateSerialNumber(((X509Certificate)cert).getSerialNumber());
            cms.signerInfos.elements[0].sid.set_issuerAndSerialNumber(new IssuerAndSerialNumber(name, num));
            cms.signerInfos.elements[0].digestAlgorithm = new DigestAlgorithmIdentifier((new OID("1.2.643.7.1.1.2.2")).value);
            cms.signerInfos.elements[0].digestAlgorithm.parameters = new Asn1Null();
            cms.signerInfos.elements[0].signatureAlgorithm = new SignatureAlgorithmIdentifier((new OID("1.2.643.7.1.1.1.1")).value);
            cms.signerInfos.elements[0].signatureAlgorithm.parameters = new Asn1Null();
            cms.signerInfos.elements[0].signature = new SignatureValue(sign);
            Asn1BerEncodeBuffer asnBuf = new Asn1BerEncodeBuffer();
            all.encode(asnBuf, true);
            return asnBuf.getMsgCopy();
        }

        public static byte[] CMSSign(byte[] data, PrivateKey key, Certificate cert, boolean detached) throws Exception {
            Signature signature = Signature.getInstance("GOST3411_2012_256withGOST3410_2012_256");
            signature.initSign(key);
            signature.update(data);
            byte[] sign = signature.sign();
            return createCMS(data, sign, cert, detached);
        }


Если и после этого подпись не будет проверяться, пришлите еще раз, посмотрим.
thanks 1 пользователь поблагодарил Elvira Borodina за этот пост.
Artem Frolov оставлено 07.08.2019(UTC)
Offline Artem Frolov  
#14 Оставлено : 7 августа 2019 г. 15:54:53(UTC)
Artem Frolov

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
Большой спасибо. Помогло.

Есть еще вопрос. Можно как-то прописать OIDы, чтобы они поддерживали и старые и новые подписи?

Отредактировано пользователем 7 августа 2019 г. 16:08:46(UTC)  | Причина: Не указана

Offline testerr  
#15 Оставлено : 9 августа 2019 г. 17:18:02(UTC)
testerr

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.08.2019(UTC)
Сообщений: 3
Австрия
Откуда: 111

Добрый день!
Не подскажите, как настроить логирование криптографических операций на WAS, приложение работает на WAS, используется JCP 2.0, как нужно настроить logging.properties?
Уже все перепробовал, ничего не помогает. Можно рабочий пример. Или какой handlers указывать, со стандартным не работает
Offline Евгений Афанасьев  
#16 Оставлено : 9 августа 2019 г. 17:40:00(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.

Посмотрите документ Howto_set_gost_tls_WAS.doc в папке Doc\WebServerIntegration\IbmWAS\ дистрибутива JCP.
Offline testerr  
#17 Оставлено : 9 августа 2019 г. 17:42:28(UTC)
testerr

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.08.2019(UTC)
Сообщений: 3
Австрия
Откуда: 111

Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.

Посмотрите документ Howto_set_gost_tls_WAS.doc в папке Doc\WebServerIntegration\IbmWAS\ дистрибутива JCP.


Смотрел, пытался настроить логирование через сферу, результата нет( может есть реальные примеры, то что в документации не отражает реальной действительности
Offline Elvira Borodina  
#18 Оставлено : 12 августа 2019 г. 7:14:04(UTC)
Elvira Borodina

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

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 9 раз в 6 постах
Автор: Artem Frolov Перейти к цитате

Есть еще вопрос. Можно как-то прописать OIDы, чтобы они поддерживали и старые и новые подписи?


Добрый день!
Универсальных OID-ов не существует.
Алгоритм подписи должен соответствовать алгоритму ключа, набор OID-ов тоже должен быть соответствующим.
Offline Elvira Borodina  
#19 Оставлено : 12 августа 2019 г. 8:58:57(UTC)
Elvira Borodina

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

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 9 раз в 6 постах
Автор: testerr Перейти к цитате
Добрый день!
Не подскажите, как настроить логирование криптографических операций на WAS, приложение работает на WAS, используется JCP 2.0, как нужно настроить logging.properties?
Уже все перепробовал, ничего не помогает. Можно рабочий пример. Или какой handlers указывать, со стандартным не работает


Здравствуйте. Какую именно информацию вам нужно логировать?
В штатном режиме используется уровень логирования INFO, который вывод в лог только основную информацию (и ошибки, если они происходят).
Для более подробного логирования можно использовать уровни FINE или ALL. Но пользоваться или нужно только для анализа некой проблемы, поскольку с ними лог будет быстро расти.

Для включения подробного лога попробуйте такой вариант logging.properties:


Offline testerr  
#20 Оставлено : 12 августа 2019 г. 9:22:37(UTC)
testerr

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.08.2019(UTC)
Сообщений: 3
Австрия
Откуда: 111

Автор: Elvira Borodina Перейти к цитате
Автор: testerr Перейти к цитате
Добрый день!
Не подскажите, как настроить логирование криптографических операций на WAS, приложение работает на WAS, используется JCP 2.0, как нужно настроить logging.properties?
Уже все перепробовал, ничего не помогает. Можно рабочий пример. Или какой handlers указывать, со стандартным не работает


Здравствуйте. Какую именно информацию вам нужно логировать?
В штатном режиме используется уровень логирования INFO, который вывод в лог только основную информацию (и ошибки, если они происходят).
Для более подробного логирования можно использовать уровни FINE или ALL. Но пользоваться или нужно только для анализа некой проблемы, поскольку с ними лог будет быстро расти.

Для включения подробного лога попробуйте такой вариант logging.properties:




Нужен вызов всех криптографических операций.
Данный лог должен писаться в SystemOut.log? Или куда - то еще.
При вызове Панели Криптопро, запись в файл происходит, а вот при вызове из приложения нет.
Вот лог в криптопро, хотя уровень логирования в сфере стоит all
0000016a JCPLogger I ru.CryptoPro.JCP.tools.Starter check Loading JCP 2.0.40035
0000016a JCPLogger I ru.CryptoPro.JCP.tools.Starter check JCP loaded.
В логе вызов только однократный. Есть еще какие-то рекомендации ?
Нельзя ли настроить вызов через log4j?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.