Статус: Активный участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Здравствуйте.
А что не получается?
Сохранить в файл из браузера?
Отправить с сервера ответ с base64 и в заголовке выставить нужный тип + имя файла (документ.pdf.p7s).
|
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70 Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Автор: Андрей * Здравствуйте.
А что не получается?
Сохранить в файл из браузера?
Отправить с сервера ответ с base64 и в заголовке выставить нужный тип + имя файла (документ.pdf.p7s).
Ну прежде всего спасибо как я понял ответ на первый вопрос сохраняем под именем "<подписываенмый документ с типом>.p7s" Как в дальнейшем использовать этот файл? Например для прохождения проверки на сайте контура: https://crypto.kontur.ru/verifyОтредактировано пользователем 1 сентября 2017 г. 14:36:43(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Получили подписанный файл от своего сервиса. Проверили в каком-то другом сервисе, который поддерживает тип подписи и cms в base64. Храним подписанный файл (файл\файл подписи, если отсоединенная подпись).
Или нужно расписать, что на сайте Контура нажимать и что указывать? |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Сервис указанный выше - не поддерживает отсоединенную ЭП в base64. Т.е. с сервера (своего) возвращать файл с подписью лучше в декодированном варианте сразу. proverka.png (15kb) загружен 26 раз(а).в base64 proverka 2.png (16kb) загружен 65 раз(а). |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70 Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Прежде всего благодарю за ответ и надеюсь на терпение по-подробнее прокоментировать. Автор: Андрей * Получили подписанный файл от своего сервиса. Всё получение подписи происходит на клиенте. результат работы плагина строка я сохраняю её в файл обзываю его именем исходного файла + .p7s Автор: Андрей * Проверили в каком-то другом сервисе, который поддерживает тип подписи и cms в base64. Можно пример о каком сервисе речь, а ещё лучше строчку кода. Автор: Андрей * Храним подписанный файл (файл\файл подписи, если отсоединенная подпись). Что такое "файл\файл подписи" нужно папку рядом создать? Автор: Андрей * Или нужно расписать, что на сайте Контура нажимать и что указывать? Спасибо, будет не лишним
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Насчет расширений файла с ЭП: .sig, .p7s, .sgn и т.п. - зависит от сервиса, где принимать будут для проверки. Например, ФНС: .sng и сервис, как оказалось, не знает про вариант: .p7s p7s.png (39kb) загружен 63 раз(а). |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.08.2017(UTC) Сообщений: 70 Откуда: Нижний Новгород Сказал «Спасибо»: 39 раз
|
Автор: Андрей * Насчет расширений файла с ЭП: .sig, .p7s, .sgn и т.п. - зависит от сервиса, где принимать будут для проверки. Например, ФНС: .sng и сервис, как оказалось, не знает про вариант: .p7s p7s.png (39kb) загружен 63 раз(а). Да! Именно получив такой ответ я и написал это обращение. Буду крайне признателен, если мы найдём верное решение.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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. Требования к электронным документам ...
|
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close