Статус: Новичок
Группы: Участники
Зарегистрирован: 27.01.2021(UTC) Сообщений: 7
Сказал(а) «Спасибо»: 3 раз
|
Добрый день! Использую такой код для соподписания документа если подписи есть и простого подписания если подписи нет, вопрос следующий люди подписывают, после чего их сертификат отзывается, подпись на момент подписания остается действительна, но при подписании новым сертификатом выходит ошибка "Сертификат был отозван поставщиком этого сертификата. (0x800B010C)", как в данном случае я могу подписать документ новым сертификатом? Заранее спасибо. Код:let oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
yield oSigner.propset_Certificate(cert);
//yield oSigner.propset_CheckCertificate(true);
//в объект описания hash вставляем уже готовый hash с сервера
yield hashObject.SetHashValue(data[i].Hash);
yield coHashObject.SetHashValue(data[i].Hash);
var oDocumentNameAttr = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");
yield oDocumentNameAttr.propset_Name(CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME);
yield oDocumentNameAttr.propset_Value(data[i].Filename);
var oAuthAttrs = yield oSigner.AuthenticatedAttributes2;
yield oAuthAttrs.Add(oDocumentNameAttr);
let oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
//результат подписания в base64
let signatureHex =
yield oSignedData.SignHash(hashObject, oSigner, 1);
if (data[i].CoSignature == "") {
data[i].CoSignature = signatureHex;
data[i].Signature = signatureHex;
} else {
yield oSignedData.VerifyHash(coHashObject, data[i].CoSignature, 1);
let coSignatureHex =
yield oSignedData.CoSignHash(hashObject, oSigner, 1);
data[i].CoSignature = coSignatureHex;
data[i].Signature = signatureHex;
}
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,276 Сказал «Спасибо»: 547 раз Поблагодарили: 2196 раз в 1714 постах
|
Здравствуйте. А попробовать CAdES Xlong1 нельзя? Или подписывать отдельной подписью, хранить отдельно. Отредактировано пользователем 11 января 2022 г. 10:39:27(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.01.2021(UTC) Сообщений: 7
Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей * Здравствуйте.
А попробовать CAdES Xlong1 нельзя? Или подписывать отдельной подписью, хранить отдельно. К сожалению CAdES Xlong1 не знаю как использовать, но если такой вариант будет работоспособен пойду читать. Насчет отдельной подписи, если вы имеете ввиду каждую подпись в отдельный файл, то при проверке, допустим в КриптоАРМ, необходимо добавлять для каждого файла подписи исходный файл, который подписывали, чтобы этого избежать заказчик попросил хранить все подписи в одном файле
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,276 Сказал «Спасибо»: 547 раз Поблагодарили: 2196 раз в 1714 постах
|
а сколько подписантов? можно использовать разные расширения: .p7s, .sig, .sgn... будет, как пример:
файл.doc файл.doc.p7s файл.doc.sig
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.01.2021(UTC) Сообщений: 7
Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей * а сколько подписантов? можно использовать разные расширения: .p7s, .sig, .sgn... будет, как пример:
файл.doc файл.doc.p7s файл.doc.sig
12 подписантов
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,276 Сказал «Спасибо»: 547 раз Поблагодарили: 2196 раз в 1714 постах
|
Автор: dvyglazz Автор: Андрей * а сколько подписантов? можно использовать разные расширения: .p7s, .sig, .sgn... будет, как пример:
файл.doc файл.doc.p7s файл.doc.sig
12 подписантов и какая-то ИС это контролирует? Как обеспечивается последовательность подписания? А если кто-то удалит из файла подписанта? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.01.2021(UTC) Сообщений: 7
Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей * и какая-то ИС это контролирует? Как обеспечивается последовательность подписания? А если кто-то удалит из файла подписанта? ИС своя, последовательность подписания обеспечивается путем блокировки доступа к файлам на момент подписания, удалить подписанта из файла никто не может кроме нас (разработчиков ИС), всё подписание логируется Отредактировано пользователем 11 января 2022 г. 12:19:52(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.01.2021(UTC) Сообщений: 7
Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей * Здравствуйте.
А попробовать CAdES Xlong1 нельзя? Или подписывать отдельной подписью, хранить отдельно. Для того чтобы использовать CAdES Xlong1 необходимо ли дополнительное ПО кроме CryptoPRO CSP?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,276 Сказал «Спасибо»: 547 раз Поблагодарили: 2196 раз в 1714 постах
|
|
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Добавлю, что если нужно хранить много подписей в одном файле - может помочь формат XMLDSIG или его расширения XADES. Изначально он предназначен для подписания XML, но технология дает возможность подписания любых файлов в качестве отсоединенной подписи. В одном файле подписи может быть множество независимых подписей одного файла или же разных файлов. Метки времени могут быть как от сервера доверенного времени, так и свои собственные, проставляемые ИС (такие были в формате для СМЭВ 2). А если подключить MTOM, то можно и присоединенную для любых файлов сымитировать. Отредактировано пользователем 11 января 2022 г. 13:45:40(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close