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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline bankrotpro  
#1 Оставлено : 21 ноября 2015 г. 23:49:18(UTC)
bankrotpro

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

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

Сказал(а) «Спасибо»: 1 раз
Всем здрасьте!
Реализую на сайте работу с ЭЦП с помощью плагина.
Что уже сделано:
Пользователь подписывает строку base64, для этого используется метод SignCades. В результате получаем строку (подпись)
Далее из сертификата извлекается открытый ключ, с помощью метода Export.
Далее отправляем на сервер открытый ключ, подпись и исходную base64-строку.

Что дальше?
По идее мне надо каким-то образом проверить (верифицировать), что все эти 3 полученных сервером параметра (строки) соответствуют друг другу.
Потом надо убедиться что сертификат еще не протух.
А также узнать чей это сертификат: фамилия, название кампании, еще какие-то данные.
Ну и проверить что сертификат является подлинным.

Кто-нибудь, пожалуйста, подскажите, дайте ссылок, ткните носом, где есть хоть какое-то объяснение как это сделать.
Может быть кто-то уже все это проделывал (я даже уверен что есть такие люди).
Заранее премного благодарен.

P.S. Ваяю небольшую либу для работы с КриптоПРО-плагином, сейчас она в разработке, но минимальный функционал уже есть.
И в любом случае буду ее доделывать, так как использую в своем проекте.
https://github.com/bankrot/cadesplugin
Offline cross  
#2 Оставлено : 23 ноября 2015 г. 10:39:11(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
А зачем заменять родные Promise на jQuery.Deffered? У них есть какие то плюсы по сравнению с Promise?
Метод "then" есть и у нативных, и их так же можно записывать цепочкой вместо yield...
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline bankrotpro  
#3 Оставлено : 23 ноября 2015 г. 15:25:01(UTC)
bankrotpro

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

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

Сказал(а) «Спасибо»: 1 раз
Я делал для себя, мне так удобнее (привычнее).

Но хотелось бы по основному вопросу получить хоть какие-то рекомендации, ссылки, и пр.

Готов заплатить за консультацию по интересующему меня вопросу.
Offline cross  
#4 Оставлено : 24 ноября 2015 г. 11:43:22(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Если вы опишите чуть подробней свою задачу то вам точнее смогут подсказать.
Что у вас на сервере стоит. ОС, язык разработки? Какая задача стоит по использованию подписи - это документы, авторизация пользователя или еще что то...
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline bankrotpro  
#5 Оставлено : 24 ноября 2015 г. 12:09:59(UTC)
bankrotpro

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

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

Сказал(а) «Спасибо»: 1 раз
Задача - подпись документов на торговой площадке.
Сервер работает на Ubuntu. Установлен openssl с поддержкой ГОСТ. Язык разработки PHP.
Хотелось бы просто узнать алгоритм действий, начиная с подписывания на клиенте и заканчивая проверкой подписи и сертификата. Я в первом сообщении описал что происходит на клиенте, но не уверен что делаю все правильно (что отправляю на сервер именно то что нужно).

Еще есть нюанс: сейчас я для проверки использую тестовый сертификат, полученный на странице http://www.cryptopro.ru/certsrv/certrqma.asp.
Можно ли его использовать? Или лучше приобрести настоящую ЭЦП.
При получении тестовой подписи есть несколько опций, подскажите что выбрать для моей задачи.
- тип требуемого сертификата (Сертификат проверки подлинности клиента, Сертификат защиты электронной почты, Сертификат проверки подлинности сервера, Сертификат подписи кода, Сертификат подписи штампа времени, Сертификат IPSec, Другие...)
- параметры ключа - CSP (Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider, Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider)
- использование ключей (Exchange, Подпись, Оба)
- Автоматическое имя контейнера ключа / Заданное пользователем имя контейнера ключа
- дополнительные параметры - формат запроса - CMC / PKSC10

Если все получится, то обязательно выложу всю информацию в понятном виде.
Offline bankrotpro  
#6 Оставлено : 26 ноября 2015 г. 16:55:18(UTC)
bankrotpro

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

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

Сказал(а) «Спасибо»: 1 раз
Я слишком сложные вопросы задаю.
Давайте начнем с простого.

Это вообще возможно? Подписать base64 строку на клиенте с помощью плагина, отправить на сервер эту строку, подпись и открытый (публичный) ключ, и все это дело проверить на сервере.
Offline cross  
#7 Оставлено : 27 ноября 2015 г. 11:01:00(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Да, все возможно из того что вы описали в вашей схеме. И уже так несколько площадок работают. Единственно что для проверки на сервере нужно тоже использовать сертифицированные СКЗИ если вы все таки торговую площадку делаете. openssl тут не подойдет.

Цитата:
Еще есть нюанс: сейчас я для проверки использую тестовый сертификат, полученный на странице http://www.cryptopro.ru/certsrv/certrqma.asp.
Можно ли его использовать? Или лучше приобрести настоящую ЭЦП.
При получении тестовой подписи есть несколько опций, подскажите что выбрать для моей задачи.
- тип требуемого сертификата (Сертификат проверки подлинности клиента, Сертификат защиты электронной почты, Сертификат проверки подлинности сервера, Сертификат подписи кода, Сертификат подписи штампа времени, Сертификат IPSec, Другие...)
- параметры ключа - CSP (Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider, Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider, Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider)
- использование ключей (Exchange, Подпись, Оба)
- Автоматическое имя контейнера ключа / Заданное пользователем имя контейнера ключа
- дополнительные параметры - формат запроса - CMC / PKSC10


Для тестов вполне подойдут сертификаты от нашего тестового УЦ. Он как раз для этого и нужен.
Вам нужно.
- Сертификат проверки подлинности клиента
- Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
- Оба
- тут как вам хочется. Вы врядли где то будете оперировать этими именами

Схема такая примерно.
Подписываете строку, посылаете сертификат и подпись на сервер. На сервере проверяете.
Для php можно или написать свое расширение которое будет дергать API провайдера, или дергать утилиту командной строки из дистрибутива провайдера(cryptcp), или заплатить денег нам и мы дадим вам уже написанное расширение которое имеет практически такое же API как и плагин.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline bankrotpro  
#8 Оставлено : 27 ноября 2015 г. 12:28:23(UTC)
bankrotpro

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

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

Сказал(а) «Спасибо»: 1 раз
Цитата:
... посылаете сертификат ...

Это то что я получаю методом Export в сертификате?

Цитата:
... или заплатить денег нам и мы дадим вам уже написанное расширение которое имеет практически такое же API как и плагин.

А можно ссылку на страницу с тарифами и описанием?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.