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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline oleg_antonov  
#1 Оставлено : 7 октября 2012 г. 20:28:18(UTC)
oleg_antonov

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

Группы: Участники
Зарегистрирован: 07.10.2012(UTC)
Сообщений: 4
Откуда: Тамбов

Добрый день. При написании серверной части ЭТП встал вопрос внедрения возможности подписания загруженных файлов, ЭЦП пользователя. Не могли бы вы прояснить для меня несколько вопросов?

На мой взгляд, алгоритм данного дествия должен быть такой:
1. Загрузка пользователем файла.
2. Запрос от сервера, ЭЦП пользователя.
3. Запрос от сервера к УЦ, о действии ЭЦП пользователя.
4. Подписание файла на сервере, ЭЦП пользователя
5. Сохранение файла и полученной сигнатуры.

Я прав или что-то неверно/упущенно?

Отредактировано пользователем 7 октября 2012 г. 20:34:23(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#2 Оставлено : 7 октября 2012 г. 20:35:50(UTC)
Андрей *

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

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

Сказал «Спасибо»: 609 раз
Поблагодарили: 2364 раз в 1860 постах
oleg_antonov написал:
Добрый день. При написании серверной части ЭТП встал вопрос внедрения возможности подписания загруженных файлов, ЭЦП пользователя. Не могли бы вы прояснить для меня несколько вопросов?

На мой взгляд, алгоритм данного дествия должен быть такой:
1. Загрузка пользователем файла.
2. Запрос от сервера, ЭЦП пользователя.
3. Запрос от сервера к УЦ, о действии ЭЦП пользователя.
4. Подписание файла на сервере, ЭЦП пользователя
5. Сохранение файла и полученной сигнатуры.

Я прав или что-то неверно/упущенно?



Каким образом? На сервере будет закрытый ключ пользователя (клиента)?
или имеется ввиду другим "пользовательским №2, который используется на сервере", а не из п.2

или п2 это запрос подписи со стороны сервера?


Цитата:

3. Запрос от сервера к УЦ, о действии ЭЦП

Действует не ЭЦП, а сертификат, это имелось ввиду?

Отредактировано пользователем 7 октября 2012 г. 20:44:34(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline oleg_antonov  
#3 Оставлено : 8 октября 2012 г. 15:51:04(UTC)
oleg_antonov

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

Группы: Участники
Зарегистрирован: 07.10.2012(UTC)
Сообщений: 4
Откуда: Тамбов

Действительно, глупость получилось.
Тоесть тогда алгоритм следующий:
1. Пользователь загружает файл.
2. Например через CAPICOM подписывает его.
3. На сервере запрос к УЦ о действительности сертификаты.
4. На сервере, верификация сигнатуры
5. Сохранение Файла и сигнатуры
Offline Андрей Писарев  
#4 Оставлено : 8 октября 2012 г. 17:50:27(UTC)
Андрей *

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

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

Сказал «Спасибо»: 609 раз
Поблагодарили: 2364 раз в 1860 постах
oleg_antonov написал:
Действительно, глупость получилось.
Тоесть тогда алгоритм следующий:
1. Пользователь загружает файл.
2. Например через CAPICOM подписывает его.
3. На сервере запрос к УЦ о действительности сертификаты.
4. На сервере, верификация сигнатуры
5. Сохранение Файла и сигнатуры


между 2 или 3 - можно и на стороне клиента проверять сертификат сразу... через CAPICOM
Техническую поддержку оказываем тут
Наша база знаний
Offline oleg_antonov  
#5 Оставлено : 10 октября 2012 г. 22:55:18(UTC)
oleg_antonov

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

Группы: Участники
Зарегистрирован: 07.10.2012(UTC)
Сообщений: 4
Откуда: Тамбов

Посмотрел повнимательней продукты КриптоПРО и нашел КриптоПро ЭЦП Browser plug-in. Насколько я понимаю проблем при его использовании, с аккредитацией минэкономразвития быть не должно?
Через данный файл получилось создать подпись (неусовершенствованную), присоединенную к файлу.
Два вапроса.
1. Теперь на стороне сервера я могу проверить данную подпись с помощью приложения командной строки cryptcp?
2. Как проверить сертификат пользователя? Тоже через cryptcp?
Offline oleg_antonov  
#6 Оставлено : 11 октября 2012 г. 21:09:43(UTC)
oleg_antonov

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

Группы: Участники
Зарегистрирован: 07.10.2012(UTC)
Сообщений: 4
Откуда: Тамбов

На стороне клиента, с помощью плагина подписываю сообщение, полученный резулбтат сохраняю в файл text.sig :
Код:

function SignCreate(certSubjectName, dataToSign) {
    var oStore = CreateObject("CAPICOM.Store");
    oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
    CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

    var oCertificates = oStore.Certificates.Find(
    CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubjectName);
    if (oCertificates.Count == 0) {
        alert("Certificate not found");
        return;
    }
    var oCertificate = oCertificates.Item(1);

    var oSigner = CreateObject("CAdESCOM.CPSigner");
    oSigner.Certificate = oCertificate;
    oSigner.TSAAddress = "http://cryptopro.ru/tsp/";
    
    var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
    oSignedData.Content = dataToSign;

    try {
        var sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1);
    } catch (err) {
        alert("Failed to create signature. Error: " + GetErrorMessage(err));
        return;
    }

    oStore.Close();

    return sSignedMessage;
}


На стороне сервера на php проверяю подпись так:
Код:

$filename = "text.sig";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
$err ='';
$sSignedMessage = $contents;

$CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;

 $oSignedData = new COM("CAdESCOM.CadesSignedData");
    try {
        $oSignedData->VerifyCades($sSignedMessage, $CADESCOM_CADES_X_LONG_TYPE_1);
    } catch (Exception $err) {
        echo "Failed to verify signature. Error: ".$err;
        return false;
    }
	
	echo ('Подпись верна');
    return true;


1. Правильно ли я делаю?
2. Можно ли как-то на сервере, из полученной подписи получить начальное сообщение, или нужно отсылать его вместе с подписью?
3. Как я могу проверить сертификат пользователя?
Вложение(я):
text.sig (11kb) загружен 9 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline nesterjenov  
#7 Оставлено : 15 октября 2012 г. 3:40:19(UTC)
nesterjenov

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

Группы: Участники
Зарегистрирован: 15.10.2012(UTC)
Сообщений: 1
Откуда: Москва

Андрей * написал:
oleg_antonov написал:
Действительно, глупость получилось.
Тоесть тогда алгоритм следующий:
1. Пользователь загружает файл.
2. Например через CAPICOM подписывает его.
3. На сервере запрос к УЦ о действительности сертификаты.
4. На сервере, верификация сигнатуры
5. Сохранение Файла и сигнатуры


между 2 или 3 - можно и на стороне клиента проверять сертификат сразу... через CAPICOM

Добрый день. Заинтересовал данный момент. Что вы имели ввиду под проверкой сертификата на стороне пользователя? Проверка даты выдачи и окончания сертификата? При использовании плагина для браузера от КриптоПРО, заметил что не каждой ЭЦП можно осуществить подпись. Данный плагин проводит какую-то проверку сертификата самостоятельно?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.