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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline LeeBH  
#1 Оставлено : 30 марта 2015 г. 8:07:34(UTC)
LeeBH

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

Группы: Участники
Зарегистрирован: 13.03.2015(UTC)
Сообщений: 8
Откуда: Челябинск

Сказал(а) «Спасибо»: 4 раз
Здравствуйте! Подскажите, пожалуйста, возможно ли организация проверки ЭЦП на сервере, где расположен веб-сайт. Подписанный документ будет храниться на сервере, сама подпись в базе данных. Необходимо организовать проверку подписи файла (разделенная подпись), перед тем как клиент скачает с сайта документ. Желательно, чтобы клиент не ставил никакого ПО. Все проверялось на сервере. И что для этого понадобится?
Online Андрей Писарев  
#2 Оставлено : 30 марта 2015 г. 9:09:17(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2043 раз в 1584 постах
Автор: LeeBH Перейти к цитате
Здравствуйте! Подскажите, пожалуйста, возможно ли организация проверки ЭЦП на сервере, где расположен веб-сайт. Подписанный документ будет храниться на сервере, сама подпись в базе данных. Необходимо организовать проверку подписи файла (разделенная подпись), перед тем как клиент скачает с сайта документ. Желательно, чтобы клиент не ставил никакого ПО. Все проверялось на сервере. И что для этого понадобится?


Да, возможна.

написать по документации (см. С\COM-интерфейс):
Справочник по ЭЦП SDK

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
LeeBH оставлено 30.03.2015(UTC)
Offline LeeBH  
#3 Оставлено : 30 марта 2015 г. 9:21:58(UTC)
LeeBH

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

Группы: Участники
Зарегистрирован: 13.03.2015(UTC)
Сообщений: 8
Откуда: Челябинск

Сказал(а) «Спасибо»: 4 раз
Спасибо!
Offline plov  
#4 Оставлено : 3 апреля 2015 г. 12:09:10(UTC)
plov

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

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

Каким образом можно вытащить на сервере сведения о том, кто подписал документ? И каким образом для этого надо документ подписывать?
Так подписываю на клиенте:
Код:
function Sign(dataToSign) {
    var oCertificate = GetCertificateBySubjectName();
 
    var oSigner = CreateObject("CAdESCOM.CPSigner");
    oSigner.TSAAddress = "https://www.cryptopro.ru/tsp/";
    oSigner.Certificate = oCertificate;    
 
    var oHashedData = CreateObject("CAdESCOM.HashedData");
    oHashedData.Algorithm = CADESCOM_HASH_ALGORITHM_CP_GOST_3411;
    oHashedData.DataEncoding = CADESCOM_BASE64_TO_BINARY;  
    oHashedData.Hash(dataToSign); // dataToSign - это строка base64
 
    var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
 
    var sSignedMessage = "";
    try {
        sSignedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);
    } catch (err) {
        return;
    }
 
    return sSignedMessage;   
}

Как из sSignedMessage вытащить автора подписи на сервере (если будет пример на php - будет намного лучше)? И можно ли проверить статус этого автора в УЦ?

Отредактировано пользователем 3 апреля 2015 г. 12:09:58(UTC)  | Причина: Не указана

Offline LeeBH  
#5 Оставлено : 3 апреля 2015 г. 12:26:25(UTC)
LeeBH

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

Группы: Участники
Зарегистрирован: 13.03.2015(UTC)
Сообщений: 8
Откуда: Челябинск

Сказал(а) «Спасибо»: 4 раз
Сведения о сертификате можно получить с помощью Крипто Про SDK (см ссылку выше от Андрея).
На счет проверки на сервере подписи используя php ТП КриптоПро ответила следующим образом:
"Дополню, что имеется вариант использования php раcширение, которое умеет использовать API из КриптоПро ЭЦП SDK.
Распространяется он бесплатно клиентам, имеющие сертификат на техническую поддержку SDK."
Примеров нет...
Offline plov  
#6 Оставлено : 5 апреля 2015 г. 23:04:51(UTC)
plov

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

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

можно ли проверить подпись, используя утилиту openssl, без открытого ключа и сертификата того, кто подписал, имя в наличи только файл *.sig (pkcs#7)?
Offline plov  
#7 Оставлено : 7 апреля 2015 г. 16:38:53(UTC)
plov

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

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

Разобрался:
1. openssl enc -d -base64 -in signedfile.sig -out signedfile // декодируем подпись из base64
2. openssl pkcs7 -in signedfile -print_certs -inform DER -out signercert.pem // извлекаем сертификат из подписи
3. openssl x509 -noout -in signercert.pem -dates // проверка времени действия сертификата
Online Андрей Писарев  
#8 Оставлено : 7 апреля 2015 г. 20:17:41(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2043 раз в 1584 постах
Автор: plov Перейти к цитате
Разобрался:
1. openssl enc -d -base64 -in signedfile.sig -out signedfile // декодируем подпись из base64
2. openssl pkcs7 -in signedfile -print_certs -inform DER -out signercert.pem // извлекаем сертификат из подписи
3. openssl x509 -noout -in signercert.pem -dates // проверка времени действия сертификата


Не заметил, где в этих 3х пунктах проверяется подпись.
Техническую поддержку оказываем тут
Наша база знаний
Offline plov  
#9 Оставлено : 7 апреля 2015 г. 21:32:20(UTC)
plov

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

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

Автор: Андрей * Перейти к цитате
Автор: plov Перейти к цитате
Разобрался:
1. openssl enc -d -base64 -in signedfile.sig -out signedfile // декодируем подпись из base64
2. openssl pkcs7 -in signedfile -print_certs -inform DER -out signercert.pem // извлекаем сертификат из подписи
3. openssl x509 -noout -in signercert.pem -dates // проверка времени действия сертификата


Не заметил, где в этих 3х пунктах проверяется подпись.


Под проверкой подписи я имел в виду проверку подлинности сертификата подписи. Кстати, срок действия сертификата проверяется, исходя из самого сертификата, или происходит запрос к серверу УЦ? Как проверять срок действия через сервер УЦ?
Online Андрей Писарев  
#10 Оставлено : 7 апреля 2015 г. 22:23:45(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2043 раз в 1584 постах
Автор: plov Перейти к цитате
Автор: Андрей * Перейти к цитате
Автор: plov Перейти к цитате
Разобрался:
1. openssl enc -d -base64 -in signedfile.sig -out signedfile // декодируем подпись из base64
2. openssl pkcs7 -in signedfile -print_certs -inform DER -out signercert.pem // извлекаем сертификат из подписи
3. openssl x509 -noout -in signercert.pem -dates // проверка времени действия сертификата


Не заметил, где в этих 3х пунктах проверяется подпись.


Под проверкой подписи я имел в виду проверку подлинности сертификата подписи. Кстати, срок действия сертификата проверяется, исходя из самого сертификата, или происходит запрос к серверу УЦ? Как проверять срок действия через сервер УЦ?


Срок действия - задает УЦ в сертификате, при его выпуске.
Если сертификат был отозван - срок действия в сертификате никак не изменится.
Необходимо проверять статус сертификата (действует\отозван) по CRL\OCSP от УЦ.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.