Статус: Новичок
Группы: Участники
Зарегистрирован: 25.01.2018(UTC) Сообщений: 2
|
Добрый день! Написал скрипт проверки установленных сертификатов с использованием ЭЦП Browser plug-in Код: let CAPICOM_CURRENT_USER_STORE = 2;
let CAPICOM_INFO_SUBJECT_SIMPLE_NAME = 0;
let CAPICOM_INFO_ISSUER_SIMPLE_NAME = 1;
let CAPICOM_MY_STORE = "My";
let CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
function SignCreate(certSubjectName, dataToSign) {
return new Promise(function(resolve, reject){
cadesplugin.async_spawn(function *(args) {
try {
var oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
yield oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var certs = yield oStore.Certificates;
var certCnt = yield certs.Count;
var certificates = [];
for (var i = 1; i <= certCnt; i++) {
var cert = yield certs.Item(i);
var issuer_name = yield cert.GetInfo(CAPICOM_INFO_ISSUER_SIMPLE_NAME);
certificates.push({
cert: cert,
title: (yield cert.GetInfo(CAPICOM_INFO_SUBJECT_SIMPLE_NAME))
+ ' (' + (yield cert.GetInfo(CAPICOM_INFO_ISSUER_SIMPLE_NAME)) + ')',
thumbprint: yield cert.Thumbprint
});
}
}
catch (e)
{
args[3]("Failed to create signature. Error: " + cadesplugin.getLastError(e));
}
}, certSubjectName, dataToSign, resolve, reject);
});
}
В chrome 63 на windows 10 Цитата:DEBUG: nmcades_plugin_api.js: Sent message:{"destination":"nmcades","requestid":20,"objid":6,"method":"GetInfo","params":[{"type":"number","value":0}]} nmcades_plugin_api.js:36 DEBUG: nmcades_plugin_api.js: Received message: {"data":{"requestid":20,"retval":{"type":"string","value":"Наименование организации"},"type":"result"},"tabid":"c8760b0e-1582-5b9d-bc44-6f1bc9a2eeec"} При выполнении того же скрипта на chromium 63 в ubuntu 16 Цитата:DEBUG: background.js: Sent native message:{"tabid":"557b1106-9ade-d212-b794-c17c2d351fa5","data":{"destination":"nmcades","requestid":34,"objid":9,"method":"GetInfo","params":[{"type":"number","value":1}]}} background.js:12 DEBUG: background.js: Received native message:{"data":{"requestid":34,"retval":{"type":"string","value":"�� ������������ ������������"},"type":"result"},"tabid":"557b1106-9ade-d212-b794-c17c2d351fa5"}
Знаки вопросов приходят из плагина и раскодировать их уже не получается. Код:user@user-test:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=ru
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Выполнение Код:certmgr -list -store uroot
Показывает информацию о сертификатах в читабельном виде На windows и ubuntu Версия плагина: 2.0.13064 Версия криптопровайдера: 4.0.9842 Причем если зайти на страницу для проверки работы плагина (/products/cades/demopage/simple.html) на обеих ОС русский текст отображается нормально. Подскажите, пожалуйста, что я делаю не так?
|