Ошибка электронной подписи 2146889721


Offline

EVoynov

 


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

22 марта 2012 г. 18:30:44(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Стоит следующая задача.
В системе документооборота хранятся документы + некоторые мета-данные к ним.
Требуется на некоторых этапах подготовки этих документов подписать отделенной УЭЦП текущую версию документа + его мета-данные.
Для случая базовой ЭЦП все уже реализовано и работает несколько лет на базе CAPICOM и ActiveX из Javascript.

Вот код, который проводит подписание для отделенной подписи и для совмещенной и для обоих случаев выдает сообщение — успешно ли прошла проверка.

Код:


var g_sTsaAddress = "http://sp.ekey.ru/tsp/tsp.srf";
	var CAPICOM_STORE_OPEN_READ_ONLY = 0;
	var CAPICOM_CURRENT_USER_STORE = 2;
	var CAPICOM_MY_STORE = "My";
	var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
	var MICROSOFT_INTERNET_EXPLORER = 'Microsoft Internet Explorer';
	var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
	var CADESCOM_BASE64_TO_BINARY = 0x01;
	var CAPICOM_ENCODE_BASE64 = 0;

	var g_bDetached = true;

	function isCadESPluginInstalled() {
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			try {
				var obj = new ActiveXObject("CAdESCOM.CPSigner");
				return true;
			}
			catch (err) {}
			break;
		default:
			var mimetype = navigator.mimeTypes["application/x-cades"];
			if (mimetype) {
				var plugin = mimetype.enabledPlugin;
				if (plugin) {
					return true;
				}
			}
		}
		return false;
	}

	function selectCertificate() {
		if (isCadESPluginInstalled() ) {
			var MyStore = CreateObject("CAPICOM.Store");
			MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);

			var Certificates = MyStore.Certificates;
			if (Certificates.Count == 0) {
				alert("Нет сертификатов");
				return;
			} else if (Certificates.Count != 1) {
				Certificates = Certificates.Select("Список", "Выберите");
			}

			return Certificates.Item(1);
		}
		throw "Nothing selected";
	}

	function GetErrorMessage(e) {
		return e.message + " (" + e.number + ")";
	}

	// Функция активации объектов КриптоПро ЭЦП Browser plug-in
	function CreateObject(name) {
		var resultObject;
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			resultObject = new ActiveXObject(name);
			break;
		default:
			var cadesobject = document.getElementById("cadesplugin");
			resultObject = cadesobject.CreateObject(name);
		}
		if (resultObject && resultObject != undefined) {
			return resultObject;
		} else {
			throw "Object '" + name + "' does not created."
		}
	}

	function SignCreate(oCertificate, dataToSign) {
		var oSigner = CreateObject("CAdESCOM.CPSigner");
		oSigner.Certificate = oCertificate;
		oSigner.TSAAddress = "http://sp.ekey.ru/tsp/tsp.srf";

		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
		oSignedData.Content = dataToSign;

		try {
			var sSignedMessage =
					oSignedData.SignCades(oSigner,
							CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
			document.writeln("<h1>Signature value (detached = " + g_bDetached + "): </h1>");
			document.writeln(sSignedMessage);
			document.writeln("");
		} catch (err) {
			alert("Failed to create signature. Error: " + GetErrorMessage(err));
			return;
		}
		return sSignedMessage;
	}

	function Verify(sSignedMessage, dataToSign) {
		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		if (g_bDetached) {
			oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
			oSignedData.Content = dataToSign;
			alert("Signature is detached");
		} else {
			alert("Signature is not detached");
		}
		try {
			oSignedData.VerifyCades(sSignedMessage,
					CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
		} catch (err) {
			alert("Failed to verify signature. Error: " + GetErrorMessage(err));
			return false;
		}

		return true;
	}

	function run() {
		var oCertificate = selectCertificate();
		g_bDetached = true;
		testCase(oCertificate);
		g_bDetached = false;
		testCase(oCertificate);
	}

	function testCase(oCertificate) {
		// строка 'CryptoPro' - в Base64
		// перекодировал тут: http://www.motobit.com/util/base64-decoder-encoder.asp
		var signedMessage = SignCreate(oCertificate, "Q3J5cHRvUHJv");
		var verifyResult = Verify(signedMessage);
		if (verifyResult) {
			alert("Signature is valid when detached: " + g_bDetached);
		} else {
			alert("Signature is not valid when detached: " + g_bDetached);
		}
	}

Проблема в том, что в случае отделенной подписи проверка упорно не проходит, хотя была применена рекомендация на счет указания кодировки до передачи контента (CADESCOM_BASE64_TO_BINARY) от Новожиловой Елены из соседней темы форума.

Прошу помочь мне разобраться в проблеме и указать на возможные причины ошибки.
Ошибку получаю такую (только в случае g_bDetached = true):


Message from webpage


Failed to verify signature. Error: The hash value is not correct. (-2146889721)


OK
—————————

Вложение(я):

testCades.html (5kb) загружен 24 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.


Вверх

WWW


Offline

Новожилова Елена

 


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

22 марта 2012 г. 20:03:12(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Вы в функцию Verify передаете только один параметр — само подписанное сообщение.

Вместо:

Код:

var verifyResult = Verify(signedMessage);

должно быть:

Код:

var verifyResult = Verify(signedMessage, "Q3J5cHRvUHJv");

Вверх

Offline

EVoynov

 


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

22 марта 2012 г. 20:18:55(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Елена, огромное вам спасибо. Стыдно, что из-за такого промаха в итоге пришлось задать вопрос. Действительно, теперь оба варианта работают.


Вверх

WWW


Offline

dennioushen

 


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

19 октября 2012 г. 15:47:26(UTC)

dennioushen

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

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

Зарегистрирован: 06.07.2011(UTC)
Сообщений: 32
Мужчина
Откуда: Москва

Дабы не создавать похожую тему.

Использую для проверки подписи Пример 3.
Если правильно понимаю, могу ли использовать код ниже ( quote — проверка) узнать (выдать на экран сообщение) подписано или нет, или я бурду подсунул?!

Проверка подписи написал:

Option Explicit

Const CAPICOM_VERIFY_SIGNATURE_ONLY = 0
Const ForReading = 1

Dim oSignedData
Set oSignedData = CreateObject(«CAdESCOM.CadesSignedData»)
‘ Загрузка подписанных данных для проверки.
Dim Message : Message = LoadFile(«kolya.sig»)
‘ Подпись совмещенная.
oSignedData.Verify Message, False

Function LoadFile (FileName)
Dim fso
Set fso = CreateObject(«Scripting.FileSystemObject»)
If Not fso.FileExists(FileName) Then
Err.Raise vbObjectError+1, «LoadFile», «File not found»
End If
Dim ts
Set ts = fso.OpenTextFile(FileName, ForReading)
LoadFile = ts.ReadAll
End Function

Проверка написал:

function Verify(sSignedMessage, dataToSign) {
var oSignedData = CreateObject(«CAdESCOM.CadesSignedData»);
if (g_bDetached) {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToSign;
alert(«Signature is detached»);
} else {
alert(«Signature is not detached»);
}
try {
oSignedData.VerifyCades(sSignedMessage,
CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
} catch (err) {
alert(«Failed to verify signature. Error: » + GetErrorMessage(err));
return false;
}

return true;
}

Отредактировано пользователем 19 октября 2012 г. 16:34:47(UTC)
 | Причина: Не указана

Семья тебя простит… Дон Корлеоне


Вверх

WWW


Offline

Новожилова Елена

 


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

23 октября 2012 г. 18:32:53(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Не поняла, в чем вопрос.


Вверх

Offline

dmishin

 


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

14 февраля 2013 г. 12:04:35(UTC)

dmishin

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

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

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

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

Столкнулся с ошибкой:

Certificates.Select is not a function

Не подскажите в чем может быть проблема?

P.S.
Увидел в справке, что для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Отредактировано пользователем 14 февраля 2013 г. 12:07:02(UTC)
 | Причина: Не указана


Вверх

Offline

NikChaew

 


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

16 января 2014 г. 22:18:16(UTC)

NikChaew

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

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

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

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.


Вверх

Offline

Андрей Писарев

 


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

16 января 2014 г. 22:29:59(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

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


Вверх

WWW


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:36:42(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Объект Certificates

Цитата:

В отличие от объекта Microsoft CAPICOM.Certificates,
для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Замечание:
В CAdESCOM данный объект доступен только на платформе x64. На платформе win32 следует использовать объект Microsoft CAPICOM.Certificates .

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


Вверх

WWW


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:38:30(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

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

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

и функцию FillCertList(lstId)

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


Вверх

WWW

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

Guest

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

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

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

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

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

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

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

  • Remove From My Forums
  • Question

  • Hello,

    I have an application (deployed over collection) which is working on my test clients. On one Client I am getting the message:

    The software change returned error code 0x80091007 (-2146889721).

    When i check the CAS.log I see that the has value of the application has a probelm.

    On my other test clients the software is working fine.

    The clients are in the same subnet, so no boundary issue.

    Here is the CAS.log

    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache7.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:36 3192 (0x0C78)
    Download completed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System ContentAccess 03.01.2014 14:00:37 3320 (0x0CF8)
    CreateFileW failed for c:windowsccmcache6vcredist_x86vcredist.msi ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    楆敬灏湥 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    潃灭瑵䍥湯整瑮慈桳 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Failed to do hash verification with preference : 4. Try to verify at next hash algorithm ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System, error 0x80091007 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for download request {F8613B9F-A062-495C-ADFD-7D64D6576D15} ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Raising event:
    [SMS_CodePage(437), SMS_LocaleID(1033)]
    instance of SoftDistHashMismatchEvent
    {
     ClientID = «GUID:ff40e989-88f5-49d6-a811-246964969a24»;
     DateTime = «20140103130042.787000+000»;
     MachineName = «SCCM-CAPTURE»;
     PackageId = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageName = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageVersion = «1»;
     ProcessID = 2876;
     SiteCode = «MU1»;
     ThreadID = 3320;
    };
     ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Successfully raised SoftDistHashMismatchEvent event. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache6.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)

    • Edited by

      Friday, January 3, 2014 1:12 PM
      added

Answers

  • Hello I solved the problem,

    the Virus Scanner was the problem. I turned it off an the it was working, even in the OSD.

    • Proposed as answer by
      TorstenMMVP
      Tuesday, January 7, 2014 2:22 PM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM
  • Remove From My Forums
  • Question

  • Hi,

    The installer of VS Community 2015 Update 2 fails with message:

    Windows 10 SDK (10.0.10586)

    The installer failed. The hash value is not correct. Error code: -2146889721

    (Windows defender is disabled. The content of the %temp% folder was deleted before each attempt. The installers were run as administrator.)

    Then I tried to install Windows Standalone SDK for Windows 10 which also generated an error:

    Unable to verify the integrity of downloaded content. It might be corrupted. Please check your network connection and try again.

    From the log:

    [1BDC:13D8][2016-06-03T19:01:22]i000: package_WPTRedistributables_x86_en_us
    [1BDC:13D8][2016-06-03T19:01:22]i000: package_WPTRedistributables_x86_en_us to
    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi
    [1BDC:13D8][2016-06-03T19:01:22]i338: Acquiring package: package_WPTRedistributables_x86_en_us, payload: package_WPTRedistributables_x86_en_us, download from:

    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Hash mismatch for path: C:UsersrodolAppDataLocalTemp{43d9f43d-c90b-4fdf-9dfe-ecf9990bfa2a}package_WPTRedistributables_x86_en_us, expected: 9C6A5034F854D8DFC32FC08A367BB08735B700D8, actual: 1BAC761B1FC28C7B9157C5BF004033A479B76E75
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to verify payload hash: C:UsersrodolDownloadsWindows Kits10StandaloneSDKInstallersWPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to layout payload from cached payload: C:UsersrodolDownloadsWindows Kits10StandaloneSDKInstallersWPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to layout payload from: C:UsersrodolAppDataLocalTemp{43d9f43d-c90b-4fdf-9dfe-ecf9990bfa2a}package_WPTRedistributables_x86_en_us to C:UsersrodolDownloadsWindows Kits10StandaloneSDK
    [1BDC:13D8][2016-06-03T19:01:24]i000: ERROR: Failed to verify the integrity of payload [package_WPTRedistributables_x86_en_us] for Package package_WPTRedistributables_x86_en_us

    Then I manually downloaded the file five times from:
    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi

    Four times the hash was: 1bac761b1fc28c7b9157c5bf004033a479b76e7. 

    One time the hash was: 9c6a5034f854d8dfc32fc08a367bb08735b700d8.

    In other PC with a different internet connection, but still in my country (Chile), I tried five times and the hash was always wrong:

    b5c9c64d3e50ef2f0d4004c6aca7adc75114f5aa

    In a VM in Azure Brazil I tried five times and the hash was always correct:

    9c6a5034f854d8dfc32fc08a367bb08735b700d8

    So, there seems to be a problem with that particular file.

    • Edited by

      Friday, June 3, 2016 11:48 PM

Answers

  • Hi Rodolfo28m,

    Thank you for your post.

    Error 0x80091007,The hash value is not correct» may related to a corrupt installer.

    >>In other PC with a different internet connection

    I suspect the problem is still pending on your network connection, some packages or files are failed to load.

    A community member faced a similar issue as yours, It seems that the cause of the problem is the network ,you may take a look at the following link.

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/2a0837ce-0e93-4175-8f69-35703ec9ee4f/windows-10-sdk-download-failed?forum=vssetup

    So please check your network again and make sure there is no setting that defend your downloading of win 10 sdk.

    Besides, you could also try to repair the Win 10 sdk via control panel to see if it works.

    Best Regards, 


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.

    Click
    HERE to participate the survey.

    • Proposed as answer by
      宝宝徐
      Thursday, June 9, 2016 1:37 AM
    • Marked as answer by
      宝宝徐
      Wednesday, June 15, 2016 5:29 AM

Offline

EVoynov

 


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

22 марта 2012 г. 18:30:44(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Стоит следующая задача.
В системе документооборота хранятся документы + некоторые мета-данные к ним.
Требуется на некоторых этапах подготовки этих документов подписать отделенной УЭЦП текущую версию документа + его мета-данные.
Для случая базовой ЭЦП все уже реализовано и работает несколько лет на базе CAPICOM и ActiveX из Javascript.

Вот код, который проводит подписание для отделенной подписи и для совмещенной и для обоих случаев выдает сообщение — успешно ли прошла проверка.

Код:


var g_sTsaAddress = "http://sp.ekey.ru/tsp/tsp.srf";
	var CAPICOM_STORE_OPEN_READ_ONLY = 0;
	var CAPICOM_CURRENT_USER_STORE = 2;
	var CAPICOM_MY_STORE = "My";
	var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
	var MICROSOFT_INTERNET_EXPLORER = 'Microsoft Internet Explorer';
	var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
	var CADESCOM_BASE64_TO_BINARY = 0x01;
	var CAPICOM_ENCODE_BASE64 = 0;

	var g_bDetached = true;

	function isCadESPluginInstalled() {
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			try {
				var obj = new ActiveXObject("CAdESCOM.CPSigner");
				return true;
			}
			catch (err) {}
			break;
		default:
			var mimetype = navigator.mimeTypes["application/x-cades"];
			if (mimetype) {
				var plugin = mimetype.enabledPlugin;
				if (plugin) {
					return true;
				}
			}
		}
		return false;
	}

	function selectCertificate() {
		if (isCadESPluginInstalled() ) {
			var MyStore = CreateObject("CAPICOM.Store");
			MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);

			var Certificates = MyStore.Certificates;
			if (Certificates.Count == 0) {
				alert("Нет сертификатов");
				return;
			} else if (Certificates.Count != 1) {
				Certificates = Certificates.Select("Список", "Выберите");
			}

			return Certificates.Item(1);
		}
		throw "Nothing selected";
	}

	function GetErrorMessage(e) {
		return e.message + " (" + e.number + ")";
	}

	// Функция активации объектов КриптоПро ЭЦП Browser plug-in
	function CreateObject(name) {
		var resultObject;
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			resultObject = new ActiveXObject(name);
			break;
		default:
			var cadesobject = document.getElementById("cadesplugin");
			resultObject = cadesobject.CreateObject(name);
		}
		if (resultObject && resultObject != undefined) {
			return resultObject;
		} else {
			throw "Object '" + name + "' does not created."
		}
	}

	function SignCreate(oCertificate, dataToSign) {
		var oSigner = CreateObject("CAdESCOM.CPSigner");
		oSigner.Certificate = oCertificate;
		oSigner.TSAAddress = "http://sp.ekey.ru/tsp/tsp.srf";

		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
		oSignedData.Content = dataToSign;

		try {
			var sSignedMessage =
					oSignedData.SignCades(oSigner,
							CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
			document.writeln("<h1>Signature value (detached = " + g_bDetached + "): </h1>");
			document.writeln(sSignedMessage);
			document.writeln("");
		} catch (err) {
			alert("Failed to create signature. Error: " + GetErrorMessage(err));
			return;
		}
		return sSignedMessage;
	}

	function Verify(sSignedMessage, dataToSign) {
		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		if (g_bDetached) {
			oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
			oSignedData.Content = dataToSign;
			alert("Signature is detached");
		} else {
			alert("Signature is not detached");
		}
		try {
			oSignedData.VerifyCades(sSignedMessage,
					CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
		} catch (err) {
			alert("Failed to verify signature. Error: " + GetErrorMessage(err));
			return false;
		}

		return true;
	}

	function run() {
		var oCertificate = selectCertificate();
		g_bDetached = true;
		testCase(oCertificate);
		g_bDetached = false;
		testCase(oCertificate);
	}

	function testCase(oCertificate) {
		// строка 'CryptoPro' - в Base64
		// перекодировал тут: http://www.motobit.com/util/base64-decoder-encoder.asp
		var signedMessage = SignCreate(oCertificate, "Q3J5cHRvUHJv");
		var verifyResult = Verify(signedMessage);
		if (verifyResult) {
			alert("Signature is valid when detached: " + g_bDetached);
		} else {
			alert("Signature is not valid when detached: " + g_bDetached);
		}
	}

Проблема в том, что в случае отделенной подписи проверка упорно не проходит, хотя была применена рекомендация на счет указания кодировки до передачи контента (CADESCOM_BASE64_TO_BINARY) от Новожиловой Елены из соседней темы форума.

Прошу помочь мне разобраться в проблеме и указать на возможные причины ошибки.
Ошибку получаю такую (только в случае g_bDetached = true):


Message from webpage


Failed to verify signature. Error: The hash value is not correct. (-2146889721)


OK
—————————

Вложение(я):

testCades.html (5kb) загружен 24 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.


Вверх

WWW


Offline

Новожилова Елена

 


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

22 марта 2012 г. 20:03:12(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Вы в функцию Verify передаете только один параметр — само подписанное сообщение.

Вместо:

Код:

var verifyResult = Verify(signedMessage);

должно быть:

Код:

var verifyResult = Verify(signedMessage, "Q3J5cHRvUHJv");

Вверх

Offline

EVoynov

 


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

22 марта 2012 г. 20:18:55(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Елена, огромное вам спасибо. Стыдно, что из-за такого промаха в итоге пришлось задать вопрос. Действительно, теперь оба варианта работают.


Вверх

WWW


Offline

dennioushen

 


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

19 октября 2012 г. 15:47:26(UTC)

dennioushen

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

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

Зарегистрирован: 06.07.2011(UTC)
Сообщений: 32
Мужчина
Откуда: Москва

Дабы не создавать похожую тему.

Использую для проверки подписи Пример 3.
Если правильно понимаю, могу ли использовать код ниже ( quote — проверка) узнать (выдать на экран сообщение) подписано или нет, или я бурду подсунул?!

Проверка подписи написал:

Option Explicit

Const CAPICOM_VERIFY_SIGNATURE_ONLY = 0
Const ForReading = 1

Dim oSignedData
Set oSignedData = CreateObject(«CAdESCOM.CadesSignedData»)
‘ Загрузка подписанных данных для проверки.
Dim Message : Message = LoadFile(«kolya.sig»)
‘ Подпись совмещенная.
oSignedData.Verify Message, False

Function LoadFile (FileName)
Dim fso
Set fso = CreateObject(«Scripting.FileSystemObject»)
If Not fso.FileExists(FileName) Then
Err.Raise vbObjectError+1, «LoadFile», «File not found»
End If
Dim ts
Set ts = fso.OpenTextFile(FileName, ForReading)
LoadFile = ts.ReadAll
End Function

Проверка написал:

function Verify(sSignedMessage, dataToSign) {
var oSignedData = CreateObject(«CAdESCOM.CadesSignedData»);
if (g_bDetached) {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToSign;
alert(«Signature is detached»);
} else {
alert(«Signature is not detached»);
}
try {
oSignedData.VerifyCades(sSignedMessage,
CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
} catch (err) {
alert(«Failed to verify signature. Error: » + GetErrorMessage(err));
return false;
}

return true;
}

Отредактировано пользователем 19 октября 2012 г. 16:34:47(UTC)
 | Причина: Не указана

Семья тебя простит… Дон Корлеоне


Вверх

WWW


Offline

Новожилова Елена

 


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

23 октября 2012 г. 18:32:53(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах


Вверх

Offline

dmishin

 


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

14 февраля 2013 г. 12:04:35(UTC)

dmishin

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

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

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

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

Столкнулся с ошибкой:

Certificates.Select is not a function

Не подскажите в чем может быть проблема?

P.S.
Увидел в справке, что для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Отредактировано пользователем 14 февраля 2013 г. 12:07:02(UTC)
 | Причина: Не указана


Вверх

Offline

NikChaew

 


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

16 января 2014 г. 22:18:16(UTC)

NikChaew

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

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

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

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.


Вверх

Online

Андрей Писарев

 


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

16 января 2014 г. 22:29:59(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

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


Вверх

WWW


Online

Андрей Писарев

 


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

16 января 2014 г. 22:36:42(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Объект Certificates

Цитата:

В отличие от объекта Microsoft CAPICOM.Certificates,
для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Замечание:
В CAdESCOM данный объект доступен только на платформе x64. На платформе win32 следует использовать объект Microsoft CAPICOM.Certificates .

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


Вверх

WWW


Online

Андрей Писарев

 


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

16 января 2014 г. 22:38:30(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

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

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

и функцию FillCertList(lstId)

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


Вверх

WWW

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

Guest

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

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

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

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

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

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

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

  • Remove From My Forums
  • Question

  • Hi,

    The installer of VS Community 2015 Update 2 fails with message:

    Windows 10 SDK (10.0.10586)

    The installer failed. The hash value is not correct. Error code: -2146889721

    (Windows defender is disabled. The content of the %temp% folder was deleted before each attempt. The installers were run as administrator.)

    Then I tried to install Windows Standalone SDK for Windows 10 which also generated an error:

    Unable to verify the integrity of downloaded content. It might be corrupted. Please check your network connection and try again.

    From the log:

    [1BDC:13D8][2016-06-03T19:01:22]i000: package_WPTRedistributables_x86_en_us
    [1BDC:13D8][2016-06-03T19:01:22]i000: package_WPTRedistributables_x86_en_us to
    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi
    [1BDC:13D8][2016-06-03T19:01:22]i338: Acquiring package: package_WPTRedistributables_x86_en_us, payload: package_WPTRedistributables_x86_en_us, download from:

    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Hash mismatch for path: C:UsersrodolAppDataLocalTemp{43d9f43d-c90b-4fdf-9dfe-ecf9990bfa2a}package_WPTRedistributables_x86_en_us, expected: 9C6A5034F854D8DFC32FC08A367BB08735B700D8, actual: 1BAC761B1FC28C7B9157C5BF004033A479B76E75
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to verify payload hash: C:UsersrodolDownloadsWindows Kits10StandaloneSDKInstallersWPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to layout payload from cached payload: C:UsersrodolDownloadsWindows Kits10StandaloneSDKInstallersWPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to layout payload from: C:UsersrodolAppDataLocalTemp{43d9f43d-c90b-4fdf-9dfe-ecf9990bfa2a}package_WPTRedistributables_x86_en_us to C:UsersrodolDownloadsWindows Kits10StandaloneSDK
    [1BDC:13D8][2016-06-03T19:01:24]i000: ERROR: Failed to verify the integrity of payload [package_WPTRedistributables_x86_en_us] for Package package_WPTRedistributables_x86_en_us

    Then I manually downloaded the file five times from:
    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi

    Four times the hash was: 1bac761b1fc28c7b9157c5bf004033a479b76e7. 

    One time the hash was: 9c6a5034f854d8dfc32fc08a367bb08735b700d8.

    In other PC with a different internet connection, but still in my country (Chile), I tried five times and the hash was always wrong:

    b5c9c64d3e50ef2f0d4004c6aca7adc75114f5aa

    In a VM in Azure Brazil I tried five times and the hash was always correct:

    9c6a5034f854d8dfc32fc08a367bb08735b700d8

    So, there seems to be a problem with that particular file.

    • Edited by

      Friday, June 3, 2016 11:48 PM

Answers

  • Hi Rodolfo28m,

    Thank you for your post.

    Error 0x80091007,The hash value is not correct» may related to a corrupt installer.

    >>In other PC with a different internet connection

    I suspect the problem is still pending on your network connection, some packages or files are failed to load.

    A community member faced a similar issue as yours, It seems that the cause of the problem is the network ,you may take a look at the following link.

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/2a0837ce-0e93-4175-8f69-35703ec9ee4f/windows-10-sdk-download-failed?forum=vssetup

    So please check your network again and make sure there is no setting that defend your downloading of win 10 sdk.

    Besides, you could also try to repair the Win 10 sdk via control panel to see if it works.

    Best Regards, 


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.

    Click
    HERE to participate the survey.

    • Proposed as answer by
      宝宝徐
      Thursday, June 9, 2016 1:37 AM
    • Marked as answer by
      宝宝徐
      Wednesday, June 15, 2016 5:29 AM
  • Remove From My Forums
  • Question

  • Hello,

    I have an application (deployed over collection) which is working on my test clients. On one Client I am getting the message:

    The software change returned error code 0x80091007 (-2146889721).

    When i check the CAS.log I see that the has value of the application has a probelm.

    On my other test clients the software is working fine.

    The clients are in the same subnet, so no boundary issue.

    Here is the CAS.log

    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache7.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:36 3192 (0x0C78)
    Download completed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System ContentAccess 03.01.2014 14:00:37 3320 (0x0CF8)
    CreateFileW failed for c:windowsccmcache6vcredist_x86vcredist.msi ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    楆敬灏湥 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    潃灭瑵䍥湯整瑮慈桳 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Failed to do hash verification with preference : 4. Try to verify at next hash algorithm ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System, error 0x80091007 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for download request {F8613B9F-A062-495C-ADFD-7D64D6576D15} ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Raising event:
    [SMS_CodePage(437), SMS_LocaleID(1033)]
    instance of SoftDistHashMismatchEvent
    {
     ClientID = «GUID:ff40e989-88f5-49d6-a811-246964969a24»;
     DateTime = «20140103130042.787000+000»;
     MachineName = «SCCM-CAPTURE»;
     PackageId = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageName = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageVersion = «1»;
     ProcessID = 2876;
     SiteCode = «MU1»;
     ThreadID = 3320;
    };
     ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Successfully raised SoftDistHashMismatchEvent event. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache6.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)

    • Edited by

      Friday, January 3, 2014 1:12 PM
      added

Answers

  • Hello I solved the problem,

    the Virus Scanner was the problem. I turned it off an the it was working, even in the OSD.

    • Proposed as answer by
      TorstenMMVP
      Tuesday, January 7, 2014 2:22 PM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM

Область применения электронной подписи (ЭП или ЭЦП) довольно широка. Например, многие специальные сервисы требуют верификации пользователя с её помощью: Госуслуги, онлайн-сервисы для управления средствами в банке, электронные площадки и другие. Поэтому любые технические неполадки, возникающие при использовании ЭЦП, могут вызвать различные серьёзные: от упущенной выгоды до материальных убытков.

Какие бывают ошибки

Проблемы при использовании ЭП, с которыми пользователи встречаются чаще всего, можно условно разделить на три группы:

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

Рассмотрим неполадки подробнее и разберёмся, как их решать.

Сертификат не найден

Иногда при попытке подписать электронный документ с помощью ЭП пользователь может столкнуться с ошибкой «Не удалось найти ни одного сертификата, пригодного для создания подписи».

У подобных ошибок могут быть следующие причины:

  1. На компьютере не установлены корневые сертификаты Удостоверяющего Центра (УЦ), в котором была получена ЭП. Необходимо установить либо обновить корневой сертификат. Установка корневых сертификатов удостоверяющего центра подробно описана в нашей инструкции.
  2. На ПК не установлено ни одного личного сертификата ЭП. Для применения ЭП необходимы и личные сертификаты. Об их установке мы писали в другой статье.
  3. Установленные на компьютере необходимые сертификаты не валидны. Сертификаты отозваны или просрочены. Уточните статус сертификата в УЦ. Ошибка с текстом «Ваш сертификат ключа подписи включён в список отозванных» возникает, если у сертификата закончился срок действия или на ПК нужно обновить список сертификатов. В последней ситуации следует вручную загрузить перечень отозванных сертификатов.

Для установки списка отозванных сертификатов:

  • Откройте личный сертификат пользователя в окне Свойства браузера. Чтобы открыть его, наберите «Свойства браузера» в поисковой строке меню Пуск. Перейдите во вкладку Содержание и нажмите кнопку «Сертификаты».
  • личный сертификат1

  • Во вкладке Состав выберите из списка пункт «Точки распространения списков отзыва».
  • В блоке Имя точки распространения скопируйте ссылку на загрузку файла со списком отзыва.
  • Имя точки2

  • Скачайте по указанной ссылке файл. Нажмите по нему правой кнопкой мыши и выберите в контекстном меню «Установить список отзыва (CRL)».
  • Следуйте указаниям «Мастера импорта сертификатов».

Не виден сертификат на носителе

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

К наиболее распространённым причинам такой проблемы относятся следующие случаи:

  1. Драйвер носителя не установлен или установлен некорректно. Для решения проблемы необходимо извлечь носитель электронной подписи из ПК и скачать последнюю версию драйвера носителя с официальных ресурсов. Если переустановка драйвера не помогла, подключите носитель к другому ПК, чтобы убедиться в исправности токена. Если токен определится другой системой, попробуйте удалить на неисправном компьютере драйвер носителя и установить его заново.
  2. Долгое опознание носителя. Для решения проблемы необходимо дождаться завершения процесса или обновить версию операционной системы.
  3. Некорректная работа USB-порта. Подключите токен к другому USB-порту, чтобы убедиться, что проблема не в носителе ЭП. Если система определила токен, перезагрузите компьютер. Если это не поможет, следует обратиться службу технической поддержки.
  4. Неисправность носителя. Если при подключении токена к другому компьютеру или USB-порту система не определяет его, значит, проблема в самом носителе. Устранение неисправности возможно в данном случае лишь одним путём — нужно обратиться в сервисный центр для выпуска нового носителя.

ЭП не подписывает документ

Причин у подобной проблемы множество. Каждый случай требует отдельной проверки. Среди самых распространённых можно выделить следующие неполадки:

  1. Закрытый ключ на используемом контейнере не соответствует открытому ключу сертификата. Возможно, был выбран не тот контейнер, поэтому следует проверить все закрытые контейнеры на компьютере. Если необходимый контейнер по тем или иным причинам отсутствует, владельцу придётся обращаться в удостоверяющий центр для перевыпуска ЭП.
  2. Ошибка «Сертификат недействителен» (certificate is not valid). Следует повторно установить сертификат ЭП по инструкциям УЦ в зависимости от используемого криптопровайдера — КриптоПро CSP, ViPNet CSP или другого.
  3. Сертификат ЭП определяется как непроверенный. В этом случае необходимо переустановить корневой сертификат удостоверяющего центра.
  4. Истёк срок действия криптопровайдера. Для решения этой проблемы необходим новый лицензионный ключ к программе-криптопровайдеру. Для его получения необходимо обращаться к специалистам УЦ или к ответственным сотрудникам своей организации.
  5. Подключён носитель с другим сертификатом. Убедитесь, что подключён правильный токен. Проверьте также, не подключены ли носители других сертификатов. Отключите другие носители в случае их обнаружения.

В момент подписания электронных документов или формирования запроса в различных может возникнуть ошибка «Невозможно создание объекта сервером программирования объектов».

подписания3

В этой ситуации помогает установка и регистрация библиотеки Capicom:

  1. Скачайте файл архива.
  2. Распакуйте и переместите файлы capicom.dll и capicom.inf в каталог syswow64, находящийся в корневой папке ОС.
  3. Откройте командную строку от имени администратора — для этого в меню Пуск наберите «Командная строка», нажмите по найденному приложению правой кнопкой мыши и выберите Запуск от имени администратора.
  4. «Командная строка»4

  5. Введите «c:windowssyswow64regsvr32.exe capicom.dll» (без кавычек) и нажмите ENTER. Должно появиться уведомление о том, что команда выполнена успешно.
  6. нажмите ENTER5

Выбранная подпись не авторизована

Подобная ошибка возникает при попытке авторизации в личном кабинете на электронных торговых площадках. Например, при входе на площадку ZakazRF отображается сообщение «Выбранная ЭЦП не авторизована».

площадку ZakazRF6

Эта ошибка возникает из-за того, что пользователь не зарегистрирован на площадке, либо не зарегистрирован новый сертификат ключа ЭП. Решением проблемы будет регистрация нового сертификата.

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

Часто задаваемые вопросы

Почему компьютер не видит ЭЦП?

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

О том, что делать, если компьютер не видит ЭЦП и о способах проверки настроек, мы подробно писали в нашей статье.

Почему КриптоПро не отображает ЭЦП?

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

Подробнее ознакомиться, как устранить данную неисправность можно в нашей статье.

Где на компьютере искать сертификаты ЭЦП?

Сертификат ЭЦП позволяет проверить подлинность подписи, содержит в себе срок её действия и информацию о владельце. Он автоматически загружается в папку с системными файлами. В операционной системе Windows от 7 версии и выше ЭЦП хранится по адресу:

C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates. Вместо ПОЛЬЗОВАТЕЛЬ требуется указать наименование используемого компьютера.

Что такое сертификат ЭЦП и зачем он нужен мы рассказали в нашей статье.

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

Как выглядит ЭЦП
Важно отметить, что большинство ошибок при работе с ЭЦП можно устранить в домашних условиях, без необходимости привлечения специалистов со стороны.

Содержание

  • Какие виды ошибок ЭЦП бывают
  • Проблема с подписанием ЭПЦ
  • Как проявляется данная ошибка и что сделать, чтобы исправить
  • Проблема с сертификатом
  • Что делать если не найден сертификат или не верен
  • Проблемы при авторизации

Какие виды ошибок ЭЦП бывают

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

Проблема с подписанием ЭПЦ. Возникает в момент, когда владелец подписи желает использовать ее при подписании электронного документа.

Проблема с сертификатом. Здесь система информирует пользователя об отсутствии (не действительности), либо использовании незарегистрированного сертификата удостоверяющего центра, необходимого для внешней проверки ЭП.

Проблемы при авторизации. Появляется при проверке пользователя, когда владелец электронной подписи впервые пытается зайти на электронную площадку с подтверждением личности через ЭЦП.

Проблема с подписанием ЭПЦ

Причины, вызывающие подобную ошибку весьма разнообразны. Тут можно выделить такие основные направления:

  • Закрытый ключ со съемного носителя (диска, флешки, Токена), не соответствует имеющемуся ключу открытого сертификата. Банальный человеческий фактор выбора не того носителя информации с ЭЦП. Если же «правильный» ключ утерян, придется обращаться в Удостоверяющий центр для перевыпуска.
  • Недействительный сертификат. Чтобы устранить подобную ошибку потребуется переустановить открытый сертификат. Важно учитывать требования криптопровайдера (инструкции по необходимым действиям) для установки открытых сертификатов.
  • Сертификат подписи определяется как не проверенный. Потребуется выполнить переустановку корневого сертификата, сформировавшего ЭП Удостоверяющего центра.
  • Закончился срок действия криптопровайдера. Необходимо получить новый лицензионный ключ, позволяющий работать с программным обеспечением криптопровайдера. Информация запрашивается через УЦ, либо владельца ПО.
  • Не виден сертификат на носителе. Помогает простая перезагрузка компьютера для устранения ошибка генерации.
  • Алгоритм сертификата ЭЦП не поддерживается. Подобная ошибка может возникать при подписании электронной отчетности в налоговую. Потребуется переустановить КриптоПро CSP и проверить его на совместительство с имеющейся у вас на компьютере операционной системой.

Как проявляется данная ошибка и что сделать, чтобы исправить

Ошибка исполнения функции с информированием о невозможности подписать документ ЭЦП обычно появляется в момент подписания документа.

Система сразу выводит на экран уведомление о непредвиденной ошибке с кратким указанием причины ее возникновения.

Обычно для ее исправления требуются такие действия:

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

Важно. Причина, из-за которой владелец ЭЦП не может нею воспользоваться, может быть комплексной. Поэтому, если не сработал один из предложенных вариантов, проверьте по другим направлениям.

Проблема с сертификатом

Распространенным явлением во время подписания электронных документов ЭЦП является получение уведомления, что системе не удалось получить доступ к сертификатам, пригодным для формирования подписи.

Здесь причины возникновения неисправности могут быть такими:

  1. Пользователь не установил на свой ПК корневые сертификаты УЦ, осуществлявшего формирование и выдачу ЭЦП. Для устранения – скачать и установить на компьютер такой сертификат, либо прописать доступ к нему.
  2. Система не видит личных сертификатов владельца ЭЦП. Выдаются одновременно с оформлением ЭП. Их необходимо загрузить на ваш ПК, и подтянуть в криптопровайдер. В дальнейшем можно загрузить через сайт УЦ. Устанавливаются и прописываются на рабочем месте, предназначенном для работы с ЭЦП. С незарегистрированным сертификатом вы не сможете осуществлять подписание электронных документов.
  3. Информирование о невалидности сертификатов. Обычно такое возможно в случае, когда заканчивается срок действия сертификата, либо их отзывают. Потребуется обращаться в УЦ, выдавший ЭЦП, для уточнения статуса сертификатов подписи. В некоторых случаях помогает обновление сертификатов на компьютере пользователя. Сделать это можно вручную.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

Внимательно читайте природу ошибки, что выдает система. Обычно это ключ к дальнейшему направлению поиска источника проблемы и ее устранению.

Что делать если не найден сертификат или не верен

Когда сертификат отсутствует в списке «Ваши Сертификаты», проблема может оказаться в отсутствии коренного сертификата УЦ.

Для устранения этой проблемы необходимо:

  • проверить наличие такого сертификата на вашем ПК по пути: «Пуск» — дальше «Все программы» — после этого плагин «КриптоПро» — а уже там «Сертификаты»;
  • дальше находим вкладку «Личное», выбираем «Сертификаты»;

Раздел сертификаты

  • потребуется открыть не отображенный во вкладке сертификат и просмотреть его «Путь сертификации»;
  • тут отображаются все цепочки сертификатов в порядке ранжирования. Важно чтобы напротив какого-то из них не стоял желтый, либо красный значок предупреждения. Если подобное присутствует – нажмите на сам сертификат и ознакомьтесь с ошибкой, что выдаст система;
  • в зависимости от причины (обычно это окончание действия сертификата, либо не верифицирован) выполните ее устранение.

Чтобы устранить ошибку и перезагрузить отозванный сертификат потребуется выполнить несколько не сложных действий:

  • в окне «Свойства браузера» откройте личный сертификат. Попасть туда можно через «Поиск» меню «Пуск». В открытом окошке ищите вкладку «Содержание», дальше вкладку «Сертификаты»;
  • после этого во вкладке «Состав» потребуется выбрать позицию «Точки распространения списков отзывов»;
  • в следующем блоке под названием «Имя точки распространения» необходимо выполнить копирование ссылки загрузки файла списка отзывов;
  • переходя по указанной ссылке необходимо скачать и установить файл списка отзывов (CRL);
  • дальше переходим по подсказкам «Мастера импорта сертификатов».

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

  1. На носителе отсутствует драйвер, либо он установлен не корректно. Необходимо скачать последнюю версию драйвера с официального источника и установите его. Можно проверить работоспособность съемного носителя на другом ПК. В этом случае, если другой ПК нормально работает с носителем ЭЦП, переустановите драйверы на первом компьютере.
  2. Система долго распознает носитель ЭЦП. Тут проблема в операционной системе. Ее потребуется обновить до минимального уровня, требуемого для работы с ЭЦП.
  3. USB-порт работает не корректно. Попробуйте подсоединить Токен (флешку) через другой порт, либо на другом ПК, чтобы убедиться, что проблема не в носителе. Выполните перезагрузку компьютера.
  4. Если Токин (флешка) не открывается ни на одном компьютере, значит проблема в носителе. Когда ключ был записан в единственном экземпляре на этот носитель – потребуется обращаться в УЦ для перевыпуска ЭЦП.

Важно. Перед вынесением «окончательного вердикта» касательно работоспособности носителя и сертификата, не поленитесь выполнить их проверку через несколько различных источников.

Проблемы при авторизации

Часто с подобными неприятностями сталкиваются владельцы ЭЦП, пытающиеся пройти регистрацию, либо авторизацию на различных электронных торговых площадках. Пользователю появляется уведомление, что его подпись не авторизирована.

Обычно проблема кроется:

  1. Отсутствие регистрации. Потребуется попросту зарегистрироваться на избранном вами ресурсе.
  2. Не зарегистрирован сертификат. Возникает после обновления ключа ЭЦП. Устраняется путем регистрации нового сертификата ключа ЭЦП.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

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

В дальнейшем, при работе на самой электронной площадке и попытке подписать электронные документы, могут возникать дополнительные трудности, связанные с такими моментами:

  1. Необходимости присоединиться к регламенту. Система не даст возможность полноценно работать, если вы не согласитесь с ее условиями.
  2. Невозможность загрузить файл (файлы). Обычно это ошибка превышения размера информации, что допустима для загрузки. Просто смените формат разрешения файла, чтобы уменьшить его размер.
  3. Требование использовать определенный браузер (определенную версию браузера). Это системные требования владельца площадки, которые необходимо соблюдать.
  4. Проблемы со считыванием сертификатов. Потребуется проверить не просрочены ли ваши сертификаты, а также все ли они установлены на ПК.

Что значит er 10002 неопределенная ошибка при проверке ЭЦП, что делать?

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

Ошибка 52 цифровая подпись

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

Почему компьютер не видит ЭЦП?

Несоответствие программного продукта операционной системы и съемного носителя (флешки), либо повреждение флешки. Устраняется путем обновления операционной системы до минимально необходимой версии. В случае обнаружения повреждения флешки – может потребоваться перевыпуск ЭЦП удостоверяющим центром.

Почему КриптоПро не отображает ЭЦП?

Потребуется выполнить определенные настройки вашего браузера и добавить программу в меню веб-обозревателя, а также загрузить недостающие сертификаты ЭЦП.

Где на компьютере искать сертификаты ЭЦП?

Хранение сертификатов в Windows (от 7 версии) осуществляется по адресу: C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates

где вместо «ПОЛЬЗОВАТЕЛЬ» должно стоять наименование вашего ПК

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

Как выглядит ЭЦП
Важно отметить, что большинство ошибок при работе с ЭЦП можно устранить в домашних условиях, без необходимости привлечения специалистов со стороны.

Содержание

  • Какие виды ошибок ЭЦП бывают
  • Проблема с подписанием ЭПЦ
  • Как проявляется данная ошибка и что сделать, чтобы исправить
  • Проблема с сертификатом
  • Что делать если не найден сертификат или не верен
  • Проблемы при авторизации

Какие виды ошибок ЭЦП бывают

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

Проблема с подписанием ЭПЦ. Возникает в момент, когда владелец подписи желает использовать ее при подписании электронного документа.

Проблема с сертификатом. Здесь система информирует пользователя об отсутствии (не действительности), либо использовании незарегистрированного сертификата удостоверяющего центра, необходимого для внешней проверки ЭП.

Проблемы при авторизации. Появляется при проверке пользователя, когда владелец электронной подписи впервые пытается зайти на электронную площадку с подтверждением личности через ЭЦП.

Проблема с подписанием ЭПЦ

Причины, вызывающие подобную ошибку весьма разнообразны. Тут можно выделить такие основные направления:

  • Закрытый ключ со съемного носителя (диска, флешки, Токена), не соответствует имеющемуся ключу открытого сертификата. Банальный человеческий фактор выбора не того носителя информации с ЭЦП. Если же «правильный» ключ утерян, придется обращаться в Удостоверяющий центр для перевыпуска.
  • Недействительный сертификат. Чтобы устранить подобную ошибку потребуется переустановить открытый сертификат. Важно учитывать требования криптопровайдера (инструкции по необходимым действиям) для установки открытых сертификатов.
  • Сертификат подписи определяется как не проверенный. Потребуется выполнить переустановку корневого сертификата, сформировавшего ЭП Удостоверяющего центра.
  • Закончился срок действия криптопровайдера. Необходимо получить новый лицензионный ключ, позволяющий работать с программным обеспечением криптопровайдера. Информация запрашивается через УЦ, либо владельца ПО.
  • Не виден сертификат на носителе. Помогает простая перезагрузка компьютера для устранения ошибка генерации.
  • Алгоритм сертификата ЭЦП не поддерживается. Подобная ошибка может возникать при подписании электронной отчетности в налоговую. Потребуется переустановить КриптоПро CSP и проверить его на совместительство с имеющейся у вас на компьютере операционной системой.

Как проявляется данная ошибка и что сделать, чтобы исправить

Ошибка исполнения функции с информированием о невозможности подписать документ ЭЦП обычно появляется в момент подписания документа.

Система сразу выводит на экран уведомление о непредвиденной ошибке с кратким указанием причины ее возникновения.

Обычно для ее исправления требуются такие действия:

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

Важно. Причина, из-за которой владелец ЭЦП не может нею воспользоваться, может быть комплексной. Поэтому, если не сработал один из предложенных вариантов, проверьте по другим направлениям.

Проблема с сертификатом

Распространенным явлением во время подписания электронных документов ЭЦП является получение уведомления, что системе не удалось получить доступ к сертификатам, пригодным для формирования подписи.

Здесь причины возникновения неисправности могут быть такими:

  1. Пользователь не установил на свой ПК корневые сертификаты УЦ, осуществлявшего формирование и выдачу ЭЦП. Для устранения – скачать и установить на компьютер такой сертификат, либо прописать доступ к нему.
  2. Система не видит личных сертификатов владельца ЭЦП. Выдаются одновременно с оформлением ЭП. Их необходимо загрузить на ваш ПК, и подтянуть в криптопровайдер. В дальнейшем можно загрузить через сайт УЦ. Устанавливаются и прописываются на рабочем месте, предназначенном для работы с ЭЦП. С незарегистрированным сертификатом вы не сможете осуществлять подписание электронных документов.
  3. Информирование о невалидности сертификатов. Обычно такое возможно в случае, когда заканчивается срок действия сертификата, либо их отзывают. Потребуется обращаться в УЦ, выдавший ЭЦП, для уточнения статуса сертификатов подписи. В некоторых случаях помогает обновление сертификатов на компьютере пользователя. Сделать это можно вручную.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

Внимательно читайте природу ошибки, что выдает система. Обычно это ключ к дальнейшему направлению поиска источника проблемы и ее устранению.

Что делать если не найден сертификат или не верен

Когда сертификат отсутствует в списке «Ваши Сертификаты», проблема может оказаться в отсутствии коренного сертификата УЦ.

Для устранения этой проблемы необходимо:

  • проверить наличие такого сертификата на вашем ПК по пути: «Пуск» — дальше «Все программы» — после этого плагин «КриптоПро» — а уже там «Сертификаты»;
  • дальше находим вкладку «Личное», выбираем «Сертификаты»;

Раздел сертификаты

  • потребуется открыть не отображенный во вкладке сертификат и просмотреть его «Путь сертификации»;
  • тут отображаются все цепочки сертификатов в порядке ранжирования. Важно чтобы напротив какого-то из них не стоял желтый, либо красный значок предупреждения. Если подобное присутствует – нажмите на сам сертификат и ознакомьтесь с ошибкой, что выдаст система;
  • в зависимости от причины (обычно это окончание действия сертификата, либо не верифицирован) выполните ее устранение.

Чтобы устранить ошибку и перезагрузить отозванный сертификат потребуется выполнить несколько не сложных действий:

  • в окне «Свойства браузера» откройте личный сертификат. Попасть туда можно через «Поиск» меню «Пуск». В открытом окошке ищите вкладку «Содержание», дальше вкладку «Сертификаты»;
  • после этого во вкладке «Состав» потребуется выбрать позицию «Точки распространения списков отзывов»;
  • в следующем блоке под названием «Имя точки распространения» необходимо выполнить копирование ссылки загрузки файла списка отзывов;
  • переходя по указанной ссылке необходимо скачать и установить файл списка отзывов (CRL);
  • дальше переходим по подсказкам «Мастера импорта сертификатов».

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

  1. На носителе отсутствует драйвер, либо он установлен не корректно. Необходимо скачать последнюю версию драйвера с официального источника и установите его. Можно проверить работоспособность съемного носителя на другом ПК. В этом случае, если другой ПК нормально работает с носителем ЭЦП, переустановите драйверы на первом компьютере.
  2. Система долго распознает носитель ЭЦП. Тут проблема в операционной системе. Ее потребуется обновить до минимального уровня, требуемого для работы с ЭЦП.
  3. USB-порт работает не корректно. Попробуйте подсоединить Токен (флешку) через другой порт, либо на другом ПК, чтобы убедиться, что проблема не в носителе. Выполните перезагрузку компьютера.
  4. Если Токин (флешка) не открывается ни на одном компьютере, значит проблема в носителе. Когда ключ был записан в единственном экземпляре на этот носитель – потребуется обращаться в УЦ для перевыпуска ЭЦП.

Важно. Перед вынесением «окончательного вердикта» касательно работоспособности носителя и сертификата, не поленитесь выполнить их проверку через несколько различных источников.

Проблемы при авторизации

Часто с подобными неприятностями сталкиваются владельцы ЭЦП, пытающиеся пройти регистрацию, либо авторизацию на различных электронных торговых площадках. Пользователю появляется уведомление, что его подпись не авторизирована.

Обычно проблема кроется:

  1. Отсутствие регистрации. Потребуется попросту зарегистрироваться на избранном вами ресурсе.
  2. Не зарегистрирован сертификат. Возникает после обновления ключа ЭЦП. Устраняется путем регистрации нового сертификата ключа ЭЦП.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

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

В дальнейшем, при работе на самой электронной площадке и попытке подписать электронные документы, могут возникать дополнительные трудности, связанные с такими моментами:

  1. Необходимости присоединиться к регламенту. Система не даст возможность полноценно работать, если вы не согласитесь с ее условиями.
  2. Невозможность загрузить файл (файлы). Обычно это ошибка превышения размера информации, что допустима для загрузки. Просто смените формат разрешения файла, чтобы уменьшить его размер.
  3. Требование использовать определенный браузер (определенную версию браузера). Это системные требования владельца площадки, которые необходимо соблюдать.
  4. Проблемы со считыванием сертификатов. Потребуется проверить не просрочены ли ваши сертификаты, а также все ли они установлены на ПК.

Что значит er 10002 неопределенная ошибка при проверке ЭЦП, что делать?

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

Ошибка 52 цифровая подпись

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

Почему компьютер не видит ЭЦП?

Несоответствие программного продукта операционной системы и съемного носителя (флешки), либо повреждение флешки. Устраняется путем обновления операционной системы до минимально необходимой версии. В случае обнаружения повреждения флешки – может потребоваться перевыпуск ЭЦП удостоверяющим центром.

Почему КриптоПро не отображает ЭЦП?

Потребуется выполнить определенные настройки вашего браузера и добавить программу в меню веб-обозревателя, а также загрузить недостающие сертификаты ЭЦП.

Где на компьютере искать сертификаты ЭЦП?

Хранение сертификатов в Windows (от 7 версии) осуществляется по адресу: C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates

где вместо «ПОЛЬЗОВАТЕЛЬ» должно стоять наименование вашего ПК

Область применения электронной подписи (ЭП или ЭЦП) довольно широка. Например, многие специальные сервисы требуют верификации пользователя с её помощью: Госуслуги, онлайн-сервисы для управления средствами в банке, электронные площадки и другие. Поэтому любые технические неполадки, возникающие при использовании ЭЦП, могут вызвать различные серьёзные: от упущенной выгоды до материальных убытков.

Какие бывают ошибки

Проблемы при использовании ЭП, с которыми пользователи встречаются чаще всего, можно условно разделить на три группы:

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

Рассмотрим неполадки подробнее и разберёмся, как их решать.

Сертификат не найден

Иногда при попытке подписать электронный документ с помощью ЭП пользователь может столкнуться с ошибкой «Не удалось найти ни одного сертификата, пригодного для создания подписи».

У подобных ошибок могут быть следующие причины:

  1. На компьютере не установлены корневые сертификаты Удостоверяющего Центра (УЦ), в котором была получена ЭП. Необходимо установить либо обновить корневой сертификат. Установка корневых сертификатов удостоверяющего центра подробно описана в нашей инструкции.
  2. На ПК не установлено ни одного личного сертификата ЭП. Для применения ЭП необходимы и личные сертификаты. Об их установке мы писали в другой статье.
  3. Установленные на компьютере необходимые сертификаты не валидны. Сертификаты отозваны или просрочены. Уточните статус сертификата в УЦ. Ошибка с текстом «Ваш сертификат ключа подписи включён в список отозванных» возникает, если у сертификата закончился срок действия или на ПК нужно обновить список сертификатов. В последней ситуации следует вручную загрузить перечень отозванных сертификатов.

Для установки списка отозванных сертификатов:

  • Откройте личный сертификат пользователя в окне Свойства браузера. Чтобы открыть его, наберите «Свойства браузера» в поисковой строке меню Пуск. Перейдите во вкладку Содержание и нажмите кнопку «Сертификаты».
  • личный сертификат1

  • Во вкладке Состав выберите из списка пункт «Точки распространения списков отзыва».
  • В блоке Имя точки распространения скопируйте ссылку на загрузку файла со списком отзыва.
  • Имя точки2

  • Скачайте по указанной ссылке файл. Нажмите по нему правой кнопкой мыши и выберите в контекстном меню «Установить список отзыва (CRL)».
  • Следуйте указаниям «Мастера импорта сертификатов».

Не виден сертификат на носителе

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

К наиболее распространённым причинам такой проблемы относятся следующие случаи:

  1. Драйвер носителя не установлен или установлен некорректно. Для решения проблемы необходимо извлечь носитель электронной подписи из ПК и скачать последнюю версию драйвера носителя с официальных ресурсов. Если переустановка драйвера не помогла, подключите носитель к другому ПК, чтобы убедиться в исправности токена. Если токен определится другой системой, попробуйте удалить на неисправном компьютере драйвер носителя и установить его заново.
  2. Долгое опознание носителя. Для решения проблемы необходимо дождаться завершения процесса или обновить версию операционной системы.
  3. Некорректная работа USB-порта. Подключите токен к другому USB-порту, чтобы убедиться, что проблема не в носителе ЭП. Если система определила токен, перезагрузите компьютер. Если это не поможет, следует обратиться службу технической поддержки.
  4. Неисправность носителя. Если при подключении токена к другому компьютеру или USB-порту система не определяет его, значит, проблема в самом носителе. Устранение неисправности возможно в данном случае лишь одним путём — нужно обратиться в сервисный центр для выпуска нового носителя.

ЭП не подписывает документ

Причин у подобной проблемы множество. Каждый случай требует отдельной проверки. Среди самых распространённых можно выделить следующие неполадки:

  1. Закрытый ключ на используемом контейнере не соответствует открытому ключу сертификата. Возможно, был выбран не тот контейнер, поэтому следует проверить все закрытые контейнеры на компьютере. Если необходимый контейнер по тем или иным причинам отсутствует, владельцу придётся обращаться в удостоверяющий центр для перевыпуска ЭП.
  2. Ошибка «Сертификат недействителен» (certificate is not valid). Следует повторно установить сертификат ЭП по инструкциям УЦ в зависимости от используемого криптопровайдера — КриптоПро CSP, ViPNet CSP или другого.
  3. Сертификат ЭП определяется как непроверенный. В этом случае необходимо переустановить корневой сертификат удостоверяющего центра.
  4. Истёк срок действия криптопровайдера. Для решения этой проблемы необходим новый лицензионный ключ к программе-криптопровайдеру. Для его получения необходимо обращаться к специалистам УЦ или к ответственным сотрудникам своей организации.
  5. Подключён носитель с другим сертификатом. Убедитесь, что подключён правильный токен. Проверьте также, не подключены ли носители других сертификатов. Отключите другие носители в случае их обнаружения.

В момент подписания электронных документов или формирования запроса в различных может возникнуть ошибка «Невозможно создание объекта сервером программирования объектов».

подписания3

В этой ситуации помогает установка и регистрация библиотеки Capicom:

  1. Скачайте файл архива.
  2. Распакуйте и переместите файлы capicom.dll и capicom.inf в каталог syswow64, находящийся в корневой папке ОС.
  3. Откройте командную строку от имени администратора — для этого в меню Пуск наберите «Командная строка», нажмите по найденному приложению правой кнопкой мыши и выберите Запуск от имени администратора.
  4. «Командная строка»4

  5. Введите «c:windowssyswow64regsvr32.exe capicom.dll» (без кавычек) и нажмите ENTER. Должно появиться уведомление о том, что команда выполнена успешно.
  6. нажмите ENTER5

Выбранная подпись не авторизована

Подобная ошибка возникает при попытке авторизации в личном кабинете на электронных торговых площадках. Например, при входе на площадку ZakazRF отображается сообщение «Выбранная ЭЦП не авторизована».

площадку ZakazRF6

Эта ошибка возникает из-за того, что пользователь не зарегистрирован на площадке, либо не зарегистрирован новый сертификат ключа ЭП. Решением проблемы будет регистрация нового сертификата.

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

Часто задаваемые вопросы

Почему компьютер не видит ЭЦП?

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

О том, что делать, если компьютер не видит ЭЦП и о способах проверки настроек, мы подробно писали в нашей статье.

Почему КриптоПро не отображает ЭЦП?

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

Подробнее ознакомиться, как устранить данную неисправность можно в нашей статье.

Где на компьютере искать сертификаты ЭЦП?

Сертификат ЭЦП позволяет проверить подлинность подписи, содержит в себе срок её действия и информацию о владельце. Он автоматически загружается в папку с системными файлами. В операционной системе Windows от 7 версии и выше ЭЦП хранится по адресу:

C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates. Вместо ПОЛЬЗОВАТЕЛЬ требуется указать наименование используемого компьютера.

Что такое сертификат ЭЦП и зачем он нужен мы рассказали в нашей статье.

Неверная электронная подпись — это ЭП, которая не работает и не верифицирует документы. Ошибки возникают как с ключом ЭЦП, так и с ее сертификатом.

Какие ошибки возникают при работе с ЭП

Наличие у организации ЭП — необходимое условие для ЭДО с контрагентами и для осуществления закупочной деятельности в Единой информационной системе и на электронных торговых площадках. Физические лица тоже используют электронную подпись для отправки определенных документов на Госуслугах или ведомственных сайтах.

Порядок генерации, регистрации и применения электронной подписи закреплен в 63-ФЗ от 06.04.2011. Иногда при подписании документации ЭП не срабатывает. Есть несколько причин, почему электронная подпись недействительна или не работает:

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

Компьютер не видит ЭЦП

Если ПК или браузер не видит электронную подпись, отобразится уведомление о том, что не удалось найти сертификат. Причин возникновения такой неполадки и вариантов ее устранения несколько:

  1. Пользователь не установил на рабочий компьютер корневой сертификат (КС) удостоверяющего центра, в котором получил ЭП. Исправить просто: установите или обновите КС.
  2. Пользователь не установил личный сертификат (ЛС). Он тоже необходим для корректной работы ЭП. Решение аналогично — установить ЛС.
  3. КС или ЛС невалидны, то есть недействительны. Это означает, что у них закончился срок действия либо их отозвали. Решение — уточнить статус ЛС в удостоверяющем центре или обновить перечень сертификатов в пользовательском компьютере.

Если вы используете недопустимое средство электронной подписи (просроченное или отозванное), обновите сертификаты в удостоверяющем центре.

Список сертификатов на ПК обновляется и вручную — путем загрузки перечня отозванных ЛС. Вот инструкция, как это сделать:

Шаг 1. Открыть ЛС в свойствах браузера, найти его в специальном разделе.

электронная подпись не прошла проверку

Шаг 2. Зайти во вкладку «Состав» и выбрать «Точки распространения списков отзыва».

Шаг 3. Найти блок «Имя точки распространения». Скопировать ссылку для загрузки перечня отозванных ЛС.

Шаг 4. Скачать файл по ссылке. Нажать на документ правой кнопкой мыши и выбрать «Установить список отзыва».

Шаг 5. Импортировать в соответствии с инструкцией, предложенной мастером импорта.

ЭП не видна на носителе

Еще одна причина, почему при подписании электронной подписью выдает ошибку, — ЛС не отображается на носителе. Есть два решения:

  1. Перегрузить ПК, чтобы исключить сбой работы программы.
  2. Установить (если ранее не устанавливали) или переустановить драйвер носителя. Для установки или переустановки потребуется скачать драйвер с официального сайта носителя или токена.

Помимо проблем с драйверами и программным обеспечением, на работу носителя влияет состояние USB-порта пользовательского компьютера. В таком случае необходимо обновить порт или перенести КС и ЛС на другой компьютер. Кроме того, неисправности обнаруживаются и в самом носителе. Это легко проверить: просто подключите флеш-накопитель или токен к другому ПК. Если он не отзывается, это означает, что носитель сломался. В такой ситуации потребуется перевыпустить носитель.

Возникла ошибка генерации ключа ЭП

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

При подписании деклараций и других документов периодически возникает ошибка генерации электронной подписи, то есть сертификата ЭП. Причины — технические работы на официальных ресурсах ФНС и сбои из-за длительного ожидания генерации (процедура занимает от 30 минут до 2 дней).

Вот как исправить проблему с генерацией:

  1. Проверить установку дополнительного ПО для генерации кодировки. Система предлагает установить ее автоматически по специальной ссылке.
  2. Повторно загрузить сертификат.
  3. Лично обратиться в территориальную ИФНС с паспортом и ИНН заявителя (если нет возможности сгенерировать ключ самостоятельно).

Выбранная подпись не авторизована

В 63-ФЗ разъясняется, почему электронная подпись не подписывает документы, — из-за отсутствия пользовательской авторизации или регистрации ЭП. Такая проблема возникает на торговых площадках: при неполадках система отправляет уведомление «Выбранная ЭЦП не авторизована».

почему электронная подпись не проходит проверку сертификата

Решение очевидно: зарегистрировать ЭП и пройти авторизацию на торговой площадке или ином ресурсе. У каждого сервиса — индивидуальная инструкция по авторизации пользователей.

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

Не поддерживается алгоритм сертификата ЭП

Если ЭП не прошла проверку и не подписывает документ, следует переустановить КС, полученный от удостоверяющего центра. Но иногда этого недостаточно. Когда возникает ошибка, связанная с отсутствием поддержки алгоритма ключа, потребуется переустановка программы криптозащиты — актуальной версии КриптоПро CSP. Кроме того, необходимо проверить ее совместимость с программными компонентами операционной системы.

Пользователь ищет закрытый ключ ЭП в хранилище сертификатов. Затем следует установить утилиту КриптоПро.net и архив Windows SDK (подходит любая версия, начиная от 1.0.48668.1). Если и это не помогло, надлежит переустановить операционную систему пользовательского компьютера.


Offline

EVoynov

 


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

22 марта 2012 г. 18:30:44(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Стоит следующая задача.
В системе документооборота хранятся документы + некоторые мета-данные к ним.
Требуется на некоторых этапах подготовки этих документов подписать отделенной УЭЦП текущую версию документа + его мета-данные.
Для случая базовой ЭЦП все уже реализовано и работает несколько лет на базе CAPICOM и ActiveX из Javascript.

Вот код, который проводит подписание для отделенной подписи и для совмещенной и для обоих случаев выдает сообщение — успешно ли прошла проверка.

Код:


var g_sTsaAddress = "http://sp.ekey.ru/tsp/tsp.srf";
	var CAPICOM_STORE_OPEN_READ_ONLY = 0;
	var CAPICOM_CURRENT_USER_STORE = 2;
	var CAPICOM_MY_STORE = "My";
	var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
	var MICROSOFT_INTERNET_EXPLORER = 'Microsoft Internet Explorer';
	var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
	var CADESCOM_BASE64_TO_BINARY = 0x01;
	var CAPICOM_ENCODE_BASE64 = 0;

	var g_bDetached = true;

	function isCadESPluginInstalled() {
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			try {
				var obj = new ActiveXObject("CAdESCOM.CPSigner");
				return true;
			}
			catch (err) {}
			break;
		default:
			var mimetype = navigator.mimeTypes["application/x-cades"];
			if (mimetype) {
				var plugin = mimetype.enabledPlugin;
				if (plugin) {
					return true;
				}
			}
		}
		return false;
	}

	function selectCertificate() {
		if (isCadESPluginInstalled() ) {
			var MyStore = CreateObject("CAPICOM.Store");
			MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);

			var Certificates = MyStore.Certificates;
			if (Certificates.Count == 0) {
				alert("Нет сертификатов");
				return;
			} else if (Certificates.Count != 1) {
				Certificates = Certificates.Select("Список", "Выберите");
			}

			return Certificates.Item(1);
		}
		throw "Nothing selected";
	}

	function GetErrorMessage(e) {
		return e.message + " (" + e.number + ")";
	}

	// Функция активации объектов КриптоПро ЭЦП Browser plug-in
	function CreateObject(name) {
		var resultObject;
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			resultObject = new ActiveXObject(name);
			break;
		default:
			var cadesobject = document.getElementById("cadesplugin");
			resultObject = cadesobject.CreateObject(name);
		}
		if (resultObject && resultObject != undefined) {
			return resultObject;
		} else {
			throw "Object '" + name + "' does not created."
		}
	}

	function SignCreate(oCertificate, dataToSign) {
		var oSigner = CreateObject("CAdESCOM.CPSigner");
		oSigner.Certificate = oCertificate;
		oSigner.TSAAddress = "http://sp.ekey.ru/tsp/tsp.srf";

		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
		oSignedData.Content = dataToSign;

		try {
			var sSignedMessage =
					oSignedData.SignCades(oSigner,
							CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
			document.writeln("<h1>Signature value (detached = " + g_bDetached + "): </h1>");
			document.writeln(sSignedMessage);
			document.writeln("");
		} catch (err) {
			alert("Failed to create signature. Error: " + GetErrorMessage(err));
			return;
		}
		return sSignedMessage;
	}

	function Verify(sSignedMessage, dataToSign) {
		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		if (g_bDetached) {
			oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
			oSignedData.Content = dataToSign;
			alert("Signature is detached");
		} else {
			alert("Signature is not detached");
		}
		try {
			oSignedData.VerifyCades(sSignedMessage,
					CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
		} catch (err) {
			alert("Failed to verify signature. Error: " + GetErrorMessage(err));
			return false;
		}

		return true;
	}

	function run() {
		var oCertificate = selectCertificate();
		g_bDetached = true;
		testCase(oCertificate);
		g_bDetached = false;
		testCase(oCertificate);
	}

	function testCase(oCertificate) {
		// строка 'CryptoPro' - в Base64
		// перекодировал тут: http://www.motobit.com/util/base64-decoder-encoder.asp
		var signedMessage = SignCreate(oCertificate, "Q3J5cHRvUHJv");
		var verifyResult = Verify(signedMessage);
		if (verifyResult) {
			alert("Signature is valid when detached: " + g_bDetached);
		} else {
			alert("Signature is not valid when detached: " + g_bDetached);
		}
	}

Проблема в том, что в случае отделенной подписи проверка упорно не проходит, хотя была применена рекомендация на счет указания кодировки до передачи контента (CADESCOM_BASE64_TO_BINARY) от Новожиловой Елены из соседней темы форума.

Прошу помочь мне разобраться в проблеме и указать на возможные причины ошибки.
Ошибку получаю такую (только в случае g_bDetached = true):


Message from webpage


Failed to verify signature. Error: The hash value is not correct. (-2146889721)


OK
—————————

Вложение(я):

testCades.html (5kb) загружен 24 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.


Вверх

WWW


Offline

Новожилова Елена

 


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

22 марта 2012 г. 20:03:12(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Вы в функцию Verify передаете только один параметр — само подписанное сообщение.

Вместо:

Код:

var verifyResult = Verify(signedMessage);

должно быть:

Код:

var verifyResult = Verify(signedMessage, "Q3J5cHRvUHJv");

Вверх

Offline

EVoynov

 


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

22 марта 2012 г. 20:18:55(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Елена, огромное вам спасибо. Стыдно, что из-за такого промаха в итоге пришлось задать вопрос. Действительно, теперь оба варианта работают.


Вверх

WWW


Offline

dennioushen

 


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

19 октября 2012 г. 15:47:26(UTC)

dennioushen

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

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

Зарегистрирован: 06.07.2011(UTC)
Сообщений: 32
Мужчина
Откуда: Москва

Дабы не создавать похожую тему.

Использую для проверки подписи Пример 3.
Если правильно понимаю, могу ли использовать код ниже ( quote — проверка) узнать (выдать на экран сообщение) подписано или нет, или я бурду подсунул?!

Проверка подписи написал:

Option Explicit

Const CAPICOM_VERIFY_SIGNATURE_ONLY = 0
Const ForReading = 1

Dim oSignedData
Set oSignedData = CreateObject(«CAdESCOM.CadesSignedData»)
‘ Загрузка подписанных данных для проверки.
Dim Message : Message = LoadFile(«kolya.sig»)
‘ Подпись совмещенная.
oSignedData.Verify Message, False

Function LoadFile (FileName)
Dim fso
Set fso = CreateObject(«Scripting.FileSystemObject»)
If Not fso.FileExists(FileName) Then
Err.Raise vbObjectError+1, «LoadFile», «File not found»
End If
Dim ts
Set ts = fso.OpenTextFile(FileName, ForReading)
LoadFile = ts.ReadAll
End Function

Проверка написал:

function Verify(sSignedMessage, dataToSign) {
var oSignedData = CreateObject(«CAdESCOM.CadesSignedData»);
if (g_bDetached) {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToSign;
alert(«Signature is detached»);
} else {
alert(«Signature is not detached»);
}
try {
oSignedData.VerifyCades(sSignedMessage,
CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
} catch (err) {
alert(«Failed to verify signature. Error: » + GetErrorMessage(err));
return false;
}

return true;
}

Отредактировано пользователем 19 октября 2012 г. 16:34:47(UTC)
 | Причина: Не указана

Семья тебя простит… Дон Корлеоне


Вверх

WWW


Offline

Новожилова Елена

 


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

23 октября 2012 г. 18:32:53(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Не поняла, в чем вопрос.


Вверх

Offline

dmishin

 


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

14 февраля 2013 г. 12:04:35(UTC)

dmishin

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

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

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

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

Столкнулся с ошибкой:

Certificates.Select is not a function

Не подскажите в чем может быть проблема?

P.S.
Увидел в справке, что для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Отредактировано пользователем 14 февраля 2013 г. 12:07:02(UTC)
 | Причина: Не указана


Вверх

Offline

NikChaew

 


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

16 января 2014 г. 22:18:16(UTC)

NikChaew

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

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

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

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.


Вверх

Online

Андрей Писарев

 


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

16 января 2014 г. 22:29:59(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

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


Вверх

WWW


Online

Андрей Писарев

 


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

16 января 2014 г. 22:36:42(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Объект Certificates

Цитата:

В отличие от объекта Microsoft CAPICOM.Certificates,
для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Замечание:
В CAdESCOM данный объект доступен только на платформе x64. На платформе win32 следует использовать объект Microsoft CAPICOM.Certificates .

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


Вверх

WWW


Online

Андрей Писарев

 


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

16 января 2014 г. 22:38:30(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

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

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

и функцию FillCertList(lstId)

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


Вверх

WWW

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

Guest

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

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

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

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

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

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

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

  • Remove From My Forums
  • Question

  • Hi,

    The installer of VS Community 2015 Update 2 fails with message:

    Windows 10 SDK (10.0.10586)

    The installer failed. The hash value is not correct. Error code: -2146889721

    (Windows defender is disabled. The content of the %temp% folder was deleted before each attempt. The installers were run as administrator.)

    Then I tried to install Windows Standalone SDK for Windows 10 which also generated an error:

    Unable to verify the integrity of downloaded content. It might be corrupted. Please check your network connection and try again.

    From the log:

    [1BDC:13D8][2016-06-03T19:01:22]i000: package_WPTRedistributables_x86_en_us
    [1BDC:13D8][2016-06-03T19:01:22]i000: package_WPTRedistributables_x86_en_us to
    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi
    [1BDC:13D8][2016-06-03T19:01:22]i338: Acquiring package: package_WPTRedistributables_x86_en_us, payload: package_WPTRedistributables_x86_en_us, download from:

    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Hash mismatch for path: C:UsersrodolAppDataLocalTemp{43d9f43d-c90b-4fdf-9dfe-ecf9990bfa2a}package_WPTRedistributables_x86_en_us, expected: 9C6A5034F854D8DFC32FC08A367BB08735B700D8, actual: 1BAC761B1FC28C7B9157C5BF004033A479B76E75
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to verify payload hash: C:UsersrodolDownloadsWindows Kits10StandaloneSDKInstallersWPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to layout payload from cached payload: C:UsersrodolDownloadsWindows Kits10StandaloneSDKInstallersWPT Redistributables-x86_en-us.msi
    [14F8:1D18][2016-06-03T19:01:24]e000: Error 0x80091007: Failed to layout payload from: C:UsersrodolAppDataLocalTemp{43d9f43d-c90b-4fdf-9dfe-ecf9990bfa2a}package_WPTRedistributables_x86_en_us to C:UsersrodolDownloadsWindows Kits10StandaloneSDK
    [1BDC:13D8][2016-06-03T19:01:24]i000: ERROR: Failed to verify the integrity of payload [package_WPTRedistributables_x86_en_us] for Package package_WPTRedistributables_x86_en_us

    Then I manually downloaded the file five times from:
    http://download.microsoft.com/download/2/1/2/2122BA8F-7EA6-4784-9195-A8CFB7E7388E/StandaloneSDK/Installers/WPT Redistributables-x86_en-us.msi

    Four times the hash was: 1bac761b1fc28c7b9157c5bf004033a479b76e7. 

    One time the hash was: 9c6a5034f854d8dfc32fc08a367bb08735b700d8.

    In other PC with a different internet connection, but still in my country (Chile), I tried five times and the hash was always wrong:

    b5c9c64d3e50ef2f0d4004c6aca7adc75114f5aa

    In a VM in Azure Brazil I tried five times and the hash was always correct:

    9c6a5034f854d8dfc32fc08a367bb08735b700d8

    So, there seems to be a problem with that particular file.

    • Edited by

      Friday, June 3, 2016 11:48 PM

Answers

  • Hi Rodolfo28m,

    Thank you for your post.

    Error 0x80091007,The hash value is not correct» may related to a corrupt installer.

    >>In other PC with a different internet connection

    I suspect the problem is still pending on your network connection, some packages or files are failed to load.

    A community member faced a similar issue as yours, It seems that the cause of the problem is the network ,you may take a look at the following link.

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/2a0837ce-0e93-4175-8f69-35703ec9ee4f/windows-10-sdk-download-failed?forum=vssetup

    So please check your network again and make sure there is no setting that defend your downloading of win 10 sdk.

    Besides, you could also try to repair the Win 10 sdk via control panel to see if it works.

    Best Regards, 


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.

    Click
    HERE to participate the survey.

    • Proposed as answer by
      宝宝徐
      Thursday, June 9, 2016 1:37 AM
    • Marked as answer by
      宝宝徐
      Wednesday, June 15, 2016 5:29 AM
  • Remove From My Forums
  • Question

  • Hello,

    I have an application (deployed over collection) which is working on my test clients. On one Client I am getting the message:

    The software change returned error code 0x80091007 (-2146889721).

    When i check the CAS.log I see that the has value of the application has a probelm.

    On my other test clients the software is working fine.

    The clients are in the same subnet, so no boundary issue.

    Here is the CAS.log

    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache7.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:36 3192 (0x0C78)
    Download completed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System ContentAccess 03.01.2014 14:00:37 3320 (0x0CF8)
    CreateFileW failed for c:windowsccmcache6vcredist_x86vcredist.msi ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    楆敬灏湥 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    潃灭瑵䍥湯整瑮慈桳 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Failed to do hash verification with preference : 4. Try to verify at next hash algorithm ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System, error 0x80091007 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for download request {F8613B9F-A062-495C-ADFD-7D64D6576D15} ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Raising event:
    [SMS_CodePage(437), SMS_LocaleID(1033)]
    instance of SoftDistHashMismatchEvent
    {
     ClientID = «GUID:ff40e989-88f5-49d6-a811-246964969a24»;
     DateTime = «20140103130042.787000+000»;
     MachineName = «SCCM-CAPTURE»;
     PackageId = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageName = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageVersion = «1»;
     ProcessID = 2876;
     SiteCode = «MU1»;
     ThreadID = 3320;
    };
     ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Successfully raised SoftDistHashMismatchEvent event. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache6.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)

    • Edited by

      Friday, January 3, 2014 1:12 PM
      added

Answers

  • Hello I solved the problem,

    the Virus Scanner was the problem. I turned it off an the it was working, even in the OSD.

    • Proposed as answer by
      TorstenMMVP
      Tuesday, January 7, 2014 2:22 PM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM

Область применения электронной подписи (ЭП или ЭЦП) довольно широка. Например, многие специальные сервисы требуют верификации пользователя с её помощью: Госуслуги, онлайн-сервисы для управления средствами в банке, электронные площадки и другие. Поэтому любые технические неполадки, возникающие при использовании ЭЦП, могут вызвать различные серьёзные: от упущенной выгоды до материальных убытков.

Какие бывают ошибки

Проблемы при использовании ЭП, с которыми пользователи встречаются чаще всего, можно условно разделить на три группы:

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

Рассмотрим неполадки подробнее и разберёмся, как их решать.

Сертификат не найден

Иногда при попытке подписать электронный документ с помощью ЭП пользователь может столкнуться с ошибкой «Не удалось найти ни одного сертификата, пригодного для создания подписи».

У подобных ошибок могут быть следующие причины:

  1. На компьютере не установлены корневые сертификаты Удостоверяющего Центра (УЦ), в котором была получена ЭП. Необходимо установить либо обновить корневой сертификат. Установка корневых сертификатов удостоверяющего центра подробно описана в нашей инструкции.
  2. На ПК не установлено ни одного личного сертификата ЭП. Для применения ЭП необходимы и личные сертификаты. Об их установке мы писали в другой статье.
  3. Установленные на компьютере необходимые сертификаты не валидны. Сертификаты отозваны или просрочены. Уточните статус сертификата в УЦ. Ошибка с текстом «Ваш сертификат ключа подписи включён в список отозванных» возникает, если у сертификата закончился срок действия или на ПК нужно обновить список сертификатов. В последней ситуации следует вручную загрузить перечень отозванных сертификатов.

Для установки списка отозванных сертификатов:

  • Откройте личный сертификат пользователя в окне Свойства браузера. Чтобы открыть его, наберите «Свойства браузера» в поисковой строке меню Пуск. Перейдите во вкладку Содержание и нажмите кнопку «Сертификаты».
  • личный сертификат1

  • Во вкладке Состав выберите из списка пункт «Точки распространения списков отзыва».
  • В блоке Имя точки распространения скопируйте ссылку на загрузку файла со списком отзыва.
  • Имя точки2

  • Скачайте по указанной ссылке файл. Нажмите по нему правой кнопкой мыши и выберите в контекстном меню «Установить список отзыва (CRL)».
  • Следуйте указаниям «Мастера импорта сертификатов».

Не виден сертификат на носителе

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

К наиболее распространённым причинам такой проблемы относятся следующие случаи:

  1. Драйвер носителя не установлен или установлен некорректно. Для решения проблемы необходимо извлечь носитель электронной подписи из ПК и скачать последнюю версию драйвера носителя с официальных ресурсов. Если переустановка драйвера не помогла, подключите носитель к другому ПК, чтобы убедиться в исправности токена. Если токен определится другой системой, попробуйте удалить на неисправном компьютере драйвер носителя и установить его заново.
  2. Долгое опознание носителя. Для решения проблемы необходимо дождаться завершения процесса или обновить версию операционной системы.
  3. Некорректная работа USB-порта. Подключите токен к другому USB-порту, чтобы убедиться, что проблема не в носителе ЭП. Если система определила токен, перезагрузите компьютер. Если это не поможет, следует обратиться службу технической поддержки.
  4. Неисправность носителя. Если при подключении токена к другому компьютеру или USB-порту система не определяет его, значит, проблема в самом носителе. Устранение неисправности возможно в данном случае лишь одним путём — нужно обратиться в сервисный центр для выпуска нового носителя.

ЭП не подписывает документ

Причин у подобной проблемы множество. Каждый случай требует отдельной проверки. Среди самых распространённых можно выделить следующие неполадки:

  1. Закрытый ключ на используемом контейнере не соответствует открытому ключу сертификата. Возможно, был выбран не тот контейнер, поэтому следует проверить все закрытые контейнеры на компьютере. Если необходимый контейнер по тем или иным причинам отсутствует, владельцу придётся обращаться в удостоверяющий центр для перевыпуска ЭП.
  2. Ошибка «Сертификат недействителен» (certificate is not valid). Следует повторно установить сертификат ЭП по инструкциям УЦ в зависимости от используемого криптопровайдера — КриптоПро CSP, ViPNet CSP или другого.
  3. Сертификат ЭП определяется как непроверенный. В этом случае необходимо переустановить корневой сертификат удостоверяющего центра.
  4. Истёк срок действия криптопровайдера. Для решения этой проблемы необходим новый лицензионный ключ к программе-криптопровайдеру. Для его получения необходимо обращаться к специалистам УЦ или к ответственным сотрудникам своей организации.
  5. Подключён носитель с другим сертификатом. Убедитесь, что подключён правильный токен. Проверьте также, не подключены ли носители других сертификатов. Отключите другие носители в случае их обнаружения.

В момент подписания электронных документов или формирования запроса в различных может возникнуть ошибка «Невозможно создание объекта сервером программирования объектов».

подписания3

В этой ситуации помогает установка и регистрация библиотеки Capicom:

  1. Скачайте файл архива.
  2. Распакуйте и переместите файлы capicom.dll и capicom.inf в каталог syswow64, находящийся в корневой папке ОС.
  3. Откройте командную строку от имени администратора — для этого в меню Пуск наберите «Командная строка», нажмите по найденному приложению правой кнопкой мыши и выберите Запуск от имени администратора.
  4. «Командная строка»4

  5. Введите «c:windowssyswow64regsvr32.exe capicom.dll» (без кавычек) и нажмите ENTER. Должно появиться уведомление о том, что команда выполнена успешно.
  6. нажмите ENTER5

Выбранная подпись не авторизована

Подобная ошибка возникает при попытке авторизации в личном кабинете на электронных торговых площадках. Например, при входе на площадку ZakazRF отображается сообщение «Выбранная ЭЦП не авторизована».

площадку ZakazRF6

Эта ошибка возникает из-за того, что пользователь не зарегистрирован на площадке, либо не зарегистрирован новый сертификат ключа ЭП. Решением проблемы будет регистрация нового сертификата.

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

Часто задаваемые вопросы

Почему компьютер не видит ЭЦП?

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

О том, что делать, если компьютер не видит ЭЦП и о способах проверки настроек, мы подробно писали в нашей статье.

Почему КриптоПро не отображает ЭЦП?

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

Подробнее ознакомиться, как устранить данную неисправность можно в нашей статье.

Где на компьютере искать сертификаты ЭЦП?

Сертификат ЭЦП позволяет проверить подлинность подписи, содержит в себе срок её действия и информацию о владельце. Он автоматически загружается в папку с системными файлами. В операционной системе Windows от 7 версии и выше ЭЦП хранится по адресу:

C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates. Вместо ПОЛЬЗОВАТЕЛЬ требуется указать наименование используемого компьютера.

Что такое сертификат ЭЦП и зачем он нужен мы рассказали в нашей статье.

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

Как выглядит ЭЦП
Важно отметить, что большинство ошибок при работе с ЭЦП можно устранить в домашних условиях, без необходимости привлечения специалистов со стороны.

Содержание

  • Какие виды ошибок ЭЦП бывают
  • Проблема с подписанием ЭПЦ
  • Как проявляется данная ошибка и что сделать, чтобы исправить
  • Проблема с сертификатом
  • Что делать если не найден сертификат или не верен
  • Проблемы при авторизации

Какие виды ошибок ЭЦП бывают

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

Проблема с подписанием ЭПЦ. Возникает в момент, когда владелец подписи желает использовать ее при подписании электронного документа.

Проблема с сертификатом. Здесь система информирует пользователя об отсутствии (не действительности), либо использовании незарегистрированного сертификата удостоверяющего центра, необходимого для внешней проверки ЭП.

Проблемы при авторизации. Появляется при проверке пользователя, когда владелец электронной подписи впервые пытается зайти на электронную площадку с подтверждением личности через ЭЦП.

Проблема с подписанием ЭПЦ

Причины, вызывающие подобную ошибку весьма разнообразны. Тут можно выделить такие основные направления:

  • Закрытый ключ со съемного носителя (диска, флешки, Токена), не соответствует имеющемуся ключу открытого сертификата. Банальный человеческий фактор выбора не того носителя информации с ЭЦП. Если же «правильный» ключ утерян, придется обращаться в Удостоверяющий центр для перевыпуска.
  • Недействительный сертификат. Чтобы устранить подобную ошибку потребуется переустановить открытый сертификат. Важно учитывать требования криптопровайдера (инструкции по необходимым действиям) для установки открытых сертификатов.
  • Сертификат подписи определяется как не проверенный. Потребуется выполнить переустановку корневого сертификата, сформировавшего ЭП Удостоверяющего центра.
  • Закончился срок действия криптопровайдера. Необходимо получить новый лицензионный ключ, позволяющий работать с программным обеспечением криптопровайдера. Информация запрашивается через УЦ, либо владельца ПО.
  • Не виден сертификат на носителе. Помогает простая перезагрузка компьютера для устранения ошибка генерации.
  • Алгоритм сертификата ЭЦП не поддерживается. Подобная ошибка может возникать при подписании электронной отчетности в налоговую. Потребуется переустановить КриптоПро CSP и проверить его на совместительство с имеющейся у вас на компьютере операционной системой.

Как проявляется данная ошибка и что сделать, чтобы исправить

Ошибка исполнения функции с информированием о невозможности подписать документ ЭЦП обычно появляется в момент подписания документа.

Система сразу выводит на экран уведомление о непредвиденной ошибке с кратким указанием причины ее возникновения.

Обычно для ее исправления требуются такие действия:

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

Важно. Причина, из-за которой владелец ЭЦП не может нею воспользоваться, может быть комплексной. Поэтому, если не сработал один из предложенных вариантов, проверьте по другим направлениям.

Проблема с сертификатом

Распространенным явлением во время подписания электронных документов ЭЦП является получение уведомления, что системе не удалось получить доступ к сертификатам, пригодным для формирования подписи.

Здесь причины возникновения неисправности могут быть такими:

  1. Пользователь не установил на свой ПК корневые сертификаты УЦ, осуществлявшего формирование и выдачу ЭЦП. Для устранения – скачать и установить на компьютер такой сертификат, либо прописать доступ к нему.
  2. Система не видит личных сертификатов владельца ЭЦП. Выдаются одновременно с оформлением ЭП. Их необходимо загрузить на ваш ПК, и подтянуть в криптопровайдер. В дальнейшем можно загрузить через сайт УЦ. Устанавливаются и прописываются на рабочем месте, предназначенном для работы с ЭЦП. С незарегистрированным сертификатом вы не сможете осуществлять подписание электронных документов.
  3. Информирование о невалидности сертификатов. Обычно такое возможно в случае, когда заканчивается срок действия сертификата, либо их отзывают. Потребуется обращаться в УЦ, выдавший ЭЦП, для уточнения статуса сертификатов подписи. В некоторых случаях помогает обновление сертификатов на компьютере пользователя. Сделать это можно вручную.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

Внимательно читайте природу ошибки, что выдает система. Обычно это ключ к дальнейшему направлению поиска источника проблемы и ее устранению.

Что делать если не найден сертификат или не верен

Когда сертификат отсутствует в списке «Ваши Сертификаты», проблема может оказаться в отсутствии коренного сертификата УЦ.

Для устранения этой проблемы необходимо:

  • проверить наличие такого сертификата на вашем ПК по пути: «Пуск» — дальше «Все программы» — после этого плагин «КриптоПро» — а уже там «Сертификаты»;
  • дальше находим вкладку «Личное», выбираем «Сертификаты»;

Раздел сертификаты

  • потребуется открыть не отображенный во вкладке сертификат и просмотреть его «Путь сертификации»;
  • тут отображаются все цепочки сертификатов в порядке ранжирования. Важно чтобы напротив какого-то из них не стоял желтый, либо красный значок предупреждения. Если подобное присутствует – нажмите на сам сертификат и ознакомьтесь с ошибкой, что выдаст система;
  • в зависимости от причины (обычно это окончание действия сертификата, либо не верифицирован) выполните ее устранение.

Чтобы устранить ошибку и перезагрузить отозванный сертификат потребуется выполнить несколько не сложных действий:

  • в окне «Свойства браузера» откройте личный сертификат. Попасть туда можно через «Поиск» меню «Пуск». В открытом окошке ищите вкладку «Содержание», дальше вкладку «Сертификаты»;
  • после этого во вкладке «Состав» потребуется выбрать позицию «Точки распространения списков отзывов»;
  • в следующем блоке под названием «Имя точки распространения» необходимо выполнить копирование ссылки загрузки файла списка отзывов;
  • переходя по указанной ссылке необходимо скачать и установить файл списка отзывов (CRL);
  • дальше переходим по подсказкам «Мастера импорта сертификатов».

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

  1. На носителе отсутствует драйвер, либо он установлен не корректно. Необходимо скачать последнюю версию драйвера с официального источника и установите его. Можно проверить работоспособность съемного носителя на другом ПК. В этом случае, если другой ПК нормально работает с носителем ЭЦП, переустановите драйверы на первом компьютере.
  2. Система долго распознает носитель ЭЦП. Тут проблема в операционной системе. Ее потребуется обновить до минимального уровня, требуемого для работы с ЭЦП.
  3. USB-порт работает не корректно. Попробуйте подсоединить Токен (флешку) через другой порт, либо на другом ПК, чтобы убедиться, что проблема не в носителе. Выполните перезагрузку компьютера.
  4. Если Токин (флешка) не открывается ни на одном компьютере, значит проблема в носителе. Когда ключ был записан в единственном экземпляре на этот носитель – потребуется обращаться в УЦ для перевыпуска ЭЦП.

Важно. Перед вынесением «окончательного вердикта» касательно работоспособности носителя и сертификата, не поленитесь выполнить их проверку через несколько различных источников.

Проблемы при авторизации

Часто с подобными неприятностями сталкиваются владельцы ЭЦП, пытающиеся пройти регистрацию, либо авторизацию на различных электронных торговых площадках. Пользователю появляется уведомление, что его подпись не авторизирована.

Обычно проблема кроется:

  1. Отсутствие регистрации. Потребуется попросту зарегистрироваться на избранном вами ресурсе.
  2. Не зарегистрирован сертификат. Возникает после обновления ключа ЭЦП. Устраняется путем регистрации нового сертификата ключа ЭЦП.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

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

В дальнейшем, при работе на самой электронной площадке и попытке подписать электронные документы, могут возникать дополнительные трудности, связанные с такими моментами:

  1. Необходимости присоединиться к регламенту. Система не даст возможность полноценно работать, если вы не согласитесь с ее условиями.
  2. Невозможность загрузить файл (файлы). Обычно это ошибка превышения размера информации, что допустима для загрузки. Просто смените формат разрешения файла, чтобы уменьшить его размер.
  3. Требование использовать определенный браузер (определенную версию браузера). Это системные требования владельца площадки, которые необходимо соблюдать.
  4. Проблемы со считыванием сертификатов. Потребуется проверить не просрочены ли ваши сертификаты, а также все ли они установлены на ПК.

Что значит er 10002 неопределенная ошибка при проверке ЭЦП, что делать?

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

Ошибка 52 цифровая подпись

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

Почему компьютер не видит ЭЦП?

Несоответствие программного продукта операционной системы и съемного носителя (флешки), либо повреждение флешки. Устраняется путем обновления операционной системы до минимально необходимой версии. В случае обнаружения повреждения флешки – может потребоваться перевыпуск ЭЦП удостоверяющим центром.

Почему КриптоПро не отображает ЭЦП?

Потребуется выполнить определенные настройки вашего браузера и добавить программу в меню веб-обозревателя, а также загрузить недостающие сертификаты ЭЦП.

Где на компьютере искать сертификаты ЭЦП?

Хранение сертификатов в Windows (от 7 версии) осуществляется по адресу: C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates

где вместо «ПОЛЬЗОВАТЕЛЬ» должно стоять наименование вашего ПК


Offline

EVoynov

 


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

22 марта 2012 г. 18:30:44(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Стоит следующая задача.
В системе документооборота хранятся документы + некоторые мета-данные к ним.
Требуется на некоторых этапах подготовки этих документов подписать отделенной УЭЦП текущую версию документа + его мета-данные.
Для случая базовой ЭЦП все уже реализовано и работает несколько лет на базе CAPICOM и ActiveX из Javascript.

Вот код, который проводит подписание для отделенной подписи и для совмещенной и для обоих случаев выдает сообщение — успешно ли прошла проверка.

Код:


var g_sTsaAddress = "http://sp.ekey.ru/tsp/tsp.srf";
	var CAPICOM_STORE_OPEN_READ_ONLY = 0;
	var CAPICOM_CURRENT_USER_STORE = 2;
	var CAPICOM_MY_STORE = "My";
	var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
	var MICROSOFT_INTERNET_EXPLORER = 'Microsoft Internet Explorer';
	var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
	var CADESCOM_BASE64_TO_BINARY = 0x01;
	var CAPICOM_ENCODE_BASE64 = 0;

	var g_bDetached = true;

	function isCadESPluginInstalled() {
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			try {
				var obj = new ActiveXObject("CAdESCOM.CPSigner");
				return true;
			}
			catch (err) {}
			break;
		default:
			var mimetype = navigator.mimeTypes["application/x-cades"];
			if (mimetype) {
				var plugin = mimetype.enabledPlugin;
				if (plugin) {
					return true;
				}
			}
		}
		return false;
	}

	function selectCertificate() {
		if (isCadESPluginInstalled() ) {
			var MyStore = CreateObject("CAPICOM.Store");
			MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);

			var Certificates = MyStore.Certificates;
			if (Certificates.Count == 0) {
				alert("Нет сертификатов");
				return;
			} else if (Certificates.Count != 1) {
				Certificates = Certificates.Select("Список", "Выберите");
			}

			return Certificates.Item(1);
		}
		throw "Nothing selected";
	}

	function GetErrorMessage(e) {
		return e.message + " (" + e.number + ")";
	}

	// Функция активации объектов КриптоПро ЭЦП Browser plug-in
	function CreateObject(name) {
		var resultObject;
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			resultObject = new ActiveXObject(name);
			break;
		default:
			var cadesobject = document.getElementById("cadesplugin");
			resultObject = cadesobject.CreateObject(name);
		}
		if (resultObject && resultObject != undefined) {
			return resultObject;
		} else {
			throw "Object '" + name + "' does not created."
		}
	}

	function SignCreate(oCertificate, dataToSign) {
		var oSigner = CreateObject("CAdESCOM.CPSigner");
		oSigner.Certificate = oCertificate;
		oSigner.TSAAddress = "http://sp.ekey.ru/tsp/tsp.srf";

		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
		oSignedData.Content = dataToSign;

		try {
			var sSignedMessage =
					oSignedData.SignCades(oSigner,
							CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
			document.writeln("<h1>Signature value (detached = " + g_bDetached + "): </h1>");
			document.writeln(sSignedMessage);
			document.writeln("");
		} catch (err) {
			alert("Failed to create signature. Error: " + GetErrorMessage(err));
			return;
		}
		return sSignedMessage;
	}

	function Verify(sSignedMessage, dataToSign) {
		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		if (g_bDetached) {
			oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
			oSignedData.Content = dataToSign;
			alert("Signature is detached");
		} else {
			alert("Signature is not detached");
		}
		try {
			oSignedData.VerifyCades(sSignedMessage,
					CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
		} catch (err) {
			alert("Failed to verify signature. Error: " + GetErrorMessage(err));
			return false;
		}

		return true;
	}

	function run() {
		var oCertificate = selectCertificate();
		g_bDetached = true;
		testCase(oCertificate);
		g_bDetached = false;
		testCase(oCertificate);
	}

	function testCase(oCertificate) {
		// строка 'CryptoPro' - в Base64
		// перекодировал тут: http://www.motobit.com/util/base64-decoder-encoder.asp
		var signedMessage = SignCreate(oCertificate, "Q3J5cHRvUHJv");
		var verifyResult = Verify(signedMessage);
		if (verifyResult) {
			alert("Signature is valid when detached: " + g_bDetached);
		} else {
			alert("Signature is not valid when detached: " + g_bDetached);
		}
	}

Проблема в том, что в случае отделенной подписи проверка упорно не проходит, хотя была применена рекомендация на счет указания кодировки до передачи контента (CADESCOM_BASE64_TO_BINARY) от Новожиловой Елены из соседней темы форума.

Прошу помочь мне разобраться в проблеме и указать на возможные причины ошибки.
Ошибку получаю такую (только в случае g_bDetached = true):


Message from webpage


Failed to verify signature. Error: The hash value is not correct. (-2146889721)


OK
—————————

Вложение(я):

testCades.html (5kb) загружен 24 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.


Вверх

WWW


Offline

Новожилова Елена

 


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

22 марта 2012 г. 20:03:12(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Вы в функцию Verify передаете только один параметр — само подписанное сообщение.

Вместо:

Код:

var verifyResult = Verify(signedMessage);

должно быть:

Код:

var verifyResult = Verify(signedMessage, "Q3J5cHRvUHJv");

Вверх

Offline

EVoynov

 


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

22 марта 2012 г. 20:18:55(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Елена, огромное вам спасибо. Стыдно, что из-за такого промаха в итоге пришлось задать вопрос. Действительно, теперь оба варианта работают.


Вверх

WWW


Offline

dennioushen

 


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

19 октября 2012 г. 15:47:26(UTC)

dennioushen

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

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

Зарегистрирован: 06.07.2011(UTC)
Сообщений: 32
Мужчина
Откуда: Москва

Дабы не создавать похожую тему.

Использую для проверки подписи Пример 3.
Если правильно понимаю, могу ли использовать код ниже ( quote — проверка) узнать (выдать на экран сообщение) подписано или нет, или я бурду подсунул?!

Проверка подписи написал:

Option Explicit

Const CAPICOM_VERIFY_SIGNATURE_ONLY = 0
Const ForReading = 1

Dim oSignedData
Set oSignedData = CreateObject(«CAdESCOM.CadesSignedData»)
‘ Загрузка подписанных данных для проверки.
Dim Message : Message = LoadFile(«kolya.sig»)
‘ Подпись совмещенная.
oSignedData.Verify Message, False

Function LoadFile (FileName)
Dim fso
Set fso = CreateObject(«Scripting.FileSystemObject»)
If Not fso.FileExists(FileName) Then
Err.Raise vbObjectError+1, «LoadFile», «File not found»
End If
Dim ts
Set ts = fso.OpenTextFile(FileName, ForReading)
LoadFile = ts.ReadAll
End Function

Проверка написал:

function Verify(sSignedMessage, dataToSign) {
var oSignedData = CreateObject(«CAdESCOM.CadesSignedData»);
if (g_bDetached) {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToSign;
alert(«Signature is detached»);
} else {
alert(«Signature is not detached»);
}
try {
oSignedData.VerifyCades(sSignedMessage,
CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
} catch (err) {
alert(«Failed to verify signature. Error: » + GetErrorMessage(err));
return false;
}

return true;
}

Отредактировано пользователем 19 октября 2012 г. 16:34:47(UTC)
 | Причина: Не указана

Семья тебя простит… Дон Корлеоне


Вверх

WWW


Offline

Новожилова Елена

 


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

23 октября 2012 г. 18:32:53(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах


Вверх

Offline

dmishin

 


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

14 февраля 2013 г. 12:04:35(UTC)

dmishin

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

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

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

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

Столкнулся с ошибкой:

Certificates.Select is not a function

Не подскажите в чем может быть проблема?

P.S.
Увидел в справке, что для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Отредактировано пользователем 14 февраля 2013 г. 12:07:02(UTC)
 | Причина: Не указана


Вверх

Offline

NikChaew

 


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

16 января 2014 г. 22:18:16(UTC)

NikChaew

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

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

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

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.


Вверх

Offline

Андрей Писарев

 


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

16 января 2014 г. 22:29:59(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

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


Вверх

WWW


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:36:42(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

Объект Certificates

Цитата:

В отличие от объекта Microsoft CAPICOM.Certificates,
для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Замечание:
В CAdESCOM данный объект доступен только на платформе x64. На платформе win32 следует использовать объект Microsoft CAPICOM.Certificates .

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


Вверх

WWW


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:38:30(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

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

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

и функцию FillCertList(lstId)

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


Вверх

WWW

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

Guest

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

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

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

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

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

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

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


Offline

EVoynov

 


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

22 марта 2012 г. 18:30:44(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Стоит следующая задача.
В системе документооборота хранятся документы + некоторые мета-данные к ним.
Требуется на некоторых этапах подготовки этих документов подписать отделенной УЭЦП текущую версию документа + его мета-данные.
Для случая базовой ЭЦП все уже реализовано и работает несколько лет на базе CAPICOM и ActiveX из Javascript.

Вот код, который проводит подписание для отделенной подписи и для совмещенной и для обоих случаев выдает сообщение — успешно ли прошла проверка.

Код:


var g_sTsaAddress = "http://sp.ekey.ru/tsp/tsp.srf";
	var CAPICOM_STORE_OPEN_READ_ONLY = 0;
	var CAPICOM_CURRENT_USER_STORE = 2;
	var CAPICOM_MY_STORE = "My";
	var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
	var MICROSOFT_INTERNET_EXPLORER = 'Microsoft Internet Explorer';
	var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
	var CADESCOM_BASE64_TO_BINARY = 0x01;
	var CAPICOM_ENCODE_BASE64 = 0;

	var g_bDetached = true;

	function isCadESPluginInstalled() {
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			try {
				var obj = new ActiveXObject("CAdESCOM.CPSigner");
				return true;
			}
			catch (err) {}
			break;
		default:
			var mimetype = navigator.mimeTypes["application/x-cades"];
			if (mimetype) {
				var plugin = mimetype.enabledPlugin;
				if (plugin) {
					return true;
				}
			}
		}
		return false;
	}

	function selectCertificate() {
		if (isCadESPluginInstalled() ) {
			var MyStore = CreateObject("CAPICOM.Store");
			MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);

			var Certificates = MyStore.Certificates;
			if (Certificates.Count == 0) {
				alert("Нет сертификатов");
				return;
			} else if (Certificates.Count != 1) {
				Certificates = Certificates.Select("Список", "Выберите");
			}

			return Certificates.Item(1);
		}
		throw "Nothing selected";
	}

	function GetErrorMessage(e) {
		return e.message + " (" + e.number + ")";
	}

	// Функция активации объектов КриптоПро ЭЦП Browser plug-in
	function CreateObject(name) {
		var resultObject;
		switch (navigator.appName) {
		case MICROSOFT_INTERNET_EXPLORER:
			resultObject = new ActiveXObject(name);
			break;
		default:
			var cadesobject = document.getElementById("cadesplugin");
			resultObject = cadesobject.CreateObject(name);
		}
		if (resultObject && resultObject != undefined) {
			return resultObject;
		} else {
			throw "Object '" + name + "' does not created."
		}
	}

	function SignCreate(oCertificate, dataToSign) {
		var oSigner = CreateObject("CAdESCOM.CPSigner");
		oSigner.Certificate = oCertificate;
		oSigner.TSAAddress = "http://sp.ekey.ru/tsp/tsp.srf";

		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
		oSignedData.Content = dataToSign;

		try {
			var sSignedMessage =
					oSignedData.SignCades(oSigner,
							CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
			document.writeln("<h1>Signature value (detached = " + g_bDetached + "): </h1>");
			document.writeln(sSignedMessage);
			document.writeln("");
		} catch (err) {
			alert("Failed to create signature. Error: " + GetErrorMessage(err));
			return;
		}
		return sSignedMessage;
	}

	function Verify(sSignedMessage, dataToSign) {
		var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
		if (g_bDetached) {
			oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
			oSignedData.Content = dataToSign;
			alert("Signature is detached");
		} else {
			alert("Signature is not detached");
		}
		try {
			oSignedData.VerifyCades(sSignedMessage,
					CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
		} catch (err) {
			alert("Failed to verify signature. Error: " + GetErrorMessage(err));
			return false;
		}

		return true;
	}

	function run() {
		var oCertificate = selectCertificate();
		g_bDetached = true;
		testCase(oCertificate);
		g_bDetached = false;
		testCase(oCertificate);
	}

	function testCase(oCertificate) {
		// строка 'CryptoPro' - в Base64
		// перекодировал тут: http://www.motobit.com/util/base64-decoder-encoder.asp
		var signedMessage = SignCreate(oCertificate, "Q3J5cHRvUHJv");
		var verifyResult = Verify(signedMessage);
		if (verifyResult) {
			alert("Signature is valid when detached: " + g_bDetached);
		} else {
			alert("Signature is not valid when detached: " + g_bDetached);
		}
	}

Проблема в том, что в случае отделенной подписи проверка упорно не проходит, хотя была применена рекомендация на счет указания кодировки до передачи контента (CADESCOM_BASE64_TO_BINARY) от Новожиловой Елены из соседней темы форума.

Прошу помочь мне разобраться в проблеме и указать на возможные причины ошибки.
Ошибку получаю такую (только в случае g_bDetached = true):


Message from webpage


Failed to verify signature. Error: The hash value is not correct. (-2146889721)


OK
—————————

Вложение(я):

testCades.html (5kb) загружен 24 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.


Вверх

WWW


Offline

Новожилова Елена

 


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

22 марта 2012 г. 20:03:12(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Вы в функцию Verify передаете только один параметр — само подписанное сообщение.

Вместо:

Код:

var verifyResult = Verify(signedMessage);

должно быть:

Код:

var verifyResult = Verify(signedMessage, "Q3J5cHRvUHJv");


Вверх


Offline

EVoynov

 


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

22 марта 2012 г. 20:18:55(UTC)

EVoynov

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

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

Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

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

Елена, огромное вам спасибо. Стыдно, что из-за такого промаха в итоге пришлось задать вопрос. Действительно, теперь оба варианта работают.


Вверх

WWW


Offline

dennioushen

 


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

19 октября 2012 г. 15:47:26(UTC)

dennioushen

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

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

Зарегистрирован: 06.07.2011(UTC)
Сообщений: 32
Мужчина
Откуда: Москва

Дабы не создавать похожую тему.

Использую для проверки подписи Пример 3.
Если правильно понимаю, могу ли использовать код ниже ( quote — проверка) узнать (выдать на экран сообщение) подписано или нет, или я бурду подсунул?!

Проверка подписи написал:

Option Explicit

Const CAPICOM_VERIFY_SIGNATURE_ONLY = 0
Const ForReading = 1

Dim oSignedData
Set oSignedData = CreateObject(«CAdESCOM.CadesSignedData»)
‘ Загрузка подписанных данных для проверки.
Dim Message : Message = LoadFile(«kolya.sig»)
‘ Подпись совмещенная.
oSignedData.Verify Message, False

Function LoadFile (FileName)
Dim fso
Set fso = CreateObject(«Scripting.FileSystemObject»)
If Not fso.FileExists(FileName) Then
Err.Raise vbObjectError+1, «LoadFile», «File not found»
End If
Dim ts
Set ts = fso.OpenTextFile(FileName, ForReading)
LoadFile = ts.ReadAll
End Function

Проверка написал:

function Verify(sSignedMessage, dataToSign) {
var oSignedData = CreateObject(«CAdESCOM.CadesSignedData»);
if (g_bDetached) {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToSign;
alert(«Signature is detached»);
} else {
alert(«Signature is not detached»);
}
try {
oSignedData.VerifyCades(sSignedMessage,
CADESCOM_CADES_X_LONG_TYPE_1, g_bDetached);
} catch (err) {
alert(«Failed to verify signature. Error: » + GetErrorMessage(err));
return false;
}

return true;
}

Отредактировано пользователем 19 октября 2012 г. 16:34:47(UTC)
 | Причина: Не указана

Семья тебя простит… Дон Корлеоне


Вверх

WWW


Offline

Новожилова Елена

 


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

23 октября 2012 г. 18:32:53(UTC)

Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах

Не поняла, в чем вопрос.


Вверх


Offline

dmishin

 


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

14 февраля 2013 г. 12:04:35(UTC)

dmishin

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

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

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

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

Столкнулся с ошибкой:

Certificates.Select is not a function

Не подскажите в чем может быть проблема?

P.S.
Увидел в справке, что для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Отредактировано пользователем 14 февраля 2013 г. 12:07:02(UTC)
 | Причина: Не указана


Вверх


Offline

NikChaew

 


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

16 января 2014 г. 22:18:16(UTC)

NikChaew

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

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

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

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.


Вверх


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:29:59(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

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


Вверх

WWW


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:36:42(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

Объект Certificates

Цитата:

В отличие от объекта Microsoft CAPICOM.Certificates,
для данного объекта реализованы только следующие методы и свойства: Find, Item, Count.

Замечание:
В CAdESCOM данный объект доступен только на платформе x64. На платформе win32 следует использовать объект Microsoft CAPICOM.Certificates .

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


Вверх

WWW


Offline

Андрей Писарев

 


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

16 января 2014 г. 22:38:30(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

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

Автор: NikChaew Перейти к цитате

Прошло 11 месяцев, а вопрос остался.

var oStore = CreateObject(«CAPICOM.Store»);
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCertificates = oStore.Certificates.Select(‘Выберите сертификат для подписи документа.’, ‘Выберите один из сертификатов’, false);

Почему в IE функция Select работает, а в других браузерах нет? oStore.Certificates возвращает ICertificates3. Там, вроде бы, Select есть.

Посмотрите на демо-странице функцию ObjCreator из Code.js

и функцию FillCertList(lstId)

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


Вверх

WWW

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

Guest

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

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

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

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

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

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

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

  • Remove From My Forums
  • Question

  • Hello,

    I have an application (deployed over collection) which is working on my test clients. On one Client I am getting the message:

    The software change returned error code 0x80091007 (-2146889721).

    When i check the CAS.log I see that the has value of the application has a probelm.

    On my other test clients the software is working fine.

    The clients are in the same subnet, so no boundary issue.

    Here is the CAS.log

    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache7.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:36 3192 (0x0C78)
    Download completed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System ContentAccess 03.01.2014 14:00:37 3320 (0x0CF8)
    CreateFileW failed for c:windowsccmcache6vcredist_x86vcredist.msi ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    楆敬灏湥 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    慈桳潃瑮湥t failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    潃灭瑵䍥湯整瑮慈桳 failed; 0x80070020 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Failed to do hash verification with preference : 4. Try to verify at next hash algorithm ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for content Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea.1 under context System, error 0x80091007 ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Download failed for download request {F8613B9F-A062-495C-ADFD-7D64D6576D15} ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Raising event:
    [SMS_CodePage(437), SMS_LocaleID(1033)]
    instance of SoftDistHashMismatchEvent
    {
     ClientID = «GUID:ff40e989-88f5-49d6-a811-246964969a24»;
     DateTime = «20140103130042.787000+000»;
     MachineName = «SCCM-CAPTURE»;
     PackageId = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageName = «Content_264e7d5c-70d0-456c-a25c-3d8fccc596ea»;
     PackageVersion = «1»;
     ProcessID = 2876;
     SiteCode = «MU1»;
     ThreadID = 3320;
    };
     ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Successfully raised SoftDistHashMismatchEvent event. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)
    Error: DeleteDirectory:- Failed to delete Directory C:Windowsccmcache6.BCWork with Error 0x00000002. ContentAccess 03.01.2014 14:00:42 3320 (0x0CF8)

    • Edited by

      Friday, January 3, 2014 1:12 PM
      added

Answers

  • Hello I solved the problem,

    the Virus Scanner was the problem. I turned it off an the it was working, even in the OSD.

    • Proposed as answer by
      TorstenMMVP
      Tuesday, January 7, 2014 2:22 PM
    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM

    • Marked as answer by
      Joyce L
      Thursday, January 9, 2014 10:49 AM

Hi Barry,

Thank you very much. Your advice is valuable.

First, that I need to explain to you is:
the hash value of the «en_visual_studio_enterprise_2015_x86_x64_dvd_6850497.iso» file I downloaded is exactly correct, this iso file’s size is 3920 MB (4,110,217,216 bytes), and according to the link about verifying the hash checksum you offered above,
its sha1 value should be:
https://www.visualstudio.com/en-us/downloads/visual-studio-2015-iso-sha1-vs.aspx
Visual Studio Enterprise 2015
English 07C949078F895CE0D9C03A1B8D55571A8C90AC94

I’d once downloaded the FCIV (File Checksum Integrity Verifier utility) from the following link:
http://support.microsoft.com/kb/841290
or
https://support.microsoft.com/en-us/kb/841290

Then I putted the fciv.exe file in my E:SoftwareToolsFCIV folder, and used it to check the hash value of the «en_visual_studio_enterprise_2015_x86_x64_dvd_6850497.iso» file in a «Command Prompt (Admin)» window, just run the following
command:

fciv «D:UsersAdministratorDownloadsen_visual_studio_enterprise_2015_x86_x64_dvd_6850497.iso» -sha1

This was the result:
E:SoftwareToolsFCIV>fciv «D:UsersAdministratorDownloadsen_visual_studio_enterprise_2015_x86_x64_dvd_6850497.iso» -sha1
//
// File Checksum Integrity Verifier version 2.05.
//
07c949078f895ce0d9c03a1b8d55571a8c90ac94 d:usersadministratordownloadsen_visual_studio_enterprise_2015_x86_x64_dvd_6850497.iso

E:SoftwareToolsFCIV>

It’s same as the hash value on Microsoft official website.
So you see, the hash value of the installation media ISO file is really correct.

Certainly, I also tried to download and install the VS2015 Ent Trial install file vs_enterprise.exe via web from according to the link you offered, but still occurs the same error.
(
vs_enterprise.exe
http://download.microsoft.com/download/6/4/7/647EC5B1-68BE-445E-B137-916A0AE51304/vs_enterprise.exe
)

In fact, «The hash value is not correct.» — it should mean the hash value of an installation package file, doesn’t mean the ISO file. 

For example, in a log file:

[0AA8:0AD4][2015-08-10T12:45:30]e000: Error 0x80091007: Hash mismatch for path: D:ProgramDataPackage Cache{3882E617-A19F-38D0-8ED9-6F0DBC348A34}v14.0.20626.0packagesWPTwebtoolsextensionsvs14.msi, expected: F3670E2D679DD6F26B2E912BB1CCEECA8CC98086,
actual: C02050C8AA9DE6180613F4EC90D366AB9B3992D9
[0AA8:0AD4][2015-08-10T12:45:30]e000: Error 0x80091007: Failed to verify hash of payload: webtoolsextensionsvs_1040
[0AA8:0AD4][2015-08-10T12:45:30]e310: Failed to verify payload: webtoolsextensionsvs_1040 at path: D:ProgramDataPackage Cache{3882E617-A19F-38D0-8ED9-6F0DBC348A34}v14.0.20626.0packagesWPTwebtoolsextensionsvs14.msi, error: 0x80091007, delete: Yes
[0AA8:0AD4][2015-08-10T12:45:30]e000: Error 0x80070002: Failed to find payload: webtoolsextensionsvs_1040 in working path: D:UsersAdministratorAppDataLocalTemp{a60a492e-b5eb-4218-a9e6-f38d18a7dbaf}webtoolsextensionsvs_1040 and unverified path: D:ProgramDataPackage
Cache.unverifiedwebtoolsextensionsvs_1040
[0AA8:0AD4][2015-08-10T12:45:30]e000: Error 0x80070002: Failed to cache payload: webtoolsextensionsvs_1040
[0AB4:084C][2015-08-10T12:45:30]i000: MUX:  Verify Failed.  Retry acquiring, Retry Count: 1 of 3
[0AB4:084C][2015-08-10T12:45:30]i000: MUX:  Set Result: Return Code=-2147024894 (0x80070002), Error Message=, Result Detail=, Vital=False, Package Action=Verify, Package Id=webtoolsextensionsvs_1040
[0AB4:084C][2015-08-10T12:45:30]e314: Failed to cache payload: webtoolsextensionsvs_1040 from working path: D:UsersAdministratorAppDataLocalTemp{a60a492e-b5eb-4218-a9e6-f38d18a7dbaf}webtoolsextensionsvs_1040, error: 0x80070002.
[0AB4:084C][2015-08-10T12:45:30]e349: Application requested retry of payload: webtoolsextensionsvs_1040, encountered error: 0x80070002. Retrying…

«Error 0x80091007: Hash mismatch for path: D:ProgramDataPackage Cache{3882E617-A19F-38D0-8ED9-6F0DBC348A34}v14.0.20626.0packagesWPTwebtoolsextensionsvs14.msi, expected: F3670E2D679DD6F26B2E912BB1CCEECA8CC98086, actual: C02050C8AA9DE6180613F4EC90D366AB9B3992D9»
— it means that the hash value of an installation package file (webtoolsextensionsvs14.msi) was mismatch.

In the hard drive, it is located:
D:ProgramDataPackage Cache{3882E617-A19F-38D0-8ED9-6F0DBC348A34}v14.0.20626.0packagesWPTwebtoolsextensionsvs14.msi
In the installation DVD drive, it is located:
I:packagesWPTwebtoolsextensionsvs14.msi

I checked their hash values:

E:SoftwareToolFCIV>fciv «D:ProgramDataPackage Cache{3882E617-A19F-38D0-8ED
9-6F0DBC348A34}v14.0.20626.0packagesWPTwebtoolsextensionsvs14.msi» -sha1
//
// File Checksum Integrity Verifier version 2.05.
//
f3670e2d679dd6f26b2e912bb1cceeca8cc98086 d:programdatapackage cache{3882e617-
a19f-38d0-8ed9-6f0dbc348a34}v14.0.20626.0packageswptwebtoolsextensionsvs14.ms
i

E:SoftwareToolFCIV>fciv «I:packagesWPTwebtoolsextensionsvs14.msi» -sha1
//
// File Checksum Integrity Verifier version 2.05.
//
f3670e2d679dd6f26b2e912bb1cceeca8cc98086 i:packageswptwebtoolsextensionsvs14.msi

E:SoftwareToolFCIV>

So, in the log file, «The file ‘webtoolsextensionsvs14.msi’ required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.» — it indeed should
indicate a network error.

There were total four errors in the error report just as I posted previously:
1. Windows 10 SDK 10.0.10240
2. Android SDK Setup (API Level 19 and 21)
3. Android SDK Setup (API Level 22)
4. Git for Windows
Now, all the errors are already solved, and the 2~4 errors are already found reasons, only the first 1 is although solved but still baffling.

Let me tell each detail.

I. the «4. Git for Windows» error solved

While I posted this thread, my computer connect to internet as such:
my computer directly connect to a router, the router connect to a modem (home gateway), the modem directly connect to internet, this connection is automatic and no needed dial-up.
Later, I changed the connection as such:
my computer directly connect to the modem, the modem directly connect to internet, this connection needs manual dial-up.
And then, I selected the «Git for Windows» component, let its checkbox is checked, then click «UPDATE» button, and then it had been installed successfully.
So this error was solved.

II. the «2. Android SDK Setup (API Level 19 and 21)» and «3. Android SDK Setup (API Level 22)» errors solved

The Android SDK packages’ applying is very time consuming, but also always repeatly does much ado about nothing and finally will fail, I found that it caused by China’s blocking of the Android SDK web addresses, namely the GFW (Great Firewall of China) blocks
the Android SDK web addresses.

So I used a VPN (Virtual Private Network) to bypass the blocking of GFW (Great Firewall of China), downloaded and applied the Android SDK packages (include 19.1.0, 21.1.2 and 22.0.1) successfully.
So these errors also were solved.

For more about GFW and its blocking, please refer to the informations on the following links:

The Great Firewall of China
https://en.wikipedia.org/wiki/Internet_censorship_in_China

Microsoft OneDrive Blocked in China
http://news.softpedia.com/news/Microsoft-OneDrive-Blocked-in-China-449453.shtml

Google’s Gmail blocked in China
http://www.reuters.com/article/2014/12/29/us-google-china-idUSKBN0K70BD20141229

Can not access to developer.android.com
https://groups.google.com/forum/#!topic/android-developers/RhhUPCJ3W6M

What’s Really Happening with China’s Great Firewall
https://www.propublica.org/article/whats-really-happening-with-chinas-great-firewall

China blocks virtual private network use
http://www.bbc.com/news/technology-30982198

In China, VPN internet access tools suffer further disruptions
http://www.reuters.com/article/2015/01/23/us-china-internet-vpn-idUSKBN0KW0WS20150123

How To Bypass The Great Firewall of China
http://randomwire.com/how-to-bypass-the-great-firewall-of-china

III. the «1. Windows 10 SDK 10.0.10240» error solved but still not explainable

This error was frequently changing the error message and error code about it.

For example:
«Windows 10 SDK 10.0.10240 : The installer failed. The hash value is not correct. Error code: -2146889721»
«Windows 10 SDK 10.0.10240 : The installer failed. Fatal error during installation. Error code: -2147023293»
«Windows Software Development Kit for Windows Store Apps : Package failed.»
I think, the previous error code -2146889721 and the late error code -2147023293 and the «package failed» all indicate the same network error.

I tried constantly many times, and accidentally found a solution by reading log files.

I once did a modified installation of VS2015, with connecting to internet via VPN, doubleclick I:vs_enterprise.exe to start installation, click «Modify» button, then click «Custom» radiobox, click «Next» button, click «Selet
All» checkbox, then click «Universal Windows App Development Tools» and «Windows 8.1 and Windows Phone 8.0/8.1 Tools» to let them unchecked, click «Next» button, click «UPDATE» button.
When finish, it told me:
«Setup complete!
All specified components have been modified successfully.»
Then wait a while, doubleclick I:vs_enterprise.exe to start installation again, click «Modify» button, then click «Custom» radiobox, click «Next» button, click and click again the «Selet All» checkbox to let all components
checked, click «Next» button, click «UPDATE» button.
When finish, I got the following error message —
«Windows 10 SDK 10.0.10240 : The installer failed. Fatal error during installation. Error code: -2147023293»
and got the log file: D:UsersAdministratorAppDataLocalTempdd_vs_enterprise_20150817031242.log
its view link:
http://1drv.ms/1MterVT
The error description in this log file is very evasive, it does not elaborate on the detail reasons about the error, I really don’t understand what it says, and confuse how the error occurs.

Then I executed a repaire of VS2015, with connecting to internet via VPN, rightclick Start button, then click «Control Panel», then click «Programs and Features», then rightclick «Microsoft Visual Studio Enterprise 2015», then
click «Change», then click «Repair» button.
When complete, I got the following error message —
«Windows Software Development Kit for Windows Store Apps : Package failed.»
and got the log file: D:UsersAdministratorAppDataLocalTempdd_vs_enterprise_20150817080413.log
its view link:
http://1drv.ms/1NAh0nQ

There are the following error descriptions in this log file:

ExecuteError: Package (Windows_SDK_Metro) failed
Error Message Id: 1335
ErrorMessage: The cabinet file ‘e072b3b3d3164e26b63338dce51862a7.cab’ required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.
Return Error Code: -2147023293 (0x80070643)

Then I found out three locations of this e072b3b3d3164e26b63338dce51862a7.cab file in my hard drive and DVD drive, and use FCIV to check their hash values, the results are as follows: 

D:ProgramDataPackage Cache{37464E70-B0B9-9DFF-649A-CBE169BAD657}v8.100.25984packagesWin81_SDKe072b3b3d3164e26b63338dce51862a7.cab
Size: 3,772,998 bytes (3.59 MB or 3,685 KB)
SHA1: 125044b5dc11de4785945eb02edb90b37dd820c6

I:packagesWin81_SDKe072b3b3d3164e26b63338dce51862a7.cab
Size: 3,772,998 bytes (3.59 MB or 3,685 KB)
SHA1: 125044b5dc11de4785945eb02edb90b37dd820c6

I:packagesWindows_SDKe072b3b3d3164e26b63338dce51862a7.cab
Size: 3,157,658 bytes (3.01 MB or 3,084 KB)
SHA1: ea3104862a62521e01d30ba1218f76c5a4d40e38

Then I executed the following 2 commands in a «Command Prompt (Admin)» window:
ren «%ProgramData%Package Cache{37464E70-B0B9-9DFF-649A-CBE169BAD657}v8.100.25984packagesWin81_SDKe072b3b3d3164e26b63338dce51862a7.cab» «zzz_e072b3b3d3164e26b63338dce51862a7.cab.old»
robocopy «I:packagesWindows_SDK» «%ProgramData%Package Cache{37464E70-B0B9-9DFF-649A-CBE169BAD657}v8.100.25984packagesWin81_SDK» e072b3b3d3164e26b63338dce51862a7.cab /copyall

Then I executed the repaire of VS2015 again, with connecting to internet via VPN, rightclick Start button, then click «Control Panel», then click «Programs and Features», then rightclick «Microsoft Visual Studio Enterprise 2015»,
then click «Change», then click «Repair» button.
When finish, it told me:
«Setup complete!
All specified components have been repaired successfully.»

So you see, this error about the failure of Windows 10 SDK installer was also solved. (However, I still don’t know why it occurred…)

In the end, I strongly suggest the China’s users of Visual Studio:
Please bypass the GFW via VPN for applying the Android SDK successfully.

Best regards,
Gemhop

  • Ошибка электронной педали газа приора
  • Ошибка электронной дроссельной заслонки
  • Ошибка электронного ручника тигуан
  • Ошибка электронного ручника passat b6
  • Ошибка электронного ключа 800000d1 алекс флешера