Nmcades exe ошибка


Offline

Alex1515

 


#1
Оставлено
:

26 июля 2016 г. 12:42:10(UTC)

Alex1515

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.07.2016(UTC)
Сообщений: 8
Российская Федерация
Откуда: Москва

Добрый день.
Windows 7 Ultimate
Cryptopro CSP:
Версия ядра СКЗИ: 3.6.5365
Версия продукта: 3.6.7777
Плагин: cadesplugin.exe

При установки cadesplugin.exe ошибок не произошло
Тестовая страница http://cpdn.cryptopro.ru…ontent/cades/plugin.html отрабатывает нормально
все подписывается.
Но я сделал свой html файл и вставил ваш javascript

Код файла

<html>
<script language=»javascript» src=»https://www.cryptopro.ru/sites/default/files/products/cades/cadesplugin_api.js»></script>

<script>
var canPromise = !!window.Promise;
if(canPromise) {
cadesplugin.then(function () {
// прикладной код
},
function(error) {
// сообщение об ошибке
}
);
} else {
window.addEventListener(«message», function (event){
if (event.data == «cadesplugin_loaded») {
// прикладной код
} else if(event.data == «cadesplugin_load_error») {
// сообщение об ошибке
}
},
false);
window.postMessage(«cadesplugin_echo_request», «*»);
}
var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
var CAPICOM_CURRENT_USER_STORE = 2;
var CAPICOM_MY_STORE = «My»;
var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
var CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;

function GetErrorMessage(e) {
var err = e.message;
if (!err) {
err = e;
} else if (e.number) {
err += » (» + e.number + «)»;
}
return err;
}

function SignCreate(certSubjectName, dataToSign) {
var oStore = cadesplugin.CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

var oCertificates = oStore.Certificates.Find(
CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubjectName);
if (oCertificates.Count == 0) {
alert(«Certificate not found: » + certSubjectName);
return;
}
var oCertificate = oCertificates.Item(1);
var oSigner = cadesplugin.CreateObject(«CAdESCOM.CPSigner»);
oSigner.Certificate = oCertificate;
oSigner.TSAAddress = «http://cryptopro.ru/tsp/»;

var oSignedData = cadesplugin.CreateObject(«CAdESCOM.CadesSignedData»);
oSignedData.Content = dataToSign;

try {
var sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1);
} catch (err) {
alert(«Failed to create signature. Error: » + GetErrorMessage(err));
return;
}

oStore.Close();

return sSignedMessage;
}

function Verify(sSignedMessage) {
var oSignedData = cadesplugin.CreateObject(«CAdESCOM.CadesSignedData»);
try {
oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_X_LONG_TYPE_1);
} catch (err) {
alert(«Failed to verify signature. Error: » + GetErrorMessage(err));
return false;
}

return true;
}

function run() {
var oCertName = document.getElementById(«CertName»);
var sCertName = oCertName.value; // Здесь следует заполнить SubjectName сертификата
if («» == sCertName) {
alert(«Введите имя сертификата (CN).»);
return;
}
var signedMessage = SignCreate(sCertName, «Message»);

document.getElementById(«signature»).innerHTML = signedMessage;

var verifyResult = Verify(signedMessage);
if (verifyResult) {
alert(«Signature verified»);
}
}
</script>
<body>
<input type=»edit» Value=»1″ id=»CertName»>
</body>
</html>

При загрузки страницы выкатывает ошибку:
Failed to load resource: net::ERR_FAILED chrome-extension://epebfcehmdedogndhlcacafjaacknbcm/nmcades_plugin_api.js


Вверх


Offline

cross

 


#2
Оставлено
:

27 июля 2016 г. 15:05:23(UTC)

Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах

В этом нет ни чего криминального. Одно из двух расширений не доступно у вас — оно для Opera предназначено.

Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.


Вверх


Offline

Alex1515

 


#3
Оставлено
:

27 июля 2016 г. 15:54:32(UTC)

Alex1515

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.07.2016(UTC)
Сообщений: 8
Российская Федерация
Откуда: Москва

ясно, спасибо


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.


Offline

vadjunik

 


#1
Оставлено
:

9 сентября 2017 г. 18:36:02(UTC)

vadjunik

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

Группы: Участники

Зарегистрирован: 09.12.2016(UTC)
Сообщений: 127
Мужчина
Российская Федерация
Откуда: Таганрог

Сказал «Спасибо»: 15 раз

Приветствую! Столкнулся с проблемой — некорректно (как я понимаю) формируется запрос на сертификат.
Прошерстил форум, именно такой связки проблем и технологий не нашел, встреченные рекомендации пробовал — не помогает( В документации тоже ответов не нашлось (может не там искал?)

Имеем на клиентах, браузеры

GH 61.0.3163.79 (версия плагина КриптоПро 2.0.13027) (обновил в надежде на решение проблемы, не помогло, как видно)
FF 55.0.3 (версия плагина КриптоПро 2.0.12888)

Соответственно,

используется асинхронный вариант

API.

Сразу уточню,

при запросе через API уровня ОС (работает старый NPAPI-шный плагин) — все четко

.

КриптоПро CSP: 4.0.9907
Версия ядра: 4.0.9015 КС1

При запросе указываю параметры провайдера:

Тип: 80
Имя: Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider

На сервере используется штатный майкрософтовский УЦ, котором в качестве криптопровайдера указан КриптоПро (GOST R 34.10-2012).

КриптоПро CSP: 4.0.9842
Версия ядра: 4.0.9014 КС1

Код запроса отрабатывает корретно.

Код:

<script type="text/javascript">

var ENROLL_X500NAME_FLAGS = {
    XCN_CERT_NAME_STR_NONE                       : 0,
    XCN_CERT_SIMPLE_NAME_STR                     : 0x00000001, // Это флаг плагину не нравится, ругается: The parameter is incorrect. (0x80070057)
    XCN_CERT_OID_NAME_STR                        : 0x00000002,
    XCN_CERT_X500_NAME_STR                       : 0x00000003,
    XCN_CERT_XML_NAME_STR                        : 0x00000004,
    XCN_CERT_NAME_STR_SEMICOLON_FLAG             : 0x40000000,
    XCN_CERT_NAME_STR_NO_PLUS_FLAG               : 0x20000000,
    XCN_CERT_NAME_STR_NO_QUOTING_FLAG            : 0x10000000,
    XCN_CERT_NAME_STR_CRLF_FLAG                  : 0x8000000,
    XCN_CERT_NAME_STR_COMMA_FLAG                 : 0x4000000,
    XCN_CERT_NAME_STR_REVERSE_FLAG               : 0x2000000,
    XCN_CERT_NAME_STR_FORWARD_FLAG               : 0x1000000,
    XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG      : 0x10000,
    XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG    : 0x20000,
    XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG   : 0x40000,
    XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG    : 0x80000,
    XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG  : 0x100000
};

function(fullName, providerType, providerName) 
{        
      // Ф-я ExecWithPlugin просто обертка над cadesplugin.async_spawn, перехватывающая и расшифровывающая ошибки.
      ExecWithPlugin(function* () { 

            // Ф-я GetEnrollObject - обертка для создания асинхронного объекта из пространства имен X509Enrollment
            var privateKey = yield* GetEnrollObject("CX509PrivateKey");             
            yield privateKey.propset_ProviderName(providerName);
            yield privateKey.propset_ProviderType(providerType);
            yield privateKey.propset_KeySpec(ENROLL_X509KEYSPEC.XCN_AT_SIGNATURE);                

            var certificateRequestPkcs10 = yield* GetEnrollObject("CX509CertificateRequestPkcs10");
            yield certificateRequestPkcs10.InitializeFromPrivateKey(ENROLL_CONTEXT.ContextUser, privateKey, ""); 

            var distinguishedName = yield* GetEnrollObject("CX500DistinguishedName");
                        
            // fullName - проиндексированный OID(ами) массив значений для RDN.

            var certName = "";
            var oids = Object.keys(fullName);
            
            for(var i = 0; i < oids.length; i++){
                if (certName != "")
                    certName += ", ";
                
                certName += (oids[i] + "=" + fullName[oids[i]]);  
            }
                                                        
            yield distinguishedName.Encode(certName, ENROLL_X500NAME_FLAGS.XCN_CERT_NAME_STR_NONE); 
            yield certificateRequestPkcs10.propset_Subject(distinguishedName);

            var keyUsageExtension = yield* GetEnrollObject("CX509ExtensionKeyUsage");
                        
            yield keyUsageExtension.InitializeEncode(
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE |
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE |
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE |
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_NON_REPUDIATION_KEY_USAGE);
                        
            yield (yield certificateRequestPkcs10.X509Extensions).Add(keyUsageExtension);

            var enroll = yield* GetEnrollObject("CX509Enrollment");
            yield enroll.InitializeFromRequest(certificateRequestPkcs10);
                
            // Пробовал менять тип кодировки при значении XCN_CRYPT_STRING_BINARY  получаю: 
            // Данные ASN1 повреждены. 0x80093103 (ASN: 259)

            // А при XCN_CRYPT_STRING_NOCR - Падает сам плагин (в Хроме).             
                                      // Сигнатура проблемы:
                                      // Имя события проблемы:	APPCRASH
                                      // Имя приложения:	nmcades.exe
                                      // Версия приложения:	1.0.10478.0
                                      // Отметка времени приложения:	597d48c9
                                      // Имя модуля с ошибкой:	nmcades.exe
                                      // Версия модуля с ошибкой:	1.0.10478.0
                                      // Отметка времени модуля с ошибкой:	597d48c9
                                      // Код исключения:	40000015
                                      // Смещение исключения:	000166f5
                                      // Версия ОС:	6.1.7601.2.1.0.256.48
                                      // Код языка:	1049
                                      // Дополнительные сведения 1:	177b
                                      // Дополнительные сведения 2:	177b64d1b0e35f4876ae099d0b42016e
                                      // Дополнительные сведения 3:	7793
                                      // Дополнительные сведения 4:	7793eef4e9c0c3a122a47f8bca2bf0a0
                                            
            var certReq = yield enroll.CreateRequest(ENROLL_ENCODING_TYPE.XCN_CRYPT_STRING_BASE64); 
            var containerName = yield privateKey.ContainerName;
    });
}
</script>

Значения флагов и констант взяты из MSDN, только флаги в ENROLL_X500NAME_FLAGS привел к единообразному 16-ричному виду, может как-то не так (добавил в исходник сюда)?

Но в итоге на сервере, при отправке запроса ЦС, получаю сообщение:
Встречено неверное значение тега ASN1. 0x8009310b (ASN: 267)

Кроме экспериментов с кодировкой самого запроса, пробовал по всякому формировать RDN (штано OID=значение) через «, «. Никаких изменений ( Руками делал строку, в которой забирал значения параметров с пробелами в кавычки, результат прежний.

Вот тут сам файл запроса, уже приехавший на сервер.

Может глаза замылились не вижу очевидной ошибки?


Offline

vadjunik

 


#1
Оставлено
:

9 сентября 2017 г. 18:36:02(UTC)

vadjunik

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

Группы: Участники

Зарегистрирован: 09.12.2016(UTC)
Сообщений: 127
Мужчина
Российская Федерация
Откуда: Таганрог

Сказал «Спасибо»: 15 раз

Приветствую! Столкнулся с проблемой — некорректно (как я понимаю) формируется запрос на сертификат.
Прошерстил форум, именно такой связки проблем и технологий не нашел, встреченные рекомендации пробовал — не помогает( В документации тоже ответов не нашлось (может не там искал?)

Имеем на клиентах, браузеры

GH 61.0.3163.79 (версия плагина КриптоПро 2.0.13027) (обновил в надежде на решение проблемы, не помогло, как видно)
FF 55.0.3 (версия плагина КриптоПро 2.0.12888)

Соответственно,

используется асинхронный вариант

API.

Сразу уточню,

при запросе через API уровня ОС (работает старый NPAPI-шный плагин) — все четко

.

КриптоПро CSP: 4.0.9907
Версия ядра: 4.0.9015 КС1

При запросе указываю параметры провайдера:

Тип: 80
Имя: Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider

На сервере используется штатный майкрософтовский УЦ, котором в качестве криптопровайдера указан КриптоПро (GOST R 34.10-2012).

КриптоПро CSP: 4.0.9842
Версия ядра: 4.0.9014 КС1

Код запроса отрабатывает корретно.

Код:

<script type="text/javascript">

var ENROLL_X500NAME_FLAGS = {
    XCN_CERT_NAME_STR_NONE                       : 0,
    XCN_CERT_SIMPLE_NAME_STR                     : 0x00000001, // Это флаг плагину не нравится, ругается: The parameter is incorrect. (0x80070057)
    XCN_CERT_OID_NAME_STR                        : 0x00000002,
    XCN_CERT_X500_NAME_STR                       : 0x00000003,
    XCN_CERT_XML_NAME_STR                        : 0x00000004,
    XCN_CERT_NAME_STR_SEMICOLON_FLAG             : 0x40000000,
    XCN_CERT_NAME_STR_NO_PLUS_FLAG               : 0x20000000,
    XCN_CERT_NAME_STR_NO_QUOTING_FLAG            : 0x10000000,
    XCN_CERT_NAME_STR_CRLF_FLAG                  : 0x8000000,
    XCN_CERT_NAME_STR_COMMA_FLAG                 : 0x4000000,
    XCN_CERT_NAME_STR_REVERSE_FLAG               : 0x2000000,
    XCN_CERT_NAME_STR_FORWARD_FLAG               : 0x1000000,
    XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG      : 0x10000,
    XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG    : 0x20000,
    XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG   : 0x40000,
    XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG    : 0x80000,
    XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG  : 0x100000
};

function(fullName, providerType, providerName) 
{        
      // Ф-я ExecWithPlugin просто обертка над cadesplugin.async_spawn, перехватывающая и расшифровывающая ошибки.
      ExecWithPlugin(function* () { 

            // Ф-я GetEnrollObject - обертка для создания асинхронного объекта из пространства имен X509Enrollment
            var privateKey = yield* GetEnrollObject("CX509PrivateKey");             
            yield privateKey.propset_ProviderName(providerName);
            yield privateKey.propset_ProviderType(providerType);
            yield privateKey.propset_KeySpec(ENROLL_X509KEYSPEC.XCN_AT_SIGNATURE);                

            var certificateRequestPkcs10 = yield* GetEnrollObject("CX509CertificateRequestPkcs10");
            yield certificateRequestPkcs10.InitializeFromPrivateKey(ENROLL_CONTEXT.ContextUser, privateKey, ""); 

            var distinguishedName = yield* GetEnrollObject("CX500DistinguishedName");
                        
            // fullName - проиндексированный OID(ами) массив значений для RDN.

            var certName = "";
            var oids = Object.keys(fullName);
            
            for(var i = 0; i < oids.length; i++){
                if (certName != "")
                    certName += ", ";
                
                certName += (oids[i] + "=" + fullName[oids[i]]);  
            }
                                                        
            yield distinguishedName.Encode(certName, ENROLL_X500NAME_FLAGS.XCN_CERT_NAME_STR_NONE); 
            yield certificateRequestPkcs10.propset_Subject(distinguishedName);

            var keyUsageExtension = yield* GetEnrollObject("CX509ExtensionKeyUsage");
                        
            yield keyUsageExtension.InitializeEncode(
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE |
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE |
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE |
                        ENROLL_X509KEYUSAGE_FLAGS.XCN_CERT_NON_REPUDIATION_KEY_USAGE);
                        
            yield (yield certificateRequestPkcs10.X509Extensions).Add(keyUsageExtension);

            var enroll = yield* GetEnrollObject("CX509Enrollment");
            yield enroll.InitializeFromRequest(certificateRequestPkcs10);
                
            // Пробовал менять тип кодировки при значении XCN_CRYPT_STRING_BINARY  получаю: 
            // Данные ASN1 повреждены. 0x80093103 (ASN: 259)

            // А при XCN_CRYPT_STRING_NOCR - Падает сам плагин (в Хроме).             
                                      // Сигнатура проблемы:
                                      // Имя события проблемы:	APPCRASH
                                      // Имя приложения:	nmcades.exe
                                      // Версия приложения:	1.0.10478.0
                                      // Отметка времени приложения:	597d48c9
                                      // Имя модуля с ошибкой:	nmcades.exe
                                      // Версия модуля с ошибкой:	1.0.10478.0
                                      // Отметка времени модуля с ошибкой:	597d48c9
                                      // Код исключения:	40000015
                                      // Смещение исключения:	000166f5
                                      // Версия ОС:	6.1.7601.2.1.0.256.48
                                      // Код языка:	1049
                                      // Дополнительные сведения 1:	177b
                                      // Дополнительные сведения 2:	177b64d1b0e35f4876ae099d0b42016e
                                      // Дополнительные сведения 3:	7793
                                      // Дополнительные сведения 4:	7793eef4e9c0c3a122a47f8bca2bf0a0
                                            
            var certReq = yield enroll.CreateRequest(ENROLL_ENCODING_TYPE.XCN_CRYPT_STRING_BASE64); 
            var containerName = yield privateKey.ContainerName;
    });
}
</script>

Значения флагов и констант взяты из MSDN, только флаги в ENROLL_X500NAME_FLAGS привел к единообразному 16-ричному виду, может как-то не так (добавил в исходник сюда)?

Но в итоге на сервере, при отправке запроса ЦС, получаю сообщение:
Встречено неверное значение тега ASN1. 0x8009310b (ASN: 267)

Кроме экспериментов с кодировкой самого запроса, пробовал по всякому формировать RDN (штано OID=значение) через «, «. Никаких изменений ( Руками делал строку, в которой забирал значения параметров с пробелами в кавычки, результат прежний.

Вот тут сам файл запроса, уже приехавший на сервер.

Может глаза замылились не вижу очевидной ошибки?

We’ve seen a few instances of the following error message on 64 bit servers when IIS 7.0 is attempting to process a pending certificate request:

Complete Certificate Request

There was an error while performing this operation.

Details:

CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met. 0x8009310b (ASN: 267)

This error seems to mean that the private key (created when the certificate request was made) does not match the public key (the .crt file).  The keypair is not successfully joined into a working SSL certificate.

So far this behavior seems most common with .crt files (instead of the .cer files many of us are more used to) issued by one specific Certification Authority—which will remain nameless here.

The error shows up after reaching the point in the process where you ‘specify certificate authority response’ and guide the wizard to the  ‘File name containing the certification authority’s response…’ (the .crt file).  

So far there seem to be two solutions.

Solution 1:

Verisign has a support article that matches this error message: https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=S:SO8467&actp=….  Their recommendation seems to be to replace the certificate with a new one.   This method has worked for at least one of my customers in this place with a GoDaddy certificate.  All they had to do was make a new certificate request (CSR text file), log into the the Godaddy web interface and re-key (we chose re-key rather than re-issue) their certificate.  The new file processed fine.

Solution 2:

Begin by importing the .crt file into the Personal certificate store for the local computer.  (Start button > Run:  MMC > File Menu > Add/Remove Snap-in > highlight Certificates snap-in and click the ADD button > select Computer Account and click Finish >  Click OK > drill into Personal > Certificates >  right-click and select All Tasks > select Import > guide to the .crt file.)  At this point your certificate is basically a half-certificate.  It is still missing its private key.

Second, double-click the crt certificate file you just imported, select the Details tab, scroll all the way down to Thumbprint and highlight Thumbprint.  In the lower pane, block and copy all the letters of the thumbprint.  Paste the thumbprint characters into notepad.  Open the command prompt and run this command: Certutil /?

The command you’ll want to run is:

certutil -repairstore my «{insert all of the thumbprint characters here}»

When you see the response: “CertUtil: -repairstore command completed successfully” you should have a private key associated with the .crt file in the personal store. There should no longer be any need to run through the “Complete Certificate Request…” wizard.  The certificate should show up in the IIS Manager’s list of server certificates at this point.  It should also be available in the SSL Certificates drop-down list when attempting to edit the https binding for a website.  

Incidentally, a common way of attempting to deal with this error is to take the .p7b file from the Certification Authority and import the CA’s certificates into the Trusted and Intermediate stores.   As far as I can tell, this approach has no useful effect upon this problem.  

Other relevant links:

https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=S:SO8467&actp=…

http://blogs.msdn.com/vijaysk/archive/2008/11/25/certenroll-cx509enrollment-p-installresponse-asn1-b…

Author: Christopher T. Haun

  • Remove From My Forums
  • Question

  • Hi All,

    I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.

    Certificate Request Denied

    Your certificate request was denied.

    Your Request Id is 0. The disposition message is

    «Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».

    Contact your administrator for further information.

Answers

  • Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .

    • Marked as answer by

      Tuesday, July 29, 2014 3:01 AM

Solution

To verify that the SSL certificate is successfully installed, try to bind the certificate to the website.

To bind the certifcate to the appropriate website, perform the following steps:

  1. Click Start > Administrative Tools > Internet Information Services (IIS) Manager
  2. Browse to your Server Name > Sites > Your SSL-based site
  3. From the Actions pane, click Bindings
  4. In the Site Bindings window, click Add
  5. From the Add Site Bindings window, provide the binding type as HTTPS
  6. Select the SSL certificate that will be used for this site
  7. Click OK
  8. Test the if the site is secure by using HTTPS
     

If in step 6 above, the new certificate cannot be found in the list, try restoring the private key:

Import certificate in to the Computer certificate store

  1. Create a certificate snap-in in a Microsoft Management Console (MMC)
  2. In the left-hand pane, expand the Certificates folder, expand and select the Personal folder
  3. Right-click the Certificates folder inside the Personal folder, click All Tasks then Import
  4. The Certificate Import Wizard opens. Click Next
  5. Click Browse and then navigate to the file that contains the SSL certificate. Click Open > Next
  6. Ensure «Place all certificates in the following store» is selected, ensure that «Personal» is listed for the certificate store, click Next > Finish

Restore Private Key

  1. With the MMC still open, click the Certificates folder inside the Personal folder in the left-hand pane.
  2. Double-click the newly imported SSL certificate in the right-hand pane, then click the Details tab.
  3. Scroll down and click the Thumbprint field, then copy the entire thumbprint (in the bottom box) to the clipboard.
  4. Open a command prompt, then enter the following command:

    certutil -repairstore my «<thumbprint>»

    Example:

    certutil -repairstore my «00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f»

    If successful, the response will be «CertUtil: -repairstore command completed successfully«

Assign SSL certificate in IIS

  1. Open the IIS Manager application.
  2. From the Connections pane on the left, expand the local server, expand the Sites folder and select the website to be secured with SSL.
  3. From the Actions pane on the right, select the Bindings option (under Edit Site).
  4. In the Site Bindings window, select an existing https binding and click Edit. If there are no existing https bindings, click Add.
  5. Ensure the type is set to ‘https’, then select the new SSL certificate from the drop down menu. Click the View button to confirm details of the certificate, if necessary. Click OK > Close

If the above steps do not resolve the issue, an alternative method of installation using the X.509 version of the certificate can be attempted.

  • Acquire the SSL certificate in X.509 (PKCS#10) format and install
  • Obtain the Intermediate CA and install this via Microsoft Management Console
     

DigiCert SSL certificates for Microsoft servers are delivered in PKCS#7 format. This means the certificate file includes the corresponding Intermediate CA(s).  To acquire the certificate in X.509 (PKCS#10) format, perform the following steps:

  1. Download the certificate via DigiCert Trust Center. Selecting «Other» as the server platform will provide the certificate in the X.509 (PKCS#10) format.
  2. Install the the X.509 (PKCS#10) certificate file.
  3. Download and install the Intermediate CA.
  • Remove From My Forums
  • Question

  • Hi All,

    I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.

    Certificate Request Denied

    Your certificate request was denied.

    Your Request Id is 0. The disposition message is

    «Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».

    Contact your administrator for further information.

Answers

  • Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .

    • Marked as answer by

      Tuesday, July 29, 2014 3:01 AM

  • Remove From My Forums
  • Question

  • Hi All,

    I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.

    Certificate Request Denied

    Your certificate request was denied.

    Your Request Id is 0. The disposition message is

    «Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».

    Contact your administrator for further information.

Answers

  • Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .

    • Marked as answer by

      Tuesday, July 29, 2014 3:01 AM

Обновлено 2023 января: перестаньте получать сообщения об ошибках и замедлите работу вашей системы с помощью нашего инструмента оптимизации. Получить сейчас в эту ссылку

  1. Скачайте и установите инструмент для ремонта здесь.
  2. Пусть он просканирует ваш компьютер.
  3. Затем инструмент почини свой компьютер.

Ошибка Windows 0x8009310B вызвана неподходящим закрытым ключом. Если закрытый ключ все еще находится на сервере, возможно установить сертификат и восстановить закрытый ключ. Следующее решение может исправить ошибку; если это не работает, сертификат должен быть заменен.

Восстановление поврежденного сертификата

Откройте командную строку DOS (cmd.exe).

Введите: certutil -repairstore мое «ЗНАЧЕНИЕ ПЕЧАТИ ИЛИ СЕРИЙНЫЙ НОМЕР».

Примечание. Если вы не уверены, что можете найти THUMBPRINT или СЕРИЮ, следуйте этим инструкциям. Кроме того, сертификат иногда недоступен и должен быть импортирован, чтобы эта команда работала. Если вы получили сообщение об ошибке, убедитесь, что используемая вами СЕРИЯ и / или ТЕМАТИЧЕСКАЯ ПЕЧАТЬ являются ТОЧНЫМИ, указанными в вашем сертификате, поскольку Windows иногда вставляет один или несколько вопросительных знаков, что приводит к ошибке.

Вернитесь в диспетчер IIS и снова измените ярлыки для этого сайта. (Где вы можете выбрать сертификат)

Примечание. Иногда вы получаете сообщение об ошибке, поэтому просто проигнорируйте ошибку и попробуйте снова. При повторной попытке может оказаться, что сертификат уже выбран, и больше ничего не нужно делать. Если вы не видите сертификат в списке, вам может потребоваться дать ему понятное имя в MMC, изменив его свойства.

Обновление за январь 2023 года:

Теперь вы можете предотвратить проблемы с ПК с помощью этого инструмента, например, защитить вас от потери файлов и вредоносных программ. Кроме того, это отличный способ оптимизировать ваш компьютер для достижения максимальной производительности. Программа с легкостью исправляет типичные ошибки, которые могут возникнуть в системах Windows — нет необходимости часами искать и устранять неполадки, если у вас под рукой есть идеальное решение:

  • Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
  • Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

скачать

Сканирование папки

1. нажмите на Пуск. выберите Run.
2. введите SIGVERIF в открытое поле.
3. нажмите на ОК
4. Нажмите кнопку «Дополнительно» и выберите «Искать другие файлы без цифровой подписи».
5. Нажмите кнопку «Обзор» в поле «Искать в этой папке» и укажите папку C: WINDOWS SYSTEM32 CATROOT.
6. Установите флажок «Включить подпапки».
7. нажмите ОК, затем на Пуск.
8. После завершения сканирования появится окно со списком неподписанных файлов.

Импорт сертификата в хранилище сертификатов компьютера

  • Создание оснастки сертификата в консоли MMC от KB Solution SO1849
  • На левой панели разверните папку «Сертификаты», разверните ее и выберите личную папку.
  • Щелкните правой кнопкой мыши папку «Сертификаты» в личной папке, выберите «Все задачи», выберите «Импорт».
  • Откроется Мастер импорта сертификатов. Нажмите на Далее
  • Щелкните Обзор, затем перейдите к файлу, содержащему сертификат SSL. Нажмите «Открыть»> «Далее».
  • Убедитесь, что выбрано «Поместить все сертификаты в следующий список», убедитесь, что в списке сертификатов указано «Личные», нажмите «Далее»> «Готово».

https://stackoverflow.com/questions/26011760/cryptdecodeobjectex-bad-tag-error-0x8009310b

Совет экспертов: Этот инструмент восстановления сканирует репозитории и заменяет поврежденные или отсутствующие файлы, если ни один из этих методов не сработал. Это хорошо работает в большинстве случаев, когда проблема связана с повреждением системы. Этот инструмент также оптимизирует вашу систему, чтобы максимизировать производительность. Его можно скачать по Щелчок Здесь

ed_moyes

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.

Сообщение Просмотров: 108

To totally unlock this section you need to Log-in

Login

Sometimes, during a «Complete Certification Request…» process, you could face the following error message on 64-bit servers when IIS 7.0 is attempting to process a pending certificate request:

Complete Certificate Request

There was an error while performing this operation.
Details:
CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met. 0x8009310b (ASN: 267)

This error seems to mean that the private key (created when the certificate request was made) does not match the public key (the .crt file). The keypair is not successfully joined into a working SSL certificate.

So far this behavior seems most common with .crt files (instead of the .cer files many of us are more used to) issued by one specific Certification Authority, which will remain nameless here.

The error shows up after reaching the point in the process where you «Specify certificate authority response» and guide the wizard to the «File name containing the certification authority’s response…» (the .crt file).

Working Solution

Begin by importing the .crt file into the Personal certificate store for the local computer.

Go to Start > Run: MMC > File Menu > Add/Remove Snap-in > highlight Certificates snap-in and click the ADD button > select Computer Account and click Finish > Click OK > drill into Personal > Certificates > right-click and select All Tasks > select Import > guide to the .crt file.

At this point your certificate is basically a half-certificate. It is still missing its private key.

Second, double-click the .crt certificate file you just imported, select the Details tab, scroll all the way down to Thumbprint and highlight Thumbprint.

In the lower pane, block and copy all the letters of the thumbprint. Paste the thumbprint characters into notepad.

Open the command prompt and run this command: Certutil /?. The command you’ll want to run is:

 
certutil -repairstore my "{insert all of the thumbprint characters here}"

When you see the response: “CertUtil: -repairstore command completed successfully” you should have a private key associated with the .crt file in the personal store.

"ASN1 bad tag value met" error when processing a certificate request in IIS 7

There should no longer be any need to run through the “Complete Certificate Request…” wizard.

The certificate should show up in the IIS Manager’s list of server certificates at this point. It should also be available in the SSL Certificates drop-down list when attempting to edit the https binding for a website.

  • Remove From My Forums
  • Question

  • User-1286092494 posted

    Hello… Is anyone seen this error when attempting to install a VeriSign chain certificate using IIS 7 server?

     CertEnroll:CX509Enrolment:p_InstallResponse: ASN1 bad tag value met. 0x8009310b(ASN: 267)

     I have search the internet to no avail… Any help is greatly appreciated.

Answers

    • Marked as answer by
      Anonymous
      Tuesday, September 28, 2021 12:00 AM

All replies

  • User113421904 posted

    Hi,

    I did see one post before that this error is related to permissions of certificate store. Are you running from administrative accounts, make sure you have enough permissions during the installing of certificates.

  • User-1286092494 posted

    Thanks Zhao. I was wondering if you guys have any kind of knowledge base article that talks about this error within IIS 7 during an SSL certificate install?  It would be great if there is one.

     We would like to put this information in our knowledge base to better assist our customers at VeriSign.

     Thank you for your support.

     Regards,

    Jason R.
     

    • Marked as answer by
      Anonymous
      Tuesday, September 28, 2021 12:00 AM
  • User1810624584 posted

    I leave this behind for anyone else searching for an answer to this question.  NOTE: I am not using a VeriSign certificate, so this is not directly pertinent to the original question.  I leave it behind because the error message is the same and
    hits on the search engines.

    I leave the message with double colons here so that search will pick it up more readily.

    CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met. 0x08009310b (ASN: 267)

    I requested a certificate from an IIS 7.0 Web Server.  I used the request to create a certificate within our internal CA and generate a .cer file.  When I went to install the .cer file in the web server, I got hit with this error message. 
    It didn’t take too much digging to find a hint that perhaps the CA was not trusted by the Web Server.  I added the internal CA chain to the Web Server and this got me past the message.  Just to be sure, I removed the root certificate from the Trusted
    Root Certification Authorities folder and tried again — I got the error again.  This is a verified cause.  Certainly this may not be the only cause.  I sure wish the error message were better.

  • User351018772 posted

     I’ve had the same issue, below is my information…

    • Windows 2008 Web Server 64-bit Edition
    • IIS7
    • SQL 2005 Express
    • Network Solutions Basic SSL certificate

    Each time I try to complete the certificate request I get the following error…

    CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met. 0x8009310b (ASN: 267)

    I should also mention that I have already added the 3 other certificates provided by NetworkSolutions under the Certificates snap-in. When I open up IIS I do not see my certificate request listed however IIS knows that it’s there so I’m not sure if I should
    see it listed or not. Under «Certificates -> Certificate Enrollment Requests -> Certificates» I can see the pending request. Up until a few minutes ago I had several listed there and have since cleared/deleted them out and re-requested the certificate
    from NetworkSolutions although I don’t have any faith this will work. There were several from past failed attempts. Should I be able to see the certificate request in IIS7 after creating the initial request before it’s completed? My server doesn’t do much
    other than host a few websites and run SQL 2005 Express. I know some have said something about SQL but I can’t imagine what that has to do with my situation since I simply want to add an SSL certificate to IIS7 to run a single website with SSL encryption.

    Is it just me or should this not be ridiculously simple to accomplish and yet it’s been the single most frustrating thing I had to do in a great long while. NetworkSolutions doesn’t have any answers, Microsoft wants to charge me an arm and leg just to say
    «Hi», and I’m losing my patience with the whole thing since it should literally take less than 5 minutes to complete a simple certificate request.

    Does anyone out there have a solution to this problem because I’m Googled out…

    Thanks in advance for any support provided,

    Matt

  • User882081861 posted

    I’d recommend contacting the certification authority and asking them what their preferred way is to abandon the problematic keypair and how to best make a totally new CSR.

  • User56899015 posted
    This happened to me because I screwed up.

    Heres what I did:

    I created a certificate request and sent it to the CA. I got the new cert and installed it.

    Here’s where I went wrong:

    I mis-typed the friendly name during the cert install and stupidly deleted the cert via IIS manager.

    How I fixed it:

    Take the initial certificate request file (sent to CA) and rename it with a .cer extension.
    Open the certificate management snap in.
    Right click on «Certificate Enrollment Requests» and import the certificate signing request file.
    Go back to IIS Manager and import the certificate that the CA sent back in response to your initial request.

    Basically, you must have an unfulfilled certificate request corresponding to the certificate provided by your CA before «complete certificate request» is successful.

  • User1063753466 posted
    greg88 — I just created this forum account to tell you that you are a genius. Your solution totally worked for me.

  • User1180450644 posted
    Gregg88 — Saved my butt too — thanks!

  • User418653656 posted

    I got the same error, through a mistake on my part, but the solution did not work for me.

    I was using a GoDaddy cert, which had an intermediate certificate.  I followed the instructions to import the GoDaddy intermediate cert into the «Certificates (Local Computer)/Intermediate Certification Authority/Certificates store.

    Turns out, I apparently double clicked on the actual web site cert, which happily went in the store.

    I think went to IIS which gave me the OP’s error.

    Drove me nuts, until I found the web cert in the Intermediate Certification Authority.  lol.

    So, the fix for me was to export and delete the web site cert, import the proper intermediate cert, and then import the cert like normal into the «Certificates (Local Computer)/Personal/Certificates store.

    Now, oddly, IIS still thinks there is a cert request outstanding.  I’m assuming I can just ignore this, as I already have the cert loaded.

    == John ==

  • User-1938893238 posted

    «I mis-typed the friendly name during the cert install»

    What does that mean? What defines a mis-typing of the friendly name?… 

    I need to know to understand if I did the same «mistake».

    thanks

  • User1903832623 posted

    @greg88: Dude, u are super genious!

    Just a note:

    Take the initial certificate request file (sent to CA) and rename it with a .cer extension.

    i couldn’t import the Certificate Request File renamed as .cer, because the certificate snap-in was
    nagging about invalid operation. So i just tried to import in the Certificate Enrollment Requests the certificate itself… and BANG! it worked like a charm! 

    You made my day ;)

Пройдите диагностику и выполните рекомендуемые действия, а затем попробуйте подписать документ или отчёт ещё раз.

Если ошибка повторяется, переустановите КриптоПро CSP с утилитой очистки следов CSPClean.

  1. Откройте «Панель управления» → «Программы и компоненты» и удалите КриптоПро CSP.

  2. Скачайте утилиту CSPClean и запустите её. Появится окно с предупреждением, что все продукты компании Крипто-Про будут уничтожены. Нажмите «Да».

    Если вы самостоятельно сохранили сspclean сайта Крипто-Про, то при запуске может появиться запрос на удаление контейнеров из реестра — отклоните его.

  3. Перезагрузите компьютер. Затем установите КриптоПро CSP с помощью веб-диска и перезагрузите компьютер ещё раз.

Если ошибка сохранится, обратитесь в поддержку прямо из окна с ошибкой. Если уже закрыли его, вернитесь в Эльбу и нажмите на знак вопроса внизу справа.

I created an extension that uses native messaging to a host.

The manifest.json of the extension is:

{
    "manifest_version": 2,
    "version": "1.0",
    "name": "Native Messaging Example",
    "description": "Send a message to a native application",
    "permissions": [
        "nativeMessaging"
    ],
    "browser_action": {
        "default_popup": "popup.html"
    }
}

The popup.html:

    <html>
        <head>
            <script src="./main.js"></script>
        </head>
        <body>
            <button id="buttonToPress">Press</button>
        </body>
    </html>

The main.js file:

    var port = null;

    function connect() {

        port = chrome.runtime.connectNative('com.google.chrome.example.echo');

        port.onMessage.addListener(function(message) {

            alert(message);

            port.disconnect();
        });

        port.onDisconnect.addListener(function() {

            port = null;

            alert(chrome.runtime.lastError.message);
        });

        var message = {
            'filePath': 'C:UsersusernameDesktopthemesWallpaperArchitectureimg13.jpg'
        };

        port.postMessage(message);
    }

    document.addEventListener('DOMContentLoaded', function() {
        document.getElementById('buttonToPress').addEventListener('click', connect);
    });

I have a native application abc.exe.

The native application manifest.json:

    {
        "name": "com.google.chrome.example.echo",
        "description": "Chrome Native Messaging API Example Host",
        "path": "./abc.exe",
        "type": "stdio",
        "allowed_origins": [
            "chrome-extensions://fegpbklgdffjmfjmhknpmgepbddbcghk/"
        ]
    }

In the registrey, The Default Value of HKEY_CURRENT_USERSoftwareGoogleChromeNativeMessagingHostscom.google.chrome.example.echo is C:UsersusernameDesktopExtension1NativeAppmanifest.json (This is where the manifest file is physically exists).

The problem is, that each time i run it, it keep saying: ‘Specified Native Messaging Host Not Found’… I rechecked my code and it seems to be fine, just like the google’s guide of native messaging. The error that logged in the debugger’s console is: ‘Uncaught Error: Attempting to use a disconnected port object’, which i don’t know why it keeps happening.

Also, after the chrome.runtime.connectNative, the .exe doesn’t start (after seeing in the task manager), and it just seems likes there something that not code-related, but more likely to be in the configuration.

I need some help in figuring it out, so any help would be usefull!

Thanks

layout title date updated description

layouts/doc-post.njk

Native Messaging

2014-12-15

2018-05-14

How to exchange messages with native applications from your Chrome App.

{% Aside ‘caution’ %}

Important: Chrome will be removing support for Chrome Apps on all platforms. Chrome browser and
the Chrome Web Store will continue to support extensions. Read the announcement and learn
more about migrating your app.

{% endAside %}

Extensions and apps can exchange messages with native applications using an API that is similar to
the other message passing APIs. Native applications that support this feature must register a
native messaging host that knows how to communicate with the extension. Chrome starts the host in
a separate process and communicates with it using standard input and standard output streams.

In order to register a native messaging host the application must install a manifest file that
defines the native messaging host configuration. Below is an example of the manifest file:

{
  "name": "com.my_company.my_application",
  "description": "My Application",
  "path": "C:Program FilesMy Applicationchrome_native_messaging_host.exe",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/"
  ]
}

The native messaging host manifest file must be valid JSON and contains the following fields:

Name Description
name Name of the native messaging host. Clients pass this string to runtime.connectNative or runtime.sendNativeMessage. This name can only contain lowercase alphanumeric characters, underscores and dots. The name cannot start or end with a dot, and a dot cannot be followed by another dot.
description Short application description.
path Path to the native messaging host binary. On Linux and OSX the path must be absolute. On Windows it can be relative to the directory in which the manifest file is located. The host process is started with the current directory set to the directory that contains the host binary. For example if this parameter is set to C:Applicationnm_host.exe then it will be started with current directory C:Application.
type Type of the interface used to communicate with the native messaging host. Currently there is only one possible value for this parameter: stdio. It indicates that Chrome should use stdin and stdout to communicate with the host.
allowed_origins List of extensions that should have access to the native messaging host. Wildcards such as chrome-extension://*/* are not allowed.

Native messaging host location {: #native-messaging-host-location }

The location of the manifest file depends on the platform.

On Windows, the manifest file can be located anywhere in the file system. The application
installer must create registry key
HKEY_LOCAL_MACHINESOFTWAREGoogleChromeNativeMessagingHosts_com.my_company.my_application_ or
HKEY_CURRENT_USERSOFTWAREGoogleChromeNativeMessagingHosts_com.my_company.my_application_, and
set default value of that key to the full path to the manifest file. For example, using the
following command:

REG ADD "HKCUSoftwareGoogleChromeNativeMessagingHostscom.my_company.my_application" /ve /t REG_SZ /d "C:pathtonmh-manifest.json" /f

or using the following .reg file:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareGoogleChromeNativeMessagingHostscom.my_company.my_application]
@="C:pathtonmh-manifest.json"

When Chrome looks for native messaging hosts, first the 32-bit registry is queried, then the 64-bit
registry.

On OS X and Linux, the location of the native messaging host’s manifest file varies by the
browser (Google Chrome or Chromium). The system-wide native messaging hosts are looked up at a fixed
location, while the user-level native messaging hosts are looked up in a subdirectory within the
user profile directory called NativeMessagingHosts.

  • OS X (system-wide)
    • Google Chrome: /Library/Google/Chrome/NativeMessagingHosts/_com.my_company.my_application_.json
    • Chromium: /Library/Application Support/Chromium/NativeMessagingHosts/_com.my_company.my_application_.json
  • OS X (user-specific, default path)
    • Google Chrome: ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/_com.my_company.my_application_.json
    • Chromium: ~/Library/Application Support/Chromium/NativeMessagingHosts/_com.my_company.my_application_.json
  • Linux (system-wide)
    • Google Chrome: /etc/opt/chrome/native-messaging-hosts/_com.my_company.my_application_.json
    • Chromium: /etc/chromium/native-messaging-hosts/_com.my_company.my_application_.json
  • Linux (user-specific, default path)
    • Google Chrome: ~/.config/google-chrome/NativeMessagingHosts/_com.my_company.my_application_.json
    • Chromium: ~/.config/chromium/NativeMessagingHosts/_com.my_company.my_application_.json

Native messaging protocol {: #native-messaging-host-protocol }

Chrome starts each native messaging host in a separate process and communicates with it using
standard input (stdin) and standard output (stdout). The same format is used to send messages in
both directions: each message is serialized using JSON, UTF-8 encoded and is preceded with 32-bit
message length in native byte order. The maximum size of a single message from the native messaging
host is 1 MB, mainly to protect Chrome from misbehaving native applications. The maximum size of the
message sent to the native messaging host is 4 GB.

The first argument to the native messaging host is the origin of the caller, usually
chrome-extension://[ID of allowed extension]. This allows native messaging hosts to identify the
source of the message when multiple extensions are specified in the allowed_origins key in the
native messaging host manifest.
Warning: In Windows, in Chrome 54 and earlier, the origin was passed as the second parameter
instead of the first parameter.

When a messaging port is created using runtime.connectNative Chrome starts native messaging
host process and keeps it running until the port is destroyed. On the other hand, when a message is
sent using runtime.sendNativeMessage, without creating a messaging port, Chrome starts a new
native messaging host process for each message. In that case the first message generated by the host
process is handled as a response to the original request, i.e. Chrome will pass it to the response
callback specified when runtime.sendNativeMessage is called. All other messages generated by
the native messaging host in that case are ignored.

On Windows, the native messaging host is also passed a command line argument with a handle to the
calling Chrome native window: --parent-window=<decimal handle value>. This lets the native
messaging host create native UI windows that are correctly parented. Note that this value will be
0 if the calling context is a background script page.

Connecting to a native application {: #native-messaging-client }

Sending and receiving messages to and from a native application is very similar to cross-extension
messaging. The main difference is that runtime.connectNative is used instead of
runtime.connect, and runtime.sendNativeMessage is used instead of
runtime.sendMessage.
These methods can only be used if the «nativeMessaging» permission is declared in your app’s
manifest file.

The Following example creates a runtime.Port object that’s connected to native messaging host
com.my_company.my_application, starts listening for messages from that port and sends one outgoing
message:

var port = chrome.runtime.connectNative('com.my_company.my_application');
port.onMessage.addListener(function(msg) {
  console.log("Received" + msg);
});
port.onDisconnect.addListener(function() {
  console.log("Disconnected");
});
port.postMessage({ text: "Hello, my_application" });

runtime.sendNativeMessage can be used to send a message to native application without creating
a port, e.g.:

chrome.runtime.sendNativeMessage('com.my_company.my_application',
  { text: "Hello" },
  function(response) {
    console.log("Received " + response);
  });

Debugging native messaging {: #native-messaging-debugging }

When the native messaging host fails to start, writes to stderr or when it violates the
communication protocol, output is written to the error log of Chrome. On Linux and OS X, this log
can easily be accessed by starting Chrome from the command line and watching its output in the
terminal. On Windows, use --enable-logging as explained at How to enable logging.

Here are some errors and tips for solving the issues:

  • Failed to start native messaging host.
    • Check whether you have sufficient permissions to execute the file.
  • Invalid native messaging host name specified.
    • Check whether the name contains any invalid characters. Only lowercase alphanumeric characters,
      underscores and dots are allowed. A name cannot start or end with a dot, and a dot cannot be
      followed by another dot.
  • Native host has exited.
    • The pipe to the native messaging host was broken before the message was read by Chrome. This is most
      likely initiated from your native messaging host.
  • Specified native messaging host not found.
    • Is the name spelled correctly in the extension and in the manifest file?
    • Is the manifest put in the right directory and with the correct name? See native messaging host
      location for the expected formats.
    • Is the manifest file in the correct format? In particular, is the JSON syntax correct and do the
      values match the definition of a native messaging host manifest?
    • Does the file specified in path exist? On Windows, paths may be relative, but on OS X and Linux,
      the paths must be absolute.
  • Native messaging host host name is not registered. (Windows-only)
    • The native messaging host was not found in the Windows registry. Double-check using regedit
      whether the key was really created and matches the required format as documented at native
      messaging host location.
  • Access to the specified native messaging host is forbidden.
    • Is the extension’s origin listed in allowed_origins?
  • Error when communicating with the native messaging host.
    • This is a very common error and indicates an incorrect implementation of the communication protocol
      in the native messaging host.

      • Make sure that all output in stdout adheres to the native messaging protocol. If you want
        to print some data for debugging purposes, write to stderr.
      • Make sure that the 32-bit message length is in the platform’s native integer format (little-endian
        / big-endian).
      • The message length must not exceed 1024*1024.
      • The message size must be equal to the number of bytes in the message. This may differ from the
        «length» of a string, because characters may be represented by multiple bytes.
      • Windows-only: Make sure that the program’s I/O mode is set to O_BINARY. By default, the I/O
        mode is O_TEXT, which corrupts the message format as line breaks (n = 0A) are replaced with
        Windows-style line endings (rn = 0D 0A). The I/O mode can be set using __setmode.

Important: Chrome will be removing support for Chrome Apps on all platforms. Chrome browser and the Chrome Web Store will continue to support extensions. Read the announcement and learn more about migrating your app.

Extensions and apps can exchange messages with native applications using an API that is similar to the other message passing APIs. Native applications that support this feature must register a native messaging host that knows how to communicate with the extension. Chrome starts the host in a separate process and communicates with it using standard input and standard output streams.

Native messaging host

In order to register a native messaging host the application must install a manifest file that defines the native messaging host configuration. Below is an example of the manifest file:

{
"name": "com.my_company.my_application",
"description": "My Application",
"path": "C:Program FilesMy Applicationchrome_native_messaging_host.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/"
]
}

The native messaging host manifest file must be valid JSON and contains the following fields:

Name Description
name Name of the native messaging host. Clients pass this string to runtime.connectNative or runtime.sendNativeMessage. This name can only contain lowercase alphanumeric characters, underscores and dots. The name cannot start or end with a dot, and a dot cannot be followed by another dot.
description Short application description.
path Path to the native messaging host binary. On Linux and OSX the path must be absolute. On Windows it can be relative to the directory in which the manifest file is located. The host process is started with the current directory set to the directory that contains the host binary. For example if this parameter is set to C:Applicationnm_host.exe then it will be started with current directory C:Application.
type Type of the interface used to communicate with the native messaging host. Currently there is only one possible value for this parameter: stdio. It indicates that Chrome should use stdin and stdout to communicate with the host.
allowed_origins List of extensions that should have access to the native messaging host. Wildcards such as chrome-extension://*/* are not allowed.

Native messaging host location

The location of the manifest file depends on the platform.

On Windows, the manifest file can be located anywhere in the file system. The application installer must create registry key HKEY_LOCAL_MACHINESOFTWAREGoogleChromeNativeMessagingHosts_com.my_company.my_application_ or HKEY_CURRENT_USERSOFTWAREGoogleChromeNativeMessagingHosts_com.my_company.my_application_, and set default value of that key to the full path to the manifest file. For example, using the following command:

REG ADD "HKCUSoftwareGoogleChromeNativeMessagingHostscom.my_company.my_application" /ve /t REG_SZ /d "C:pathtonmh-manifest.json" /f

or using the following .reg file:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareGoogleChromeNativeMessagingHostscom.my_company.my_application]
@="C:pathtonmh-manifest.json"

When Chrome looks for native messaging hosts, first the 32-bit registry is queried, then the 64-bit registry.

On OS X and Linux, the location of the native messaging host’s manifest file varies by the browser (Google Chrome or Chromium). The system-wide native messaging hosts are looked up at a fixed location, while the user-level native messaging hosts are looked up in a subdirectory within the user profile directory called NativeMessagingHosts.

  • OS X (system-wide)
    • Google Chrome: /Library/Google/Chrome/NativeMessagingHosts/_com.my_company.my_application_.json
    • Chromium: /Library/Application Support/Chromium/NativeMessagingHosts/_com.my_company.my_application_.json
  • OS X (user-specific, default path)
    • Google Chrome: ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/_com.my_company.my_application_.json
    • Chromium: ~/Library/Application Support/Chromium/NativeMessagingHosts/_com.my_company.my_application_.json
  • Linux (system-wide)
    • Google Chrome: /etc/opt/chrome/native-messaging-hosts/_com.my_company.my_application_.json
    • Chromium: /etc/chromium/native-messaging-hosts/_com.my_company.my_application_.json
  • Linux (user-specific, default path)
    • Google Chrome: ~/.config/google-chrome/NativeMessagingHosts/_com.my_company.my_application_.json
    • Chromium: ~/.config/chromium/NativeMessagingHosts/_com.my_company.my_application_.json

Native messaging protocol

Chrome starts each native messaging host in a separate process and communicates with it using standard input (stdin) and standard output (stdout). The same format is used to send messages in both directions: each message is serialized using JSON, UTF-8 encoded and is preceded with 32-bit message length in native byte order. The maximum size of a single message from the native messaging host is 1 MB, mainly to protect Chrome from misbehaving native applications. The maximum size of the message sent to the native messaging host is 4 GB.

The first argument to the native messaging host is the origin of the caller, usually chrome-extension://[ID of allowed extension]. This allows native messaging hosts to identify the source of the message when multiple extensions are specified in the allowed_origins key in the native messaging host manifest. Warning: In Windows, in Chrome 54 and earlier, the origin was passed as the second parameter instead of the first parameter.

When a messaging port is created using runtime.connectNative Chrome starts native messaging host process and keeps it running until the port is destroyed. On the other hand, when a message is sent using runtime.sendNativeMessage, without creating a messaging port, Chrome starts a new native messaging host process for each message. In that case the first message generated by the host process is handled as a response to the original request, i.e. Chrome will pass it to the response callback specified when runtime.sendNativeMessage is called. All other messages generated by the native messaging host in that case are ignored.

On Windows, the native messaging host is also passed a command line argument with a handle to the calling Chrome native window: --parent-window=<decimal handle value>. This lets the native messaging host create native UI windows that are correctly parented. Note that this value will be 0 if the calling context is a background script page.

Connecting to a native application

Sending and receiving messages to and from a native application is very similar to cross-extension messaging. The main difference is that runtime.connectNative is used instead of runtime.connect, and runtime.sendNativeMessage is used instead of runtime.sendMessage. These methods can only be used if the «nativeMessaging» permission is declared in your app’s manifest file.

The Following example creates a runtime.Port object that’s connected to native messaging host com.my_company.my_application, starts listening for messages from that port and sends one outgoing message:

var port = chrome.runtime.connectNative('com.my_company.my_application');
port.onMessage.addListener(function(msg) {
console.log("Received" + msg);
});
port.onDisconnect.addListener(function() {
console.log("Disconnected");
});
port.postMessage({ text: "Hello, my_application" });

runtime.sendNativeMessage can be used to send a message to native application without creating a port, e.g.:

chrome.runtime.sendNativeMessage('com.my_company.my_application',
{ text: "Hello" },
function(response) {
console.log("Received " + response);
});

Debugging native messaging

When the native messaging host fails to start, writes to stderr or when it violates the communication protocol, output is written to the error log of Chrome. On Linux and OS X, this log can easily be accessed by starting Chrome from the command line and watching its output in the terminal. On Windows, use --enable-logging as explained at How to enable logging.

Here are some errors and tips for solving the issues:

  • Failed to start native messaging host.
    • Check whether you have sufficient permissions to execute the file.
  • Invalid native messaging host name specified.
    • Check whether the name contains any invalid characters. Only lowercase alphanumeric characters, underscores and dots are allowed. A name cannot start or end with a dot, and a dot cannot be followed by another dot.
  • Native host has exited.
    • The pipe to the native messaging host was broken before the message was read by Chrome. This is most likely initiated from your native messaging host.
  • Specified native messaging host not found.
    • Is the name spelled correctly in the extension and in the manifest file?
    • Is the manifest put in the right directory and with the correct name? See native messaging host location for the expected formats.
    • Is the manifest file in the correct format? In particular, is the JSON syntax correct and do the values match the definition of a native messaging host manifest?
    • Does the file specified in path exist? On Windows, paths may be relative, but on OS X and Linux, the paths must be absolute.
  • Native messaging host host name is not registered. (Windows-only)
    • The native messaging host was not found in the Windows registry. Double-check using regedit whether the key was really created and matches the required format as documented at native messaging host location.
  • Access to the specified native messaging host is forbidden.
    • Is the extension’s origin listed in allowed_origins?
  • Error when communicating with the native messaging host.
    • This is a very common error and indicates an incorrect implementation of the communication protocol in the native messaging host.
      • Make sure that all output in stdout adheres to the native messaging protocol. If you want to print some data for debugging purposes, write to stderr.
      • Make sure that the 32-bit message length is in the platform’s native integer format (little-endian / big-endian).
      • The message length must not exceed 1024*1024.
      • The message size must be equal to the number of bytes in the message. This may differ from the «length» of a string, because characters may be represented by multiple bytes.
      • Windows-only: Make sure that the program’s I/O mode is set to O_BINARY. By default, the I/O mode is O_TEXT, which corrupts the message format as line breaks (n = 0A) are replaced with Windows-style line endings (rn = 0D 0A). The I/O mode can be set using __setmode.

Offline

beholder

 


#1
Оставлено
:

16 июля 2015 г. 14:47:00(UTC)

beholder

Статус: Новичок

Группы: Участники

Зарегистрирован: 16.07.2015(UTC)
Сообщений: 7
Российская Федерация
Откуда: Зеленоград

Окружение:

  • windows 8 x64
  • Chrome Версия 43.0.2357.134 m
  • КриптоПро CSP 3.9.8171

Что делаю:

Не понимаю в чем проблема, помогите плиз.

Сделал лог установки на всякий случай, хотя установка прошла успешно. Здесь

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


Вверх

Offline

beholder

 


#2
Оставлено
:

22 июля 2015 г. 12:14:14(UTC)

beholder

Статус: Новичок

Группы: Участники

Зарегистрирован: 16.07.2015(UTC)
Сообщений: 7
Российская Федерация
Откуда: Зеленоград

Здравствуйте. Есть ли у кого-нибудь какие-нибудь мысли по этому поводу?


Вверх


Offline

cross

 


#3
Оставлено
:

22 июля 2015 г. 13:36:19(UTC)

Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 173 раз в 152 постах

http://www.cryptopro.ru/…des/demopage/simple.html
страница предназначена для тестирования именно плагина на базе NPAPI. Для тестирования плагина в chrome на основе нового интерфейса
http://www.cryptopro.ru/…nc_cades_bes_sample.html

Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.


Вверх

Offline

beholder

 


#4
Оставлено
:

22 июля 2015 г. 13:41:33(UTC)

beholder

Статус: Новичок

Группы: Участники

Зарегистрирован: 16.07.2015(UTC)
Сообщений: 7
Российская Федерация
Откуда: Зеленоград

Да, спасибо. Понял свою ошибку.
К сожалению http://www.cryptopro.ru/…nc_cades_bes_sample.html тоже не работает.
По какой-то причине Метод CreatePluginObject возвращает промис который никогда не резолвится.
Возможно проблема в обработчике

Код:


function windowListner (event){
     if (event.source != window.top)
        return;
     if (event.data.tabid) {
         if(event.data.data.type == "result")
             g_resolve_function[event.data.data.requestid](event.data);
         else if(event.data.data.type == "error")
             g_reject_function[event.data.data.requestid](event.data.data);
     }
}

который никак не обрабатывает сообщение с типом type: «init»

Отредактировано пользователем 22 июля 2015 г. 14:54:40(UTC)
 | Причина: Не указана


Вверх


Offline

beholder

 


#5
Оставлено
:

22 июля 2015 г. 16:23:16(UTC)

beholder

Статус: Новичок

Группы: Участники

Зарегистрирован: 16.07.2015(UTC)
Сообщений: 7
Российская Федерация
Откуда: Зеленоград

Покопался еще.
вот что выдает расширение при попытке загрузить плагин.

Код:


Connected from tabid:e44fc401-bd3d-3422-e6ac-343fec88e0cf
background.js:36 Connecting to native messaging host <b>ru.cryptopro.nmcades
background.js:13 Sent native message:{"tabid":"e44fc401-bd3d-3422-e6ac-343fec88e0cf","data":{"destination":"nmcades","requestid":4,"type":"init"}}
background.js:40 Disconnect Event: Specified native messaging host not found. tabid e44fc401-bd3d-3422-e6ac-343fec88e0cf

Google подсказывает, что для работы через native messaging host необходимо этот хост зарегистрировать в системе используя специальный manifest file
https://developer.chrome…ng#native-messaging-host
Собственно не смог найти никаких следов в системе от этого манифест файла (искал в реестре, в файловой системе). Может быть в этом проблема?


Вверх

Offline

beholder

 


#6
Оставлено
:

22 июля 2015 г. 17:45:42(UTC)

beholder

Статус: Новичок

Группы: Участники

Зарегистрирован: 16.07.2015(UTC)
Сообщений: 7
Российская Федерация
Откуда: Зеленоград

Похоже у вас сломался инсталятор. Поставил версию плагина 2.0.2051, и тестовая страничка заработала.
В папке установленного плагина появились файлы nmcades.json и nmcades.exe
А так же появилась запись в реестре HKEY_LOCAL_MACHINESOFTWAREWow6432NodeGoogleChromeNativeMessagingHostsru.cryptopro.nmcades


Вверх

Offline

paradoxm

 


#7
Оставлено
:

21 августа 2015 г. 23:35:33(UTC)

paradoxm

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

Группы: Участники

Зарегистрирован: 26.09.2012(UTC)
Сообщений: 34
Мужчина
Российская Федерация

Сказал «Спасибо»: 1 раз

Недавно обновили расширение для хрома на 1.0.7, а так же поменяли код работы с плагином. Вроде все поправил у себя

На нашем сайте отображает и версию плагина и что он установлен

Скрин

Но получаю ошибку в консоль браузера

Uncaught TypeError: g_resolve_function[event.data.data.requestid] is not a function

Подскажите куда копать? Где чего не дописал?

Сейчас попробовал вставить полностью ваш код с демо страницы и все равно такая ошибка валится.

Отредактировано пользователем 21 августа 2015 г. 23:52:51(UTC)
 | Причина: Не указана


Вверх

Offline

cross

 


#8
Оставлено
:

24 августа 2015 г. 10:13:25(UTC)

Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 173 раз в 152 постах

Таких сообщений не видел, можете сделать тестовую страницу что бы это воспроизвести? На нашей тестовой странице тоже такие ошибки идут?

Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.


Вверх

Offline

paradoxm

 


#9
Оставлено
:

24 августа 2015 г. 13:30:37(UTC)

paradoxm

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

Группы: Участники

Зарегистрирован: 26.09.2012(UTC)
Сообщений: 34
Мужчина
Российская Федерация

Сказал «Спасибо»: 1 раз

На вашей странице таких сообщений нет. Не могу найти причину (((. Сделать тестовую страницу? Что вы имеете ввиду?


Вверх

Offline

cross

 


#10
Оставлено
:

24 августа 2015 г. 13:45:56(UTC)

Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 173 раз в 152 постах

Сделать страницу test.html что бы можно было ее открыть в chrome и посмотреть на эту ошибку.

Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Статистическая отчетность в электронном виде

1. Отправка заявки на получение доступа к личному кабинету

а) Если организация ранее уже отчитывалась в Росстат (например, на бумажных носителях)

* В этом случае при попытке регистрации появляется ошибка: «Организация c ОКПО … уже зарегистрирована в системе. Воспользуйтесь функцией восстановления пароля для входа в приложение».

Необходимо направить электронным письмом запрос для восстановления пароля по адресу P29_FatenkovaYV@gks.ru. В письме указать ОКПО организации (ОКПО используется в качестве логина), а также прикрепить сертификат открытого ключа электронной подписи в .zip архиве (инструкция как извлечь сертификат из контейнера). В ответном письме будет выслан пароль для доступа в личный кабинет. Запросы без прикрепленного сертификата и ОКПО организации не рассматриваются. Пароль к учетной записи высылается по e-mail после получения корректно составленного запроса, по телефону пароли не сообщаются.

б) Для новых организаций

Требуется пройти первичную регистрацию в системе (ссылка)

2. Настройка браузера для работы с электронной подписью

* Требуется наличие на компьютере пользователя программы КриптоПро CSP

* Для работы с личным кабинетом в операционной системе Windows XP рекомендуется использовать браузер Mozilla Firefox ESR 52.9.0 (ссылка)

2.1 Установка Компоненты формирования ЭП для ЕССО (ссылка)
2.2 Установка расширения Croc XML Signer в браузере:
а) для Google Chrome и Яндекс.Браузер (ссылка)
б) для Mozilla Firefox (ссылка)

                3. Установка Microsoft .NET Framework:
а) Для Windows XP (ссылка)
б) Для Windows 7 (ссылка)
в) Windows 8 и выше (ссылка)

        4. Установка пакета Visual C++ 2015 (если при подписании отчета возникает ошибка «Specified native messaging host not found») (ссылка)

5. Установка корневых сертификатов в список доверенных (если используется ОС Windows XP) (ссылка)

6. Вход в личный кабинет респондента со своим ОКПО и паролем (ссылка)

Рекомендуется ознакомиться с Руководством пользователя на ON-line модуль подготовки отчетов-ЭВФ (ссылка).

* Для подписания отчетов требуется загрузить сертификат открытого ключа электронной подписи в разделе «Профиль — Сертификаты» (инструкция как извлечь сертификат из контейнера), в противном случае при попытке подписать отчет будет появляться ошибка «Не найдены действительные сертификаты организации по отпечатку…»

Архангельскстат осуществляет прием отчетов от организаций в форме электронного документа и предлагает Вам предоставлять формы в электронном виде через систему Web-сбора. Для этого необходимо иметь персональный компьютер, доступ в Интернет, электронно-цифровую подпись (ЭП) и средства криптографической защиты информации (СКЗИ).

Система Web-сбора позволяет предоставлять статистическую отчетность в электронном виде следующими способами:

  • режим ON-line: заполнение и сдача отчетности выполняется через веб-браузер на сайте Системы сбора отчетности;
  • режим OFF-line: необходима установка программного обеспечения «Заполнение форм статистической отчетности» на компьютере респондента, позволяющего заполнять, подписывать и направлять отчеты в Систему сбора отчетности;
  • через электронную почту по адресу: websbor-report@gks.ru, подписав отчет в XML-формате электронной подписью.

Для работы с системой Web-сбора необходимо заполнить заявку на регистрацию в системе, прикрепив к ней сертификат открытого ключа (инструкция как извлечь сертификат из контейнера). Перед отправкой заявки на регистрацию рекомендуется ознакомиться со следующими документами:

  • Руководство пользователя на ON-line модуль подготовки отчетов-ЭВФ — информация о требованиях к программно-аппаратному обеспечению, настройке интернет-браузеров и о работе в системе Web-сбора.
  • Руководство пользователя на OFF-line модуль подготовки отчетов-ЭВФ — информация о требованиях к программно-аппаратному обеспечению, настройке интернет-браузеров, установке программного обеспечения и о работе с OFF-line модулем подготовки отчетов.

Для передачи отчетности с применением электронной подписи на рабочем месте пользователя должны быть установлены средства криптографической защиты информации (например, КриптоПро CSP) и квалифицированный сертификат электронной подписи (см. раздел «Программное обеспечение для работы с системой Web-сбора»).

Архангельскстат принимает электронные документы, подписанные электронной подписью, выданной одним из удостоверяющих центров, входящим в сеть доверенных удостоверяющих центров Росстата (список УЦ, аккредитованных в сети доверенных УЦ Росстата)

Управление Федеральной службы государственной статистики по Архангельской области и Ненецкому автономному округу (Архангельскстат) осуществляет сбор статистической и бухгалтерской отчетности в электронном виде через специализированных операторов связи.

Для перехода на предоставление статистической и годовой бухгалтерской отчетности в электронном виде через спецоператора необходимо:

— ознакомиться с Порядком организации обработки первичных статистических данных по формам федерального статистического наблюдения, поступивших от респондентов в электронном виде по телекоммуникационным каналам связи;

— заполнить заявку.

Архангельскстат заключил соглашения о совместных действиях по организации и функционированию системы предоставления статистической и годовой бухгалтерской отчетности в электронном виде со специализированными операторами связи, предоставляющими услуги защищенного электронного документооборота на территории Архангельской области и Ненецкого автономного округа со следующими спецоператорами.

  1. ООО «Компания «Тензор»
    Адрес: 163000, г. Архангельск ул. Свободы, д. 29, офис 32
    Телефон: (8182) 42-21-72, (8182) 42-21-70
    E-mail: info@arhangelsk.tensor.ru
    Сайт: http://www.tensor.ru/
  2. ООО «Эксперт-Центр» (партнёр компании Тензор в Архангельской обл.)
    Адрес: г. Архангельск, пр. Обводный канал, д.119, 4-й этаж
    Телефон: (8182) 21-21-30, 21-21-75
    E-mail: nalog@expertc.ru
    Сайт: http://www.expertc.ru/
  3. АО «ЦентрИнформ»
    Адрес: 191123, а/я 149, г. Санкт-Петербург, ул. Шпалерная, д. 26; г. Санкт-Петербург, ул. Комсомола, 1-3, литера АС
    Телефон/Факс: (812) 740-54-05, (812) 740-36-51
    E-mail: info@center-inform.ru
    Сайт: https://www.center-inform.ru

    Официальный представитель в Архангельской области и Ненецком автономном округе

    ООО «Штурман ИТ»
    Адрес: 163001, г. Архангельск, а/я 249, ул. Шубина, д. 32, оф. 417.
    Телефон: (8182) 60-86-00 (многоканальный), 46-02-44
    E-mail: help@shturman-it.ru
    Сайт: http://www.shturman-it.ru/

  4. OOO «Такском»
    Адрес: г. Москва, 127051, ул. Садовая-Самотечная, д. 12, корп. 1
    Телефон/Факс: (495) 730-73-45
    E-mail: service@taxcom.ru
    Сайт: http://taxcom.ru

    Официальные представители в Архангельской области и Ненецком автономном округе

    ООО «ФальконПлюс»
    Адрес: 163002, г. Архангельск, ул. Вельская, д. 1
    Телефон/Факс: (8182) 63-60-85, 68-51-42, 68-43-90
    E-mail: office@falconplus.ru
    Сайт: http://falconplus.ru/eoks/

    ИП Гудин Владимир Николаевич
    Адрес: 163512, Архангельская обл., Приморский р-н, п. Васьково, 74-29.
    Телефон: (909) 555-68-07, (921) 720-62-07
    E-mail: 206207@mail.ru

  5. ОП ООО «Русь-Телеком»
    Адрес: 214019, г. Смоленск, проезд Маршала Конева, д. 29
    Телефон/факс: 8(4812) 65-32-42, 8(4812) 65-78-96
    E-mail: info@rus-telecom.ru
    Сайт: http://www.rus-telecom.ru

    Официальный представитель в Архангельской области и Ненецком автономном округе

    ИП Чемерис Константин Эдуардович
    Адрес: 163002, г. Архангельск, пр. Ленинградский, д. 3, корп. 1 (1 этаж)
    Телефон: (8182) 46-09-32
    Факс: (8182) 68-39-40
    E-mail: info@ivex29.ru, chemeris@ivex29.ru

  6. ООО «КОРУС Консалтинг СНГ»
    Адрес: 194100, г. Санкт-Петербург, Большой Сампсониевский пр., д. 68, лит. Н, пом. 1Н
    Телефон/факс: (812) 334-38-12, 8-800-100-8-812 (бесплатно по России)
    E-mail: sales@esphere.ru, help@esphere.ru
    Сайт: https://www.esphere.ru/
  7. OOO «АРГОС»
    Адрес: 196191, г. Санкт-Петербург, Ленинский пр., д. 168, офис 302
    Телефон/факс: (812) 610-5-610
    E-mail: e-nalog@argosgrp.ru, support@argosgrp.ru
    Сайт: http://www.argos-nalog.ru/

    ОП OOO «АРГОС» г. Москва
    Адрес: г. Москва, Переведеновкий пер. д. 18 корп.6.
    Телефон: (495) 640-88-98
    E-mail: msk@argosgrp.ru
    Сайт: http://msk.argos-nalog.ru

  8. OOO «Электронный экспресс»
    Адрес: 119991, г. Москва, Ленинские горы, д. 1, стр. 77, Центр информационных технологий МГУ
    Телефон/факс: (495) 647-98-99, 8-800-333-88-88 (бесплатно даже для мобильных)
    E-mail: ee@garant.ru
    Сайт: http://www.garantexpress.ru/
  9. ЗАО «Калуга Астрал»
    Адрес: 248600, г. Калуга ул. Циолковского, д. 4
    Телефон: (4842) 78-89-99, (812) 309-29-23, 8 (800) 700-86-68
    E-mail: client@astralnalog.ru
    Сайт: http://astralnalog.ru/
  10. АО «УДОСТОВЕРЯЮЩИЙ ЦЕНТР»
    Адрес: 195112, г. Санкт-Петербург, Малоохтинский пр., д. 68
    Телефон:
    E-mail: 5780196@nwudc.ru
    Сайт: http://www.nwudc.ru/

    ОП ЗАО «УДОСТОВЕРЯЮЩИЙ ЦЕНТР» г. Москва
    Адрес: 107078, Москва, ул. Каланчевская 15А, 4 эт.
    Телефон/Факс: (495) 783-15-25
    E-mail: 7831525@comita.ru
    Сайт: http://www.nwudc.ru/moscow

  11. ОАО «ИнфоТеКС Интернет Траст»
    Адрес: г. Москва, Старый Петровско-Разумовский проезд, д. 1/23, стр. 1
    Телефон: (495) 737-93-72, (495) 737-93-72
    E-mail: 77@iitrust.ru
    Сайт: https://iitrust.ru/
  12. ЗАО «ТаксНет»
    Адрес: 420021, г. Казань, ул. К.Насыри, д. 28
    Телефон: (843) 231-92-00
    Факс: (843) 231-92-01
    E-mail: office@taxnet.ru
    Сайт: https://taxnet.ru/
  13. Удостоверяющий центр «БЕЛИНФОНАЛОГ»
    Адрес: 308007, г. Белгород, ул. Мичурина, д. 48Б, 2-й этаж
    Телефон: (4722) 232-702
    Факс: (4722) 31-76-07
    E-mail: client@belinfonalog.ru
    Сайт: http://www.belinfonalog.ru
  14. ООО «Мостинфо-Екатеринбург» (ООО «МОСТИНФО»)
    Адрес: 620075, Свердловская область, г. Екатеринбург, ул. Первомайская, д.15, офис 1205
    Телефон: (343) 287-04-67
    Факс: (343) 287-11-15
    E-mail: info@most-info.ru
    Сайт: http://most-info.ru
  15. АО «ГНИВЦ»
    Адрес: 125373, г. Москва, Походный проезд, домовладение 3, стр.1
    Телефон: (495) 913-02-24, (495) 913-07-15
    E-mail: info@gnivc.ru
    Сайт: https://www.gnivc.ru
  16. ООО «НТСсофт»
    Адрес: 620062, Екатеринбург, ул.Чебышева, 4, оф. 308
    Телефон: (343) 375-77-50, 8 800 333-22-05
    E-mail: sales@ents.ru
    Сайт: https://www.ntssoft.ru

Архангельскстат не несет ответственности за взаимодействие отчитывающихся субъектов и спецоператора, не оказывает консультации по работе с программно-техническими средствами спецоператора, используемыми на стороне отчитывающихся субъектов.

Руководство пользователя на ON-line модуль подготовки отчетов-ЭВФ

8.73 Мб, 31.03.2021

Руководство пользователя на OFF-line модуль подготовки отчетов-ЭВФ.pdf

5.86 Мб, 31.03.2021

Инструкция по извлечению сертификата электронной подписи из контейнера

725.38 Кб, 31.03.2021

Приказ Росстата от 27.10.2010 №370 «Об утверждении Порядка организации обработки первичных статистических данных по формам федерального статистического наблюдения, поступивших от респондентов в электронном виде по телекоммуникационным каналам связи»

22.75 Кб, 08.10.2018

Приказ Росстата от 28.10.2010 №372 «Об утверждении Унифицированного формата электронных версий форм статистической отчетности»

58.43 Кб, 08.10.2018

Приказ Росстата от 07.07.2011 №313 «Об утверждении Унифицированного формата транспортного сообщения при обмене электронными документами между территориальными органами Росстата и респондентами»

76.24 Кб, 08.10.2018

Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи»

08.10.2018

Федеральный закон от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации»

08.10.2018


Консультации по вопросам предоставления отчетности, шаблонам, протоколам, срокам сдачи, уточнение данных для регистрации в системе:

тел. (8182) 63-50-13, доб. 420 или доб. 421 — Отдел государственной статистики

Информация по классификаторам (ОКОПФ, ОКТМО, ОКАТО, ОКФС, ОКВЭД) по телефону:

тел. (8182) 63-50-54, доб. 443 или на сайте

По вопросам обработки заявок на регистрацию в системе обращаться по телефону: (8182) 63-50-05 доб. 232 или доб. 487 — Отдел статистики предприятий, региональных счетов, ведения Статистического регистра и общероссийских классификаторов

Консультации только по техническим вопросам:

тел. (8182) 63-50-56, доб. 437 или P29_FatenkovaYV@gks.ru — Отдел информационных ресурсов и технологий

ФОРУМ ВЗАИМОДЕЙСТВИЯ С РЕСПОНДЕНТАМИ ПО ВОПРОСАМ ПРЕДОСТАВЛЕНИЯ СТАТИСТИЧЕСКОЙ ОТЧЕТНОСТИ В ЭЛЕКТРОННОМ ВИДЕ

Архангельскстат не оказывает консультации по работе с программно-техническими средствами спецоператора, используемыми на стороне отчитывающихся субъектов.

Согласно документам Chrome Native Messaging успешный вызов connectNative() возвращает порт, с помощью которого вы можете отправлять сообщения в собственное приложение (приложение Mac). В моем случае nativeConnect() возвращает верный порт в моем случае, но вызов onDisconnected() прослушивателя запускается почти сразу. Всякий раз, когда слушатель запускается, он выводит свойство «lastError» на консоль браузера, и это дает:

Specified native messaging host not found.

Почему он это делает? Слушатель, создающий msg, выглядит так:

function onDisconnected() {
  console.log("Inside onDisconnected(): " + chrome.runtime.lastError.message);
  port = null;
}

Там весь раздел об этой конкретной ошибке в нижней части документации (Native Messaging), и предлагаемые средства защиты говорят, что либо файл манифеста назван, помещен или определен (JSON) некорректно, либо хост-приложение не названо или не расположено где манифест говорит, что это должно быть. Документ говорит, что connectNative() будет «запускать хост в отдельном процессе», но Activity Monitor не дает никаких доказательств того, что приложение для основного хоста было запущено.

Я вызываю connectNative() следующим образом:

chrome.runtime.onMessageExternal.addListener(

  function(request, sender, sendResponse) {
    //var imgdata = JSON.stringify(request.imgdata);
    //process it somehow here

    port = chrome.runtime.connectNative("com.allinlearning.nmhforbrowserextension");

    if (port)
    {
       console.log("connectNative() returned a non-null port");

       port.onMessage.addListener(onNativeMessage);
       port.onDisconnect.addListener(onDisconnected);
    }
});

Мой файл манифеста моего хозяина находится в правильной папке в соответствии с документами, отлично разбирается как JSON и выглядит так:

{
  "name": "com.allinlearning.nmhforbrowserextension",
  "description": "Manifest for native messaging host for Google browser extension",
  "path": "/Users/mycomputer1/Documents/nmhost.app",
  "type": "stdio",
  "allowed_origins": ["chrome-extension://gldheanjpgopipommeingjlnoiamdfol/"]
}

Для расширения Chrome требуется также манифест, и пока я не получу раздел прав доступа, мне не удалось получить ненулевой порт обратно из connectNative(), поэтому я уверен, что теперь это правильно:

"permissions": [
               "nativeMessaging",
                "tabs",
                "activeTab",
                "background",
                "http://*/", "https://*/"
                ]

ОБНОВИТЬ:

Выяснилось, как запустить браузер Chrome с терминала Mac с помощью флагов, позволяющих просматривать более «подробные» протоколирования. Затем, когда я побежал, я заметил этот вывод:

[21285:38915:1231/164417:ERROR:native_process_launcher.cc(131)] Can't find manifest for native messaging host com.allinlearning.nmhforbrowserextension

Довольно ясно, что он не может найти манифест хозяина, но почему?

VestnikKubSU

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.01.2023(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 1 раз

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

Здравствуйте.

Добрый день, спасибо за ответ!

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

Если на тестовой странице сертификат виден и создаётся подпись — то «копать» в сторону тех.поддержки сайтов.

Виден из обоих браузеров и для Hello World успешно генерируется подпись

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

На РГБ надпись:

Цитата:

Система работает в тестовом режиме

— так было всегда?

Всегда.

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

Перед открытием сайта — можно открыть панель в браузере, нажав F12,
подтвердить диалог от плагина «Разрешить эту операцию?»
и посмотреть вывод в консоли, возможно там будет детализация проблемы.
Присылать желательно текстом.

Вывод консоли Chrome до нажатия на диалог от плагина на сайте Книжной палаты

Цитата:

isSbVisible true
tempComponentsInjections.bundle.js?v=1674673361859:11 infostatic
common.bundle.js?v=1674673361859:17 updnav undefined
main.min.js?v=1674673361859:43820 Scripts inited
Не удалось загрузить карту исходного кода с помощью инструментов разработчика: Не удалось выполнить синтаксический анализ контента для https://online.bookchamb…py/dist/uppy.min.js.map: Unexpected token ‘<‘, …»

<!DOCTYPE «… is not valid JSON..

и после нажатия:

Цитата:

isSbVisible true
cadesplugin_api.js?v=1674673361859:55 INFO: cadesplugin_api.js: log_level = DEBUG
cadesplugin_api.js?v=1674673361859:536 GET chrome-extension://invalid/ net::ERR_FAILED
load_extension @ cadesplugin_api.js?v=1674673361859:536
check_plugin_working @ cadesplugin_api.js?v=1674673361859:665
(анонимная) @ cadesplugin_api.js?v=1674673361859:732
(анонимная) @ cadesplugin_api.js?v=1674673361859:733
tempComponentsInjections.bundle.js?v=1674673361859:11 infostatic
common.bundle.js?v=1674673361859:17 updnav undefined
main.min.js?v=1674673361859:43820 Scripts inited
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:2,»type»:»init»,»url»:»https://online.bookchamber.ru/book/ru/lk/oee/oee_sign/o_29545554″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:2,»type»:»result»,»value»:0},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:3,»objid»:0,»method»:»CreateObject»,»params»:[{«type»:»string»,»value»:»CAdESCOM.About»}]}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:3,»retval»:{«methods»:[«CSPName»,»ProviderVersion»,»CSPVersion»,»ReaderFilter»,»MediaFilter»],»properties»:[«Version»,»MajorVersion»,»MinorVersion»,»BuildVersion»,»PluginVersion»],»type»:»object»,»value»:1},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:4,»objid»:0,»method»:»CreateObject»,»params»:[{«type»:»string»,»value»:»CAPICOM.Store»}]}
Не удалось загрузить карту исходного кода с помощью инструментов разработчика: Не удалось выполнить синтаксический анализ контента для https://online.bookchamb…py/dist/uppy.min.js.map: Unexpected token ‘<‘, …»

<!DOCTYPE «… is not valid JSON..
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:4,»retval»:{«methods»:[«Close»,»Open»,»Add»,»AddCRL»,»Remove»,»addEventListener»,»removeEventListener»],»properties»:[«Certificates»,»Location»,»Name»],»type»:»object»,»value»:2},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:5,»objid»:2,»method»:»Open»,»params»:[{«type»:»number»,»value»:2},{«type»:»string»,»value»:»My»},{«type»:»number»,»value»:2}]}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:6,»objid»:2,»get_property»:»Certificates»}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:5,»retval»:{«type»:»OK»,»value»:»OK»},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:6,»retval»:{«methods»:[«Find»,»Item»],»properties»:[«Count»],»type»:»object»,»value»:3},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:7,»objid»:3,»method»:»Find»,»params»:[{«type»:»number»,»value»:9}]}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:7,»retval»:{«methods»:[«Find»,»Item»],»properties»:[«Count»],»type»:»object»,»value»:4},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:8,»objid»:4,»get_property»:»Count»}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:8,»retval»:{«type»:»number»,»value»:0},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}
cert_fill.js?v=1674673361859:16 {certsCount: 0}
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Sent message:{«destination»:»nmcades»,»requestid»:9,»objid»:2,»method»:»Close»,»params»:[]}
cert_fill.js?v=1674673361859:53 fillCertificates:OK []
nmcades_plugin_api.js:42 DEBUG: nmcades_plugin_api.js: Received message: {«data»:{«requestid»:9,»retval»:{«type»:»OK»,»value»:»OK»},»type»:»result»},»tabid»:»cb9b8e07-410f-3f75-3fd4-187f5f59bbb2″}

Вывод консоли Chrome до нажатия на диалог от плагина на сайте РГБ прост:

Цитата:

cadesplugin_api.js?v=1674476383:508 GET chrome-extension://invalid/ net::ERR_FAILED

На этом сайте окно плагина показывается сразу же, поэтому никаких сообщений в Консоли после не происходит

Совершенно понятно, что плагин по какой-то причине не подгружается как минимум на этих сайтах, но почему так, где «порылась собака» и «куда копать» не понимаю.

В devtools в закладке Сеть для cadesplugin_api.js:

Цитата:

URL запроса: oek.rsl.ru/js/cryptoSign/cadesplugin_api.js?v=1674476383
Метод запроса: GET
Код статуса: 200 OK

Естественно сам плагин из Chrome Store переустановил повторно, никаких других расширений в Chrome (кроме Google Документы офлайн, который отключен) не установлено, браузер и машину перегружал, монитор тряпочкой протирал и т.д. )) Главное, что у барышни, которая до меня занималась той же работой, тоже установлена Windows 7 и Chrome. Про номера версий не скажу, но они явно не новее тех, что у меня и у нее возможность подписать отображалась — видел сам.

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

Понравилась статья? Поделить с друзьями:
  • Nlc 7 фатальная ошибка при начале игры
  • Nlc 7 фатальная ошибка simpleexceptionfilter
  • Nlc 7 фатальная ошибка 498
  • Nlc 7 фатальная ошибка 259
  • Nlb кластер ошибка