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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline slll  
#1 Оставлено : 27 марта 2023 г. 12:14:03(UTC)
slll

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

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

Скажите пожалуйста как подписать текстовый файл присоединенной ЭП в коде 1С.
Так же как делает КриптоАРМ со снятой галочкой "сохранить подпись в отдельном файле".

Отредактировано пользователем 27 марта 2023 г. 12:15:37(UTC)  | Причина: Не указана

Offline Андрей *  
#2 Оставлено : 27 марта 2023 г. 13:07:30(UTC)
Андрей *

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

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

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

В 1с есть МенеджерКриптографии - посмотрите примеры использования.

Либо смотреть в сторону вызова через COM - CAdESCOM \ CAPICOM (примеры есть в SDK от MS на vbs)

CAdESCOM:
https://docs.cryptopro.r...s/cadescomsamplesigndata


на форуме поиском можно найти примеры, например, этот
Техническую поддержку оказываем тут
Наша база знаний
Offline slll  
#3 Оставлено : 27 марта 2023 г. 13:30:31(UTC)
slll

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

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

Автор: Андрей * Перейти к цитате

В 1с есть МенеджерКриптографии - посмотрите примеры использования.

не может присоединять подпись, делает подпись только в отдельном файле



Автор: Андрей * Перейти к цитате

Либо смотреть в сторону вызова через COM - CAdESCOM \ CAPICOM

пробовал так, не получилось
oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.Content = Base64Строка(ДвоичныеДанные);
oSignedMessage = oSignedData.SignCades(oCertificate, 65535, false, 0);

Ошибка при вызове метода контекста (SignCades)
oSignedMessage = oSignedData.SignCades(oCertificate, 65535, false, 0);
по причине:
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Интерфейс не поддерживается

Обновление компоненты не помогло
Offline Андрей *  
#4 Оставлено : 27 марта 2023 г. 13:43:47(UTC)
Андрей *

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

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

Сказал «Спасибо»: 550 раз
Поблагодарили: 2213 раз в 1727 постах
65535 ?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#5 Оставлено : 27 марта 2023 г. 13:45:26(UTC)
Андрей *

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

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

Сказал «Спасибо»: 550 раз
Поблагодарили: 2213 раз в 1727 постах
Автор: slll Перейти к цитате
Автор: Андрей * Перейти к цитате

В 1с есть МенеджерКриптографии - посмотрите примеры использования.

не может присоединять подпись, делает подпись только в отдельном файле



Автор: Андрей * Перейти к цитате

Либо смотреть в сторону вызова через COM - CAdESCOM \ CAPICOM

пробовал так, не получилось
oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.Content = Base64Строка(ДвоичныеДанные);
oSignedMessage = oSignedData.SignCades(oCertificate, 65535, false, 0);

Ошибка при вызове метода контекста (SignCades)
oSignedMessage = oSignedData.SignCades(oCertificate, 65535, false, 0);
по причине:
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Интерфейс не поддерживается

Обновление компоненты не помогло



+ ContentEncoding указывать, что там в base64 перед инициализацией oSignedData.Content

Техническую поддержку оказываем тут
Наша база знаний
Offline slll  
#6 Оставлено : 27 марта 2023 г. 14:14:24(UTC)
slll

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

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

Сделал так, ошибка та же

CADESCOM_CADES_BES = 1;
CAPICOM_CURRENT_USER_STORE = 2;
CAPICOM_MY_STORE = "My";
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
//CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
CADESCOM_BASE64_TO_BINARY = 1;

oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = Base64Строка(ДвоичныеДанные);
oSignedMessage = oSignedData.SignCades(oCertificate, CADESCOM_CADES_BES, true);
Offline Infopol  
#7 Оставлено : 16 июня 2023 г. 10:36:37(UTC)
Infopol

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

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

Сказал(а) «Спасибо»: 17 раз
Автор: slll Перейти к цитате
Сделал так, ошибка та же

CADESCOM_CADES_BES = 1;
CAPICOM_CURRENT_USER_STORE = 2;
CAPICOM_MY_STORE = "My";
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
//CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
CADESCOM_BASE64_TO_BINARY = 1;

oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = Base64Строка(ДвоичныеДанные);
oSignedMessage = oSignedData.SignCades(oCertificate, CADESCOM_CADES_BES, true);


oSignedXML = Новый COMОбъект("CAdESCOM.SignedXML");

CADESCOM_XML_SIGNATURE_TYPE_ENV=0

oSignedXML.SignatureType = CADESCOM_XML_SIGNATURE_TYPE_ENV;

oSignedXML.Content = Text

sSignedMessage = oSignedXML.Sign(oSigner,xPath) это результат и записывай в XML.

Отредактировано пользователем 16 июня 2023 г. 10:37:10(UTC)  | Причина: Не указана

Offline Андрей *  
#8 Оставлено : 16 июня 2023 г. 10:41:26(UTC)
Андрей *

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

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

Сказал «Спасибо»: 550 раз
Поблагодарили: 2213 раз в 1727 постах
Автор: Infopol Перейти к цитате
Автор: slll Перейти к цитате
Сделал так, ошибка та же

CADESCOM_CADES_BES = 1;
CAPICOM_CURRENT_USER_STORE = 2;
CAPICOM_MY_STORE = "My";
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
//CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
CADESCOM_BASE64_TO_BINARY = 1;

oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = Base64Строка(ДвоичныеДанные);
oSignedMessage = oSignedData.SignCades(oCertificate, CADESCOM_CADES_BES, true);


oSignedXML = Новый COMОбъект("CAdESCOM.SignedXML");

CADESCOM_XML_SIGNATURE_TYPE_ENV=0

oSignedXML.SignatureType = CADESCOM_XML_SIGNATURE_TYPE_ENV;

oSignedXML.Content = Text

sSignedMessage = oSignedXML.Sign(oSigner,xPath) это результат и записывай в XML.


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