Статус: Новичок
Группы: Участники
Зарегистрирован: 22.02.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей * Мы о разных КриптоАРМ-ах или в разных местах смотрим? У меня создаётся и он отображает. Snimok ehkrana ot 2020-03-06 10-57-15.png (25kb) загружен 12 раз(а). Snimok ehkrana ot 2020-03-06 10-57-50.png (22kb) загружен 11 раз(а).Цитата: SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.643.7.1.1.2.2 NULL [0](5 elem) SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.840.113549.1.9.3 SET(1 elem) OBJECT IDENTIFIER1.2.840.113549.1.7.1 SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.840.113549.1.9.5 SET(1 elem) UTCTime2020-03-06 06:54:49 UTC SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.643.2.45.1.1.1 SET(1 elem) BMPString привет! hello! SEQUENCE(2 elem) OBJECT IDENTIFIER1.2.840.113549.1.9.4 SET(1 elem) OCTET STRING(32 byte) 11F6937350AA4A15A73993A782D735266F2280A54F7662FBCA98B2D7F92F71CC
Видимо я всё таки ввёл Вас в заблуждение, прошу прощения. Еще раз объясню... Эта сигнатура создаётся с помощью Browser Plugin-а:
Текст комментария в этой сигнатуре "lala 123 привет!@". Эту сигнатуру я проверяю в КриптоАРМе и не вижу там комментария. Сигнатура создаётся так:
Код:
function SignHashAsync(dataToSign, thumbprint) {
return new Promise(function(resolve, reject) {
cadesplugin.async_spawn(function*(arg) {
var oStore;
try {
oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
yield oStore.Open(cadesplugin.CAPICOM_CURRENT_USER_STORE, cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var allCertificates = yield oStore.Certificates;
var oCertificates = yield allCertificates.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
var certificatesCount = yield oCertificates.Count;
if (certificatesCount === 0) {
return reject("Сертификат не найден в хранилище.");
}
var oCertificate = yield oCertificates.Item(1);
var oHashedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.HashedData");
oHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411);
yield oHashedData.SetHashValue(dataToSign);
var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
oSigner.propset_Certificate(oCertificate);
var oCadesSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
oCadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
var SignatureComment = 'lala 123 привет!@'; // Строка для записи в комментарий
var CommentOBJ = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");
// Размер русских символов = символ * 2.
var RussiansSymbolsLength = 0;
var RussiansSymbols = SignatureComment.match(/[А-яЁё]/g);
if(RussiansSymbols !== null)
RussiansSymbolsLength = RussiansSymbols.length;
var CommentValue = String.fromCharCode(0x0C) + String.fromCharCode(SignatureComment.length + RussiansSymbolsLength) + SignatureComment;
yield CommentOBJ.propset_ValueEncoding(cadesplugin.CADESCOM_ENCODE_BASE64);
var CommentOID = yield CommentOBJ.OID;
yield CommentOID.propset_Value('1.3.6.1.4.1.311.2.1.120'); // OID комментария в КриптоАРМ
yield CommentOBJ.propset_Value(b64EncodeUnicode(CommentValue));
var Attr = yield oSigner.AuthenticatedAttributes2;
yield Attr.Add(CommentOBJ);
var signatureHex = yield oCadesSignedData.SignHash(oHashedData, oSigner, cadesplugin.CADESCOM_CADES_BES);
return resolve(signatureHex);
} catch (err) {
return reject("Не удалось создать подпись. " + GetErrorMessage(err));
} finally {
if (oStore) {
yield oStore.Close();
}
}
});
});
}
Картинка проверки созданной Browser Plugin-ом подписи: 1.jpg (65kb) загружен 9 раз(а).Эта сигнатура создаётся с помощью КриптоАРМа:
Из неё, средствами Browser Plugin-a, я пытаюсь получить комментарий "рус eng @@!" с помощью этого кода:
Код:
............................................
var Attr = yield cadesplugin.CreateObjectAsync('CADESCOM.CPAttribute');
let Attrs = yield Signer.AuthenticatedAttributes2;
let Attrsc = yield Attrs.Count;
for(var i=1; i<=Attrsc; i++) {
let AttrsItem = yield Attrs.Item(i);
let AttrsItemO = yield AttrsItem.OID;
let AttrsItemN = yield AttrsItemO.FriendlyName;
let AttrsItemV = yield AttrsItemO.Value;
console.log(AttrsItemN + " : " + AttrsItemV);
}
............................................
В консоль получаю явно не текст комментария: Цитата:
Тип содержимого : 1.2.840.113549.1.9.3 Время подписания : 1.2.840.113549.1.9.5 1.3.6.1.4.1.311.2.1.120 : 1.3.6.1.4.1.311.2.1.120 Выборка сообщения : 1.2.840.113549.1.9.4 1.2.840.113549.1.9.16.2.47 : 1.2.840.113549.1.9.16.2.47
Отредактировано пользователем 6 марта 2020 г. 11:01:38(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,255 Сказал «Спасибо»: 545 раз Поблагодарили: 2193 раз в 1712 постах
|
Цитата:Видимо я всё таки ввёл Вас в заблуждение, прошу прощения. Еще раз объясню...
Эта сигнатура создаётся с помощью Browser Plugin-а:
Текст комментария в этой сигнатуре "lala 123 привет!@". Эту сигнатуру я проверяю в КриптоАРМе и не вижу там комментария. Еще раз... у нас разные КриптоАРМ-ы? Может с этого пункта начать? Потому что тот, что у меня - показывает подписанный комментарий из плагина. Snimok ehkrana ot 2020-03-06 11-17-07.png (21kb) загружен 11 раз(а).Вопросы: 1) Версия КриптоАРМ (полностью) 2) Почему до сих пор ГОСТ-2001? |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 22.02.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей * Цитата:Видимо я всё таки ввёл Вас в заблуждение, прошу прощения. Еще раз объясню...
Эта сигнатура создаётся с помощью Browser Plugin-а:
Текст комментария в этой сигнатуре "lala 123 привет!@". Эту сигнатуру я проверяю в КриптоАРМе и не вижу там комментария. Еще раз... у нас разные КриптоАРМ-ы? Может с этого пункта начать? Потому что тот, что у меня - показывает подписанный комментарий из плагина. Snimok ehkrana ot 2020-03-06 11-17-07.png (21kb) загружен 11 раз(а).Вопросы: 1) Версия КриптоАРМ (полностью) 2) Почему до сих пор ГОСТ-2001? 1) Версия: 4.5.0.0 2) Не могу знать, работаю, с чем дали
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,255 Сказал «Спасибо»: 545 раз Поблагодарили: 2193 раз в 1712 постах
|
в сообщении 11 некоторые asn1-просмотрщики (guiDumpANS-ng, ASN.1 Dump Utility) выдают ошибку: Цитата: SEQUENCE { OBJECT IDENTIFIER '1 3 6 1 4 1 311 2 1 120' SET { SEQUENCE { BMPString '.@.C.A' BMPString Error: Object has zero length. BMPString Error: Object has zero length. } } }
Чтение из ASN.1 JavaScript decoder: https://lapo.it/asn1js/ Цитата: SEQUENCE(2 elem) OBJECT IDENTIFIER 1.3.6.1.4.1.311.2.1.120 SET(1 elem) SEQUENCE(3 elem) BMPStringрус eng @@! BMPString BMPString
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,255 Сказал «Спасибо»: 545 раз Поблагодарили: 2193 раз в 1712 постах
|
Автор: azazm Автор: Андрей * Вопросы: 1) Версия КриптоАРМ (полностью) 2) Почему до сих пор ГОСТ-2001? 1) Версия: 4.5.0.0 2) Не могу знать, работаю, с чем дали 1) Номер сборки 5.4.3.10 от 27.12.2019: https://trusted.ru/support/downloads/?product=1332) ГОСТ-2001 не должен использоваться в 2020. Получите тестовый по ГОСТ-2012 и выполняйте подписание\проверку в актуальных версиях ПО. |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
azazm оставлено 06.03.2020(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 22.02.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей * Автор: azazm Автор: Андрей * Вопросы: 1) Версия КриптоАРМ (полностью) 2) Почему до сих пор ГОСТ-2001? 1) Версия: 4.5.0.0 2) Не могу знать, работаю, с чем дали 1) Номер сборки 5.4.3.10 от 27.12.2019: https://trusted.ru/support/downloads/?product=1332) ГОСТ-2001 не должен использоваться в 2020. Получите тестовый по ГОСТ-2012 и выполняйте подписание\проверку в актуальных версиях ПО. В новой версии комментарий отображается, спасибо за помощь, проблема решена. Странно конечно, что 4-я версия их не отображает. P.S. Сигнатуры в теме удалил Отредактировано пользователем 6 марта 2020 г. 11:03:10(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,255 Сказал «Спасибо»: 545 раз Поблагодарили: 2193 раз в 1712 постах
|
Автор: azazm Автор: Андрей * Автор: azazm Автор: Андрей * Вопросы: 1) Версия КриптоАРМ (полностью) 2) Почему до сих пор ГОСТ-2001? 1) Версия: 4.5.0.0 2) Не могу знать, работаю, с чем дали 1) Номер сборки 5.4.3.10 от 27.12.2019: https://trusted.ru/support/downloads/?product=1332) ГОСТ-2001 не должен использоваться в 2020. Получите тестовый по ГОСТ-2012 и выполняйте подписание\проверку в актуальных версиях ПО. В новой версии комментарий отображается, спасибо за помощь, проблема решена. Странно конечно, что 4-я версия их не отображает.P.S. Сигнатуры в теме удалил 4.5 - это какой год? 2012-2013? Я писал под неё также, но потом появились отдельные OID-ы для каждого атрибута. (вероятно из-за такой ситуации) |
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Странно, что в 5.4.1 создался "триединый" комментарий. Гост-2012 уже поддерживается, потому "работает, не чиню".
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close