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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline pavenko_sv  
#1 Оставлено : 1 сентября 2017 г. 13:59:36(UTC)
pavenko_sv

Статус: Активный участник

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

Сказал «Спасибо»: 39 раз
Доброе время суток, в результате подписания PDF документа:

Код:
let oStore = yield cadesplugin.CreateObjectAsync("CAPICOM.Store");
yield oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
                
let CertificatesObj = yield oStore.Certificates;
let oCertificates = yield CertificatesObj.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
                
let Count = yield oCertificates.Count;
let oCertificate = yield oCertificates.Item(1);
let oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
yield oSigner.propset_Certificate(oCertificate);

let oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
let tspService =  "http://testca.cryptopro.ru/tsp/";

yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY);
yield oSignedData.propset_Content(dataToSign);
yield oSigner.propset_Options(CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN);
yield oSigner.propset_TSAAddress(tspService);

let sSignedMessage = yield oSignedData.SignCades(oSigner, CADESCOM_CADES_BES);

yield oStore.Close();
args[2](sSignedMessage);
resolve(true);


Получил подпись вида:
Цитата:
MIIFVAYJKoZIhvcNAQcCoIIFRTCCBUECAQExCzAJBgUrDgMCGgUAMBIGCSqGSIb3DQEHAaAFBAN1
***
ph7BRWTsZz92DQwJYRdMBpOOVakAORQ0QFuEfU2oQ2G/jFDp01dGgU6saWKi6AIXq76TevaEJa0o


Как мне её сохранить в файл и в дальнейшем использовать?
Заранне благодарь за ответ.

Отредактировано пользователем 1 сентября 2017 г. 14:14:43(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#2 Оставлено : 1 сентября 2017 г. 14:23:06(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Здравствуйте.

А что не получается?

Сохранить в файл из браузера?

Отправить с сервера ответ с base64 и в заголовке выставить нужный тип + имя файла (документ.pdf.p7s).
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 01.09.2017(UTC)
Offline pavenko_sv  
#3 Оставлено : 1 сентября 2017 г. 14:31:46(UTC)
pavenko_sv

Статус: Активный участник

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

Сказал «Спасибо»: 39 раз
Автор: Андрей * Перейти к цитате
Здравствуйте.

А что не получается?

Сохранить в файл из браузера?

Отправить с сервера ответ с base64 и в заголовке выставить нужный тип + имя файла (документ.pdf.p7s).


Ну прежде всего спасибо как я понял ответ на первый вопрос сохраняем под именем "<подписываенмый документ с типом>.p7s"
Как в дальнейшем использовать этот файл? Например для прохождения проверки на сайте контура:

https://crypto.kontur.ru/verify

Отредактировано пользователем 1 сентября 2017 г. 14:36:43(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#4 Оставлено : 1 сентября 2017 г. 14:56:24(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Получили подписанный файл от своего сервиса.
Проверили в каком-то другом сервисе, который поддерживает тип подписи и cms в base64.
Храним подписанный файл (файл\файл подписи, если отсоединенная подпись).

Или нужно расписать, что на сайте Контура нажимать и что указывать?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 01.09.2017(UTC)
Offline Андрей Писарев  
#5 Оставлено : 1 сентября 2017 г. 15:06:24(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Сервис указанный выше - не поддерживает отсоединенную ЭП в base64.
Т.е. с сервера (своего) возвращать файл с подписью лучше в декодированном варианте сразу.

proverka.png (15kb) загружен 26 раз(а).


в base64
proverka 2.png (16kb) загружен 65 раз(а).
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 01.09.2017(UTC)
Offline pavenko_sv  
#6 Оставлено : 1 сентября 2017 г. 15:07:48(UTC)
pavenko_sv

Статус: Активный участник

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

Сказал «Спасибо»: 39 раз
Прежде всего благодарю за ответ и надеюсь на терпение по-подробнее прокоментировать.

Автор: Андрей * Перейти к цитате
Получили подписанный файл от своего сервиса.

Всё получение подписи происходит на клиенте. результат работы плагина строка я сохраняю её в файл обзываю его именем исходного файла + .p7s

Автор: Андрей * Перейти к цитате
Проверили в каком-то другом сервисе, который поддерживает тип подписи и cms в base64.

Можно пример о каком сервисе речь, а ещё лучше строчку кода.

Автор: Андрей * Перейти к цитате
Храним подписанный файл (файл\файл подписи, если отсоединенная подпись).

Что такое "файл\файл подписи" нужно папку рядом создать?

Автор: Андрей * Перейти к цитате
Или нужно расписать, что на сайте Контура нажимать и что указывать?

Спасибо, будет не лишним
Offline Андрей Писарев  
#7 Оставлено : 1 сентября 2017 г. 15:10:03(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Насчет расширений файла с ЭП:
.sig, .p7s, .sgn и т.п. - зависит от сервиса, где принимать будут для проверки.

Например, ФНС: .sng

и сервис, как оказалось, не знает про вариант: .p7s
p7s.png (39kb) загружен 63 раз(а).
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 01.09.2017(UTC)
Offline pavenko_sv  
#8 Оставлено : 1 сентября 2017 г. 15:12:30(UTC)
pavenko_sv

Статус: Активный участник

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

Сказал «Спасибо»: 39 раз
Благодарю за подробный ответ.

Автор: Андрей * Перейти к цитате
Сервис указанный выше - не поддерживает отсоединенную ЭП в base64.
Т.е. с сервера (своего) возвращать файл с подписью лучше в декодированном варианте сразу.

proverka.png (15kb) загружен 26 раз(а).


в base64
proverka 2.png (16kb) загружен 65 раз(а).


1) Подскажете как я могу переписать блоб-запрос на angular 2 для правильной кодировки?
2) Верно ли выбрал mime\type ('application/pkcs7-signature')?

Код:

public blobPDF(base64: string): any {

    let byteCharacters = atob(base64);
    let byteNumbers = new Array(byteCharacters.length);
    for (var i = 0; i < byteCharacters.length; i++)
        byteNumbers[i] = byteCharacters.charCodeAt(i);

    let byteArray = new Uint8Array(byteNumbers);
        
    let blob = new Blob([byteArray], { type: 'application/pkcs7-signature' });

    return blob;
}


Вызов:
this.srvCerts.PDFBase64String - строка с получившейся подписью
Код:
let base64String = this.srvCerts.PDFBase64String;
if (base64String) {
    let blob = this.diadocSrv.blobPDF(base64String);
    let file: File = new File(blob, this.file.description + '.p7s');
    var fileURL = window.URL.createObjectURL(file);
    window.open(fileURL);
}

Отредактировано пользователем 1 сентября 2017 г. 15:16:36(UTC)  | Причина: Не указана

Offline pavenko_sv  
#9 Оставлено : 1 сентября 2017 г. 15:14:02(UTC)
pavenko_sv

Статус: Активный участник

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

Сказал «Спасибо»: 39 раз
Автор: Андрей * Перейти к цитате
Насчет расширений файла с ЭП:
.sig, .p7s, .sgn и т.п. - зависит от сервиса, где принимать будут для проверки.

Например, ФНС: .sng

и сервис, как оказалось, не знает про вариант: .p7s
p7s.png (39kb) загружен 63 раз(а).


Да! Именно получив такой ответ я и написал это обращение.
Буду крайне признателен, если мы найдём верное решение.
Offline Андрей Писарев  
#10 Оставлено : 1 сентября 2017 г. 15:16:14(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Автор: pavenko_sv Перейти к цитате


Автор: Андрей * Перейти к цитате
Проверили в каком-то другом сервисе, который поддерживает тип подписи и cms в base64.

Можно пример о каком сервисе речь, а ещё лучше строчку кода.


Внешнем или в своем.

Автор: pavenko_sv Перейти к цитате

Автор: Андрей * Перейти к цитате
Храним подписанный файл (файл\файл подписи, если отсоединенная подпись).

Что такое "файл\файл подписи" нужно папку рядом создать?


Вопрос: как открыть договор.pdf.p7s, если подпись будет присоединенной?
Нужен CSP + ПО, которое проверит и извлечет файл.


Автор: pavenko_sv Перейти к цитате

Автор: Андрей * Перейти к цитате
Или нужно расписать, что на сайте Контура нажимать и что указывать?

Спасибо, будет не лишним


Выше привел снимки.


Вопросы: Для чего вообще ЭП? Кому она и где потребуется? Суд принимает в каком виде?

Есть определенные требования.
Например: Приказ Судебного департамента при Верховном Суде РФ от 28.12.2016 № 252
Цитата:

2.2. Требования к электронным образам документов
...
2.3. Требования к электронным документам
...



Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 01.09.2017(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.