Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Добавление открытого ключа в хранилище сертификатов.
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.11.2018(UTC) Сообщений: 33
Сказал(а) «Спасибо»: 12 раз
|
Добрый день. Имеем ПО java-csp-5.0.39267 и csp 4.0, установленное на ОС Linux. Передо мной стоит следующая задача: подписывать текст, отправлять сообщение с подписью во внешнюю систему, получать подписанный ответ и проверять соответствует ли он подписи. Верно ли я понимаю, что подписывать сообщения нужно закрытым ключом сертификата, который нужно сформировать самим. А проверять подпись с помощью открытого ключа сертификата, который нам должна предоставить внешняя система(без закрытых ключей)?
Возможно ли загрузить сертификат с открытым ключом внешней системы в хранилище сертификатов без контейнера с закрытыми ключами? Или как нужно поступить в связи с моей задачей?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 494 раз Поблагодарили: 2035 раз в 1579 постах
|
Здравствуйте.
Да, Вы на своей стороне - генерируете ключевую пару, получаете сертификат к открытому ключу и можете подписывать.
Для проверки подписи - нужен открытый ключ, который обычно извлекается из сертификата.
Обычно используется CMS, внутри, помимо значения подписи, хеша, атрибутов, есть и сертификат для проверки (либо даже цепочка сертификатов), либо сертификат передается отдельно (файлом\закодированным в base64, в xml).
В общем зависит от требований систем.
Посмотрите примеры из SDK идущие к CSP\Java CSP |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.11.2018(UTC) Сообщений: 33
Сказал(а) «Спасибо»: 12 раз
|
Если внешняя система передаст нам сертификат в виде файла на внешнем носителе, его нужно будет в хранилище сертификатов поместить? /opt/cprocsp/bin/amd64/certmgr -inst -store <StoreName> -file /var/opt/cprocsp/keys/root/$CERT/$CERT.cer -cont '\\.\HDIMAGE\'$CERT если да, то каким образом, если к нему контейнера не будет прилагаться?
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 393 раз в 366 постах
|
Если не ошибаюсь, в одной из тем обсуждали, что для Джава возможен вариант указать сам сертификат (или файл подписи) в качестве хранилища. Специфика немного зависит от формата сертификата и интерфейса, через который проверяете, описывать все случаи детально будет долго. Например, можно утилитами в комплекте КриптоПро можно вывести список сертификатов включенных в подпись как будто подпись это хранилище. Для Base64 кодированных сертификатов с ограничителями (формат PEM в терминах openssl) можно вообще просто "склеить" несколько сертификатов в один файл и это тоже будет аналог хранилища. Другими словами, для проверки устанавливать чужой сертификат в существующие хранилища не обязательно. Вот для выбора сертификата адресата шифрования уже понадобится некое хранилище. Заметьте, что корневые сертификаты (так называемые "trust anchors" "якори доверия") нужно будет установить в доверенное хранилище.
Предполагается есть некая доверенная организация - центр сертификации, удостоверяющий центр (сокращенно ЦС или УЦ), которому Вы доверяете. Устанавливаете один раз сертификат УЦ (якорь доверия) и все сертификаты подписанные этим сертификатом автоматически проходят проверку. Если и схема посложнее, когда один УЦ выдает сертификаты только УЦ, а УЦ работают с "контрагентами". В этом случае достаточно добавить в доверенные самый верхний УЦ, необходимые УЦ уровнем пониже могут автоматически подгружаться из интернета. Конечно если интернета на месте проверки нет, промежуточные тоже придется добавлять в хранилище.
В случае же если каждый контрагент будет сляпывать свой самоподписанный сертификат (не подписывая в УЦ), то придется каждый сертификат добавлять в доверенные чтобы проверка не выдавала ошибки. В итоге получать сертификат в УЦ удобнее чем ляпать самоподписанные сертификаты.
Отредактировано пользователем 12 сентября 2019 г. 11:10:23(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 393 раз в 366 постах
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.11.2018(UTC) Сообщений: 33
Сказал(а) «Спасибо»: 12 раз
|
Спасибо. На Windows получилось. Сейчас попробую на Linux.
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Добавление открытого ключа в хранилище сертификатов.
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close