Меню

Ошибка генерации тестовой подписи возникли проблемы при инициализации xmlsec


Offline

legsy

 


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

8 августа 2015 г. 20:21:41(UTC)

legsy

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

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

Зарегистрирован: 08.08.2015(UTC)
Сообщений: 2
Мелкие острова(США)

Пишу клиента для СМЭВ3.
На технологическом портале есть пример на Java, лежит тут

Окружение настроил как написано в readme, но там не написано какая версия xmlsec нужна. Пробовал xmlsec-1.5.0.jar не работает, вылетает с ошибкой.
Может быть у кого-то уже получилось подписать запрос в СМЭВ3 правильно? Подскажите, пожалуйста.


Вверх


Offline

legsy

 


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

10 августа 2015 г. 10:00:11(UTC)

legsy

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

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

Зарегистрирован: 08.08.2015(UTC)
Сообщений: 2
Мелкие острова(США)

Сам же и отвечу.

Там в pom.xml проекта crypto нужно добавить
<dependency>
<groupId>org.apache.santuario</groupId>
<artifactId>xmlsec</artifactId>
<version>1.4.8</version>
</dependency>
ну и там еще проинициализировать xmlsec в классе DigitalSignatureFactory в начале метода init. Без этого у меня тоже не работало.
Какой-то странный код клиента они выложили, тут поделали-поделали — бросили, тут — вообще магия 🙂


Вверх


Offline

alexey_kozlov

 


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

14 августа 2015 г. 13:16:23(UTC)

alexey_kozlov

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

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

Зарегистрирован: 14.08.2015(UTC)
Сообщений: 5
Российская Федерация

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

Если используете xmlsec версии 1.5.x в jre/lib/ext

Пришлось переписать кусок файла DigitalSignatureFactory.java из данной библиотеки:

Код:



package ru.voskhod.crypto;

...

/**
     * Все что происходит здесь - магия. В теории этого делать не нужно, т.к. необходимый конфиг лежит внутри Trusted Java, но без этого не работает.
     * Желающие могут разобратся.
     *
     * @throws ru.voskhod.crypto.exceptions.SigLibInitializationException В слуючае если произошли проблемы.
     */
    private static void initXmlSec(String algorithmClassName) throws SigLibInitializationException {
        try {

            // При формировании элемента Signature будут убраны все разрывы между элементами.
            System.setProperty("org.apache.xml.security.ignoreLineBreaks", "true");
                
            //Добавил инициализацию из документации jsp : jcp-build-2.0.37027
            
            //Перед началом использования классов из библиотеки XML Security необходимо зарегистрировать ГОСТ алгоритмы.
            
            //initByJCPXmlXmlInit();
            initByXmlSecurityWithConfig();
            
            try{
            	// Реализация дополнительной трансформации.
            	Transform.register(SmevTransformSpi.ALGORITHM_URN, SmevTransformSpi.class.getName());
            }catch(AlgorithmAlreadyRegisteredException e){
            	//Ignore this exception
            }
        
        } catch (SigLibInitializationException e) {
            throw e;
        } catch (Exception e) {
            throw new SigLibInitializationException("Возникли проблемы при инициализации XmlSec!", e);
        }
    }

    /**
     * Метод для инециализации ГОСТ алгоритмов в библиотеке XML Security по средствам вызова стандартного инициализатора org.apache.xml.security.init
     * 
     * Перед началом использования классов из библиотеки XML Security необходимо зарегистрировать ГОСТ алгоритмы.
     * Это можнжо сделать вызовом метода ru.CryptoPro.JCPxml.XmlInit.init() 
     * (старый метод ru.CryptoPro.JCPxml.xmldsig.JCPXMLDSigInit.init() тоже поддерживается).
     *  
     * Данный метод работает с jcp-build-2.0.37027 если в jre/lib/ext/ библиотека xmlsec версии 1.4
     *    
     * Использовать только если библиотека xmlsec версии 1.4 
     */
	private static void initByJCPXmlXmlInit() {
		System.out.println("ru.CryptoPro.JCPxml.XmlInit.isInitialized() before:"+ru.CryptoPro.JCPxml.XmlInit.isInitialized());
		if(!ru.CryptoPro.JCPxml.XmlInit.isInitialized()){
			ru.CryptoPro.JCPxml.XmlInit.init();
		}
		System.out.println("ru.CryptoPro.JCPxml.XmlInit.isInitialized() after:"+ru.CryptoPro.JCPxml.XmlInit.isInitialized());
	}

	/**
	 * Метод для инециализации ГОСТ алгоритмов в библиотеке XML Security по средствам JCPxml
	 * 
	 * Перед началом использования классов из библиотеки XML Security необходимо зарегистрировать ГОСТ алгоритмы.
	 * 
	 * Это можнжо сделать вызовом стандартного инициализатора org.apache.xml.security.Init.init(), 
	 * который обязателен при работе с библиотекий XML Security, 
	 * но с предварительно установленным свойством 
	 * System.setProperty("org.apache.xml.security.resource.config", "resource/jcp.xml")
	 *    
	 * Данный метод работает с jcp-build-2.0.37027 если в jre/lib/ext/ библиотека xmlsec версии 1.5
	 * 
	 * Использовать только если библиотека xmlsec версии 1.4 или 1.5 
	 */
	private static void initByXmlSecurityWithConfig() {
		System.setProperty("org.apache.xml.security.resource.config", "resource/jcp.xml");
		System.out.println("org.apache.xml.security.Init.isInitialized(): "+org.apache.xml.security.Init.isInitialized());
		if(!org.apache.xml.security.Init.isInitialized()){
			org.apache.xml.security.Init.init();
		}
		System.out.println("org.apache.xml.security.Init.isInitialized(): "+org.apache.xml.security.Init.isInitialized());
	}
...

Описание в комментариях…

Также есть проблема в DigitalSignatureProcessorImpl.java если версия JDK >= 1.7.0_21

Код:


package ru.voskhod.crypto.impl;

...

 private static Element signXMLDSig(Document argDocument, Element element2Sign, PrivateKey argPrivateKey, X509Certificate argCertificate, String argSignatureId, boolean enveloped) throws SignatureProcessingException {
        try {

            Element _element2Sign = element2Sign != null ? element2Sign : argDocument.getDocumentElement();
            String referenceURI = _element2Sign.getAttribute("Id");
            
            /******************************************************************************************
            Для версии JDK >= 1.7.0_21 на строке  xmlSignature.sign(argPrivateKey); возникает ошибка, 
         	что элемент с идентификатором не найден.
            
            Решение найдено:
            
            http://stackoverflow.com/questions/17331187/xml-dig-sig-error-after-upgrade-to-java7u25
            
            Для чтобы исправить необходимо:
            	
            Пометить узел атрибута Id - как выполняющий роль идентификатора родительского узла
            ******************************************************************************************/
            Attr attributeNode = _element2Sign.getAttributeNode("Id");
			_element2Sign.setIdAttributeNode(attributeNode, true);
            
            if (referenceURI == null || "".equals(referenceURI.trim())) {
                referenceURI = _element2Sign.getAttributeNS(WSSU_NS, "Id");
            }
            if (referenceURI == null || "".equals(referenceURI.trim())) {
                referenceURI = "";
            }
...


Вверх


Offline

ikonovalov

 


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

1 марта 2016 г. 0:49:23(UTC)

ikonovalov

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

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

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

А кто-нибудь может мне объяснит природу отключения n. Ну будут текстовые ноды после элементов, но они же также уйдут в поток и будут учтены в подписи. Где подвох? Или это какая-то совместимость с чем-то?

Luxoft-Москва


Вверх


Offline

lstef

 


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

21 июня 2016 г. 10:30:15(UTC)

lstef

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

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

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

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

Скачал с гитхаба клиент, поставил jdk 1.7.0.5, 1.54 jcp, драйвера для RuToken, собрал.
Пытаюсь на примере экзампла всё построить.
Перенёс в настройки примера настройки из crypto.properties для SMEVExample
При запуске падает с ошибкой, что ключ не может буть null.
Вывод

Код:


		System.out.println(spPrivateKey);
		System.out.println(spCertificate);
		
		System.out.println(ovPrivateKey);
		System.out.println(ovCertificate);

показывает, что они все пустые.

при этом на той же связке jdk+jcp если я запускаю кусок кода из SMEVExample

Код:


// Инициализация Transforms алгоритмов.
		com.sun.org.apache.xml.internal.security.Init.init();
		/*
		// Инициализация JCP XML провайдера.
		if (!JCPXMLDSigInit.isInitialized()) {
			JCPXMLDSigInit.init();
		}
		// Инициализация null); ключевого контейнера.
		KeyStore keyStoreA = KeyStore.getInstance(SpecUtility.DEFAULT_STORETYPE);
		keyStoreA.load(null, null);
		// Получение ключа и сертификата.
		PrivateKey privateKey = (PrivateKey) keyStoreA.getKey(SpecUtility.DEFAULT_ALIAS, SpecUtility.DEFAULT_PASSWORD);
		X509Certificate cert = (X509Certificate) keyStoreA.getCertificate(SpecUtility.DEFAULT_ALIAS);

и ключ и сертификат находит и извлекает.

crypto.properties:

Код:


org.apache.ws.security.crypto.provider=wss4j.wss4j1_6_3.ws.security.components.crypto.MerlinEx
org.apache.ws.security.crypto.merlin.keystore.provider=JCP
org.apache.ws.security.crypto.merlin.keystore.type=RutokenStore
org.apache.ws.security.crypto.merlin.keystore.alias=RaUser-xxxxxxxx
org.apache.ws.security.crypto.merlin.keystore.password=123123123

настройки примера для клиента

Код:


// "JCP" или "DIGT"
private static final String CRYPTO_PROVIDER = "JCP";
// имя хранилища
private static final String STORE_NAME = "RutokenStore";
// имя контейнера ЭП-ОВ
private static final String CONTAINER_ALIAS = "RaUser-xxxxxxxx";
// пароль для контейнера ЭП-ОВ
private static final String CONTAINER_PASSWORD = "123123123";
// имя контейнера ЭП-СП
private static final String PERSONAL_CONTAINER_ALIAS = "RaUser-xxxxxxxx";
// пароль для контейнера ЭП-СП
private static final String PERSONAL_CONTAINER_PASSWORD = "123123123";

xmlsec в jre/lib/ext лежит версии 1.4.2


Вверх


Offline

Евгений Афанасьев

 


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

21 июня 2016 г. 12:01:02(UTC)

Евгений Афанасьев

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

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

Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,740
Российская Федерация
Откуда: Крипто-Про

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

Включить логирование в wss4j возможно? Вероятно, crypto.properties не читается либо настроен неправильно.

Тех. поддержка
База знаний
Логирование JCP
Логирование JTLS
Тест JCP и сбор диаг. информации
Скачать JCP, JCSP и JTLS
Скачать Android CSP + SDK


Вверх


Offline

lstef

 


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

21 июня 2016 г. 13:16:07(UTC)

lstef

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

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

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

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

Насколько я понял сам «клиент» он неиспользует crypto.properties и берёт всё это параметрами при инициализации.
Но что то внутри DigitalSignatureFactory идёт не так.

Код:

KeyStoreWrapper keyStore = DigitalSignatureFactory.getKeyStoreWrapper();

Пока решил проблему тем, что оставил инициализацию Фабрики подписей из примера использования клиента

Код:

DigitalSignatureFactory.init(CRYPTO_PROVIDER);

Далее получаю keyStore и Ключ + серт без обёрток и врапперов, которые предлагает использовать клиент

Код:

KeyStore keyStoreA = KeyStore.getInstance(SpecUtility.DEFAULT_STORETYPE);
keyStoreA.load(null, null);
PrivateKey privateKey = (PrivateKey) keyStoreA.getKey(SpecUtility.DEFAULT_ALIAS, SpecUtility.DEFAULT_PASSWORD);
X509Certificate cert = (X509Certificate) keyStoreA.getCertificate(SpecUtility.DEFAULT_ALIAS);

а дальше уже работают дальше в соответствии с «клиентским» Example


Вверх


Offline

lstef

 


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

22 июня 2016 г. 8:10:53(UTC)

lstef

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

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

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

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

Столкнулся с тем, что клиент возвращает эксепшен, о том что сообщение не соответствует бизнес логике и стало совершенно не понятно как проверить что он шлёт.
Т.к. вывод запроса и ответа дают null.
А есть подозрение, что шлёт он всё таки что то дельное, т.к. эксепшена на подпись нету, а сразу на структуру

Код:


                // можно включить трассировку запросов и ответов (по умолчанию выключена)
		InterceptorStorage.getRequest().setIntercept(true);
		InterceptorStorage.getResponse().setIntercept(true);

		// отправляем сообщение
		try {
			// используем ЭП-СП:
			PersonalSigner signPersonal = new KeyPersonalSignerImpl(spPrivateKey, spCertificate);
			messageExchange.getRequest(null);
			messageExchange.sendRequest(messageID, content, signPersonal, null, attachmentList);
		} catch (Exception exception) {
			// тут могут быть разные exception в зависимости от ответа сервиса
			exception.printStackTrace(System.err);
		}

		// через InterceptorStorage можно получить конверты запроса и ответа
		System.out.println(InterceptorStorage.getRequest().getString());
		System.out.println(InterceptorStorage.getResponse().getString());


Вверх


Offline

lstef

 


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

22 июня 2016 г. 15:40:41(UTC)

lstef

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

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

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

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

В общем сделал свою точку входа, повесил туда wsdl с тестового смева и сделал логирование данных в файл.
В итоге обнаружил, что хотя визуально всё работает, система формирует запрос, подписывает и отправляет, на практике данные поставщику в конверт не добавляются и запрос поставщику выглядит так:

Код:


<MessageTypeSelector Id="SIGNED_BY_CALLER">
	<Timestamp>2016-06-22T15:20:15.554+04:00</Timestamp>
</MessageTypeSelector>

То есть всё что я пытаюсь «запихнуть» в контент — игнорируется.
Как и добавляемые в аттачмент файлы.


Вверх


Offline

t1nk

 


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

16 сентября 2016 г. 17:13:58(UTC)

t1nk

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

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

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

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

Есть какие-нибудь результаты ?


Вверх

WWW

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

Guest

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

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

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

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

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

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

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

link

Скопировать прямую
ссылку на статью

Сертификат, предоставляемый удостоверяющим центром, содержит открытый ключ – это файл с расширением .cer, и закрытый – папка с 6 файлами:

Ошибка_сертификата_1.png

Для настройки подписи в адаптере, необходимо поместить ключи электронной подписи в определенную директорию.

При этом, при настройке ИС в адаптере при проверке подписи, может возникнуть такая ошибка:

Ошибка_сертификата_2.png

То есть, во-первых, адаптер видит доступный псевдоним, но пишет, что не находит его. Во-вторых, возникает ошибка генерации тестовой подписи: private key or certificate not set.

 

Фактически, это значит, что в файлах закрытого ключа сертификата нет данных об его открытой части.

Как исправить ошибку?

1. На любом ПК, где установлено ПО Крипто про JPC, поместить ключи электронной подписи в целевую директорию. (CentOS: /var/opt/cprocsp/keys/ИМЯ ПОЛЬЗОВАТЕЛЯ, Windows: C:UsersИМЯ ПОЛЬЗОВАТЕЛЯAppDataLocalCrypto Pro).
2. Открыть панель JCP_ControlPanel.
3. На вкладке «Хранилища ключей и сертификатов» найти сертификат, и открыть его, указав пароль:

Ошибка_сертификата_3.png


4. Нажать «Добавить»

Ошибка_сертификата_4.png

5. Выбрать открытый ключ сертификата – файл с расширением .cer.

Должно получиться так:
Ошибка_сертификата_5.png

6. Из целевой директории скопировать папку с закрытой частью сертификата (должна поменяться дата изменения и объем у 4 вложенных файлов) и далее при настройке адаптера использовать её.

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

Ошибка_сертификата_6.png


JAR проблемы файла xmlsec-1.2.1.jar в большинстве случаев связаны с повреждением, отсутствием или заражением файлов QuickBooks Accounting Mac 2009. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл JAR, из-за которого возникает проблема. В качестве последней меры мы рекомендуем использовать очиститель реестра для исправления всех недопустимых xmlsec-1.2.1.jar, расширений файлов JAR и других ссылок на пути к файлам, по причине которых может возникать сообщение об ошибке.

Загрузите новую версию xmlsec-1.2.1.jar для %%os%% в списке файлов ниже. Также доступны варианты для других версий Windows (при необходимости). В некоторых случаях в настоящее время в нашей базе могут отсутствовать некоторые версии xmlsec-1.2.1.jar, но их можно запросить, нажав на кнопку Request (Запрос) ниже. Кроме того, Intuit Inc. также может предоставить вам некоторые редкие файлы, которые отсутствуют в нашем каталоге.

Если вы успешно заменили соответствующий файл в соответствующем месте, у вас больше не должно возникать проблем, связанных с xmlsec-1.2.1.jar. Однако мы рекомендуем выполнить быструю проверку, чтобы окончательно в этом убедиться. Проверьте результат замены файла, запустив QuickBooks Accounting Mac 2009 и проверив выводится ли возникающая ранее ошибка.

Xmlsec-1.2.1.jar Описание файла
Расширение: JAR
Категория: Accounting
Application: QuickBooks Accounting Mac 2009
Версия: 2008
Разработчик: Intuit Inc.
 
Имя файла: xmlsec-1.2.1.jar  

Размер (в байтах): 292712
SHA-1: 39f2355440895826292ff7c2e6655fdff9eb2744
MD5: 1ec887e091632e020866d47438312808
CRC32: fe57dd88

Продукт Solvusoft

Загрузка
WinThruster 2023 — Сканировать ваш компьютер на наличие ошибок реестра в xmlsec-1.2.1.jar

Windows
11/10/8/7/Vista/XP

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

JAR
xmlsec-1.2.1.jar

Идентификатор статьи:   419677

Xmlsec-1.2.1.jar

File Идентификатор файла (контрольная сумма MD5) Байт Загрузить
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application QuickBooks Accounting Mac 2009 2008
Создано Intuit Inc.
Версия ОС Mac OS X 10.5.4
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application Quickbooks Pro for Mac 2007 2006
Создано Intuit Inc.
Версия ОС Windows 10
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88
каталог C:WindowsSystem32
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application Intuit QuickBooks 2010 for Mac 2009
Создано Intuit Inc.
Версия ОС Mac OS X 10.5.7
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application Intuit QuickBooks 2010 for Mac 2009
Создано Intuit Inc.
Версия ОС Mac OS X 10.6
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application Quickbooks Mac 2012 2011
Создано Intuit Inc.
Версия ОС Mac OS X 10.6.7
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application Quickbooks Mac 2012 2011
Создано Intuit Inc.
Версия ОС Mac OS X 10.7
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88
+ xmlsec-1.2.1.jar 1ec887e091632e020866d47438312808 285.85 KB
Application QuickBooks Small Business Accounting Mac 2011 2010
Создано Intuit Inc.
Версия ОС Mac OS X 10.6
Тип 64-разрядная (x64)
Размер файла 292712
Контрольная сумма MD5 1ec887e091632e020866d47438312808
ША1 39f2355440895826292ff7c2e6655fdff9eb2744
CRC32: fe57dd88

Классические проблемы Xmlsec-1.2.1.jar

Частичный список ошибок xmlsec-1.2.1.jar QuickBooks Accounting Mac 2009:

  • «Ошибка в файле Xmlsec-1.2.1.jar.»
  • «Отсутствует файл Xmlsec-1.2.1.jar.»
  • «Не удалось найти xmlsec-1.2.1.jar. «
  • «Не удалось загрузить xmlsec-1.2.1.jar. «
  • «Ошибка регистрации Xmlsec-1.2.1.jar. «
  • «Ошибка выполнения: xmlsec-1.2.1.jar.»
  • «Не удается загрузить xmlsec-1.2.1.jar. «

Проблемы QuickBooks Accounting Mac 2009 xmlsec-1.2.1.jar возникают при установке, во время работы программного обеспечения, связанного с xmlsec-1.2.1.jar, во время завершения работы или запуска или менее вероятно во время обновления операционной системы. Отслеживание того, когда и где возникает ошибка xmlsec-1.2.1.jar, является важной информацией при устранении проблемы.

Истоки проблем Xmlsec-1.2.1.jar

Эти проблемы xmlsec-1.2.1.jar создаются отсутствующими или поврежденными файлами xmlsec-1.2.1.jar, недопустимыми записями реестра QuickBooks Accounting Mac 2009 или вредоносным программным обеспечением.

Особенно эти ошибки xmlsec-1.2.1.jar проистекают из:

  • Недопустимый xmlsec-1.2.1.jar или поврежденный раздел реестра.
  • Файл xmlsec-1.2.1.jar поврежден от заражения вредоносными программами.
  • xmlsec-1.2.1.jar злонамеренно или ошибочно удален другим программным обеспечением (кроме QuickBooks Accounting Mac 2009).
  • xmlsec-1.2.1.jar конфликтует с другой программой (общим файлом).
  • Поврежденная загрузка или неполная установка программного обеспечения QuickBooks Accounting Mac 2009.

package ru.voskhod.crypto; import org.apache.xml.security.algorithms.JCEMapper; import org.apache.xml.security.algorithms.SignatureAlgorithm; import org.apache.xml.security.transforms.Transform; import org.w3c.dom.Document; import org.w3c.dom.Element; import ru.voskhod.crypto.exceptions.SigLibInitializationException; import ru.voskhod.crypto.impl.CacheOptions; import ru.voskhod.crypto.impl.CachingKeyStoreWrapper; import ru.voskhod.crypto.impl.DigitalSignatureProcessorImpl; import ru.voskhod.crypto.impl.SmevTransformSpi; import ru.voskhod.crypto.impl.csp_tj.TrustedKeyStoreWrapperCSP; import ru.voskhod.crypto.impl.jcp.KeyStoreWrapperJCP; import javax.xml.parsers.DocumentBuilderFactory; public class DigitalSignatureFactory { private static String providerName = null; private static volatile DigitalSignatureProcessor processor = null; private static volatile KeyStoreWrapper keyStoreWrapper = null; public static final String CSP_TJ_PROVIDER_NAME = «DIGT»; public static final String JCP_PROVIDER_NAME = «JCP»; public static synchronized void init(String providerName) throws SigLibInitializationException { if (processor == null) { if (providerName == null) { throw new IllegalArgumentException(«Метод вызван впервые. Должно быть задано имя провайдера»); } try { if (CSP_TJ_PROVIDER_NAME.equals(providerName)) { initXmlSec(«com.digt.trusted.xmlsig.SignatureStraightGostR34102001GostR3411»); keyStoreWrapper = new TrustedKeyStoreWrapperCSP(); } else if (JCP_PROVIDER_NAME.equals(providerName)) { initXmlSec(«ru.CryptoPro.JCPxml.xmldsig.SignatureGostR34102001$SignatureGostR34102001GostR3411»); keyStoreWrapper = new KeyStoreWrapperJCP(); } else { throw new SigLibInitializationException(«Процессор для запрошенного провайдера не найден!»); } } catch (SigLibInitializationException e) { throw e; } catch (Exception e) { throw new SigLibInitializationException(«Не удалось инищиализировать фабрику!», e); } DigitalSignatureFactory.providerName = providerName; processor = new DigitalSignatureProcessorImpl(); } else { if (!DigitalSignatureFactory.providerName.equals(providerName)) { throw new SigLibInitializationException(«Процессор уже инициализирован для криптопровайдера: « + DigitalSignatureFactory.providerName + «!»); } } } /** * Все что происходит здесь — магия. В теории этого делать не нужно, т.к. необходимый конфиг лежит внутри Trusted Java, но без этого не работает. * Желающие могут разобратся. * * @throws ru.voskhod.crypto.exceptions.SigLibInitializationException В слуючае если произошли проблемы. */ private static void initXmlSec(String algorithmClassName) throws SigLibInitializationException { try { // При формировании элемента Signature будут убраны все разрывы между элементами. System.setProperty(«org.apache.xml.security.ignoreLineBreaks», «true»); // Регистрируем реализации алгоритмов в xmlsec. try { Class.forName(algorithmClassName); SignatureAlgorithm.providerInit(); SignatureAlgorithm.register(DigitalSignatureProcessorImpl.XMLDSIG_SIGN_METHOD, algorithmClassName); } catch (Exception e) { throw new SigLibInitializationException(«Не удалось зарегистрировать алгоритм: « + DigitalSignatureProcessorImpl.XMLDSIG_SIGN_METHOD + «/» + algorithmClassName + «. Убедитесь что выбраный провайдер действительно установлен!», e); } // Готовим конфиг маппинга алгоритмов для JCEMapper. String NameSpace = «http://www.xmlsecurity.org/NS/#configuration»; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); Document doc = dbf.newDocumentBuilder().newDocument(); Element root = doc.createElementNS(NameSpace, «JCEAlgorithmMappings»); Element algs = doc.createElementNS(NameSpace, «Algorithms»); Element el1 = doc.createElementNS(NameSpace, «Algorithm»); // Подпись по ГОСТу. el1.setAttribute(«URI», DigitalSignatureProcessorImpl.DIGEST_METHOD); el1.setAttribute(«Description», «GOST R 3411 Digest»); el1.setAttribute(«AlgorithmClass», «MessageDigest»); el1.setAttribute(«RequirementLevel», «OPTIONAL»); el1.setAttribute(«JCEName», «GOST3411»); algs.appendChild(el1); Element el2 = doc.createElementNS(NameSpace, «Algorithm»); el2.setAttribute(«URI», DigitalSignatureProcessorImpl.XMLDSIG_SIGN_METHOD); el2.setAttribute(«Description», «GOST R 34102001 Digital Signature Algorithm with GOST R 3411 Digest»); el2.setAttribute(«AlgorithmClass», «Signature»); el2.setAttribute(«RequirementLevel», «OPTIONAL»); el2.setAttribute(«JCEName», «GOST3411withGOST3410EL»); algs.appendChild(el2); // SAML отправка. Element el3 = doc.createElementNS(NameSpace, «Algorithm»); el3.setAttribute(«URI», «http://www.w3.org/2000/09/xmldsig#rsa-sha1»); el3.setAttribute(«Description», «RSA Signature with SHA-1 message digest»); el3.setAttribute(«AlgorithmClass», «Signature»); el3.setAttribute(«RequirementLevel», «RECOMMENDED»); el3.setAttribute(«JCEName», «SHA1withRSA»); algs.appendChild(el3); // SAML получение. Element el4 = doc.createElementNS(NameSpace, «Algorithm»); el4.setAttribute(«URI», «http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p»); el4.setAttribute(«Description», «Key Transport RSA-OAEP»); el4.setAttribute(«AlgorithmClass», «KeyTransport»); el4.setAttribute(«RequirementLevel», «REQUIRED»); el4.setAttribute(«RequiredKey», «RSA»); el4.setAttribute(«JCEName», «RSA/ECB/OAEPWithSHA1AndMGF1Padding»); algs.appendChild(el4); Element el5 = doc.createElementNS(NameSpace, «Algorithm»); el5.setAttribute(«URI», «http://www.w3.org/2001/04/xmlenc#aes128-cbc»); el5.setAttribute(«Description», «Block encryption using AES with a key length of 128 bit»); el5.setAttribute(«AlgorithmClass», «BlockEncryption»); el5.setAttribute(«RequirementLevel», «REQUIRED»); el5.setAttribute(«KeyLength», «128»); el5.setAttribute(«RequiredKey», «AES»); el5.setAttribute(«JCEName», «AES/CBC/ISO10126Padding»); algs.appendChild(el5); // SAML и когда-то потом еще нужен. root.appendChild(algs); doc.appendChild(root); Element el6 = doc.createElementNS(NameSpace, «Algorithm»); el6.setAttribute(«URI», «http://www.w3.org/2000/09/xmldsig#sha1»); el6.setAttribute(«Description», «SHA-1 message digest»); el6.setAttribute(«AlgorithmClass», «MessageDigest»); el6.setAttribute(«RequirementLevel», «REQUIRED»); el6.setAttribute(«JCEName», «SHA-1»); algs.appendChild(el6); // Обязательная инициализация xmlsec. org.apache.xml.security.Init.init(); // Реализация дополнительной трансформации. Transform.register(SmevTransformSpi.ALGORITHM_URN, SmevTransformSpi.class.getName()); // Передаем собраный конфиг. JCEMapper.init(root); } catch (SigLibInitializationException e) { throw e; } catch (Exception e) { throw new SigLibInitializationException(«Возникли проблемы при инициализации XmlSec!», e); } } public static DigitalSignatureProcessor getDigitalSignatureProcessor() throws SigLibInitializationException { DigitalSignatureProcessor p = processor; if (p == null) { throw new SigLibInitializationException(«Перед использованием фабрику необходимо инициализировать!»); } return p; } public static KeyStoreWrapper getKeyStoreWrapper() throws SigLibInitializationException { return getKeyStoreWrapper(null); } public static KeyStoreWrapper getKeyStoreWrapper(CacheOptions options) throws SigLibInitializationException { KeyStoreWrapper ks = keyStoreWrapper; if (ks == null) { throw new SigLibInitializationException(«Перед использованием фабрику необходимо инициализировать!»); } if (options == null) { return ks; } else { return new CachingKeyStoreWrapper(ks, options); } } }

Offline

JVM

 


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

25 апреля 2022 г. 14:28:50(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Добрый день, помогите пожалуйста с шифрованием, не могу понять правильный способ для вычисления хэша. У меня есть пример референса
<CanonicalizationMethod Algorithm=»urn:xml-dsig:transformation:v1.1″/>
<SignatureMethod Algorithm=»urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256″/>
<Reference URI=»#KeyInfo»>
<Transforms>
<Transform Algorithm=»urn:xml-dsig:transformation:v1.1″/>
</Transforms>
<DigestMethod Algorithm=»urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256″/>
<DigestValue>NXRbKBKPVVp+D+6WRVr99NKHKmSwNA1mJscchwf3SV4=</DigestValue>
</Reference>
У кого нибудь есть рабочий код для вычисления хэша, буду очень благодарен, думаю многим поможет в будущем


Вверх


Offline

JVM

 


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

25 апреля 2022 г. 20:40:31(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Нашел в темах что смотрят в samples-sources.jar, написано что должно быть в дистрибутиве JCP. Скачал версию КриптоПро JCP и JTLS R2 (2.0.40035) и КриптоПро JCP и JTLS R4 (2.0.41789), но jarника не нашел, не подскажите где он, может остался у кого?


Вверх


Online

Александр Лавник

 


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

26 апреля 2022 г. 8:59:23(UTC)

Александр Лавник

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

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

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

Сказал «Спасибо»: 51 раз
Поблагодарили: 719 раз в 672 постах

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

Нашел в темах что смотрят в samples-sources.jar, написано что должно быть в дистрибутиве JCP. Скачал версию КриптоПро JCP и JTLS R2 (2.0.40035) и КриптоПро JCP и JTLS R4 (2.0.41789), но jarника не нашел, не подскажите где он, может остался у кого?

В составе дистрибутивов все есть, например, в JCP 2.0.40035:

2.0.40035.zipjcp-2.0.40035samples-sources.jar

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

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


Вверх


Offline

JVM

 


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

26 апреля 2022 г. 9:21:24(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Спасибо, нашел, видимо он раньше был в javadoc или doc, в предыдущих темах писали про эти папки.


Вверх


Offline

JVM

 


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

26 апреля 2022 г. 18:04:35(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Не подскажите падает на XMLSignature sig = new XMLSignature(newDoc, «», «»urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256″»);

The requested algorithm urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256 does not exist.

Видел похожую проблему в темах, посоветовали поставить xmlsec-1.5.0.jar в папку java
Перед запуском надо инициализировать Init.init() а то ругается, чего не хватает подскажите пожалуйста
Пробовал после добавлять XmlInit.init() не помогло, JCPXMLDSigInit.Init() тоже не помог


Вверх


Offline

JVM

 


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

26 апреля 2022 г. 18:29:19(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Добавлял System.setProperty(«org.apache.xml.security.resource.config», «resource/jcp.xml»);
таже ошибка


Вверх


Offline

JVM

 


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

26 апреля 2022 г. 18:50:56(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Вообще у меня вместо org.apache… com.sun.org.apache и пришлось еще в мавен прикручивать, может в этом дело? Причем обычный org.apache не видит
<dependency>
<groupId>com.sun.xml.security</groupId>
<artifactId>xml-security-impl</artifactId>
<version>1.0</version>
</dependency>


Вверх


Offline

JVM

 


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

27 апреля 2022 г. 11:15:18(UTC)

JVM

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

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

Зарегистрирован: 25.04.2022(UTC)
Сообщений: 9
Российская Федерация

Разобрался с иницализацией, документ подписывается. Не подскажите как сделать что бы в подписи появился элемент Object, чтобы подпись была оборачивающей. Может где примеры есть?


Вверх

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

Guest

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

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

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

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

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

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

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

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

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На чтение 15 мин Просмотров 1.1к. Опубликовано 13.04.2021

Содержание

  1. Причины ошибки
  2. Как решить проблему генерации сертификата
  3. Что еще можно сделать?
  4. Нагрузка сервера сайта ФНС
  5. Заключение
  6. Виды и типы электронных подписей
  7. Механизм отправки документов подписанных усиленной электронной подписью
  8. Как создать электронную подпись в личном кабинете налогоплательщика
  9. Ошибка генерации сертификата ЭП
  10. Что делать если Вы забыли пароль для доступа к сертификату ключа проверки электронной подписи
  11. Схема создания ЭП
  12. Инструкция получения ЭП
  13. Возникновение ошибки генерации сертификата
  14. Варианты решения проблемы
  15. Просмотр реквизитов сертификата
  16. Остались вопросы?

После обновления личного кабинета в ИФНС пользователи массово столкнулись с проблемой «Ошибка генерации сертификата». Работа личного кабинета была переведена на новую версию и при подаче деклараций или уточнении люди столкнулись с проблемой. В новой версии кабинета необходимо получить новую электронную подпись. И как раз таки при выборе способа получения ЭП появляется «Ошибка генерации сертификата».
По отзывам пользователей в старом кабинете все функционирует нормально, однако на данный момент там нельзя уточнить, создать декларацию за 2017 год.
Поскольку вопросов много вначале кратко расскажем о возможных причинах этого сбоя, а ниже дадим советы и рекомендации как попытаться сгенерировать новый сертификат самостоятельно.

Причины ошибки

Официальный ответ от разработчиков содержит информацию, что в личном кабинете проводились регламентные работы, в связи с которыми появлялся данный сбой и советуют повторить операцию позже. Однако следующие попытки безрезультатны. Такое программное обеспечение необходимо тестировать и проверять под все популярные версии операционных систем и браузеров. А так как систем и веб браузеров много — система должна работать на 100%. И перед обновлением должна быть протестирована на ошибки и баги.
Ситуация усугубляется тем, что по отзывам пользователей данная ситуация продолжается с февраля 2019, а за это время можно было провести необходимые тесты и проверить работоспособность.

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

Как решить проблему генерации сертификата

По мере поступления проверенной рабочей информации мы будем публиковать ниже инструкции для решения ошибок с генераций электронной подписи и других сбоев в ЛК.

  • Выбираем вариант «Электронная подпись хранится на Вашей рабочей станции».

Электронная подпись хранится на Вашей рабочей станции

Что еще можно сделать?

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

Нагрузка сервера сайта ФНС

Во время частых запросов и обращений к сайту налоговой «Ошибка генерации сертификата» частое явление, из-за постоянных обращений к сайту сервер может не выдерживать нагрузки. Как одна из причин сбой может появляться из-за большой загруженности портала Федеральной Налоговой Службы. Самый пик приходится на последние дни подачи налоговых деклараций от физических лиц и организаций. Большая часть из которых выпадает на первые кварталы года. Как вариант в таком случае действительно приходится ждать и повторять выпуск снова.

Заключение

Надеюсь мы разъяснили некоторые моменты в работе нового ЛК ФНС. Пробуйте исправить ошибку создания сертификата с помощью инструкции выше и сообщите помог ли вам способ. Если вам известные другие методы решения проблемы — сообщите нам в форме комментариев ниже и мы дополним нашу статью для помощи будущим читателям.
Информация представлена для ознакомления, более свежие новости смотрите на официальном сайте Госуслуг.

В прошлой статье мы разбирались с декларацией 3-НДФЛ и перед отправкой документов в личном кабинете налогоплательщика вводили пароль к сертификату электронной подписи, или выражаясь простым языком подписывали наши «толмуты» электронной подписью.

Отчёты по ИП и ООО можно сделать бесплатно здесь.

Как-то я упустил из виду, что не все знают что это такое. Тема полезная как для помощи при создании электронной подписи в своём личном кабинете налогоплательщика так и для общего образования. Учитывая, что многие мои читатели пенсионеры — люди преклонного возраста и недостаточно уверенные в общении с компьютером, «разложу всё по полочкам».

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

Виды и типы электронных подписей

Скажу сразу, видов не великое множество, а всего два:

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

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

Бывают усиленные тоже двух типов:

  • квалифицированная электронная подпись;
  • неквалифицированная;

В налоговой создаётся неквалифицированная усиленная электронная подпись и использоваться она может в документообороте только в рамках ИФНС! А вот использование квалифицированной подписи гораздо шире, но для её получения необходимо лично обратиться в удостоверяющий цент, аккредитованный Минкомсвязи России. И эта услуга платная.

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

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

Механизм отправки документов подписанных усиленной электронной подписью

Правильнее было бы использовать слово алгоритм вместо механизм. Но не буду пугать основную часть нашей аудитории — пенсерменов «заумными» словами. И далее не пугайтесь, всё разъясню. Итак, как же, например, товарищ Иванов передаёт Налоговой через интернет подписанные документы? Да ещё чтоб их никто не смог прочитать и подменить. Научным языком примерно так:

Вначале Иванов и Налоговая генерируют открытые и закрытые ключи шифрования. Затем обмениваются открытыми между собой. На следующем этапе:

  1. Иванов шифрует «послание» своим закрытым ключом и как результат происходит его подписывание.
  2. Далее Иванов шифрует открытым ключом, который перед этим ему отправила Налоговая то, что получилось после выполнения пункта 1. Теперь никто посторонний не сможет ничего прочитать, если даже перехватит.
  3. После того как Налоговая получила «послание» Иванова, она сначала расшифровывает его своим закрытым ключом и видит там зашифрованный документ Иванова.
  4. Тут-то «Налоговая» расшифровывает его с помощью открытого ключа переданного ей Ивановым в самом начале. В результате чего происходит сверка подписи Иванова.

А на «рабоче-крестьянском» языке «явок и паролей» это будет приблизительно похоже на такое мероприятие:

Сначала Иванов готовит чемодан с запасным ключом и бумагу с собственноручно подписанными реквизитами, а Налоговая шкатулку тоже с запасным ключом. Идут на почту и отправляют друг другу посылки. Иванов укладывает в бандероль ключик от чемодана, а в ценное письмо бумагу со своими реквизитами и отправляет по отдельности. Налоговая — шкатулку посылкой и бандероль с одним ключиком тоже отдельно.

Иванов, получив посылку и бандероль прячет, например, свою подписанный документ в шкатулку и закрывает её ключом из полученной бандероли. Укладывает эту секретную шкатулку в свой чемодан и тоже закрывает уже на свой ключ. А потом посылкой отправляет эту «матрёшку» в Налоговую. Ключи от шкатулки и чемодана оставляет у себя.

Налоговая получает посылку и бандероль. Все ключики у неё уже имеются и если они подходят, она открывает ими и чемодан и шкатулку. Смотрит и сверяет подпись и реквизиты, указанные в документе с теми , что пришли ценной бандеролью ранее. Если всё совпадает и никаких исправлений и подозрений нет, то принимает их в работу.

Эту «белеберду» я написал для того, чтобы было понятно — усиленная электронная подпись это очень серьёзная штука с высочайшем уровнем защиты. И тот пароль, который Вы вводите для отправки электронного документа, это не просто пароль, как например для входа в «Одноклассники», а можно сказать, очень сложный механизм для запуска всех этих процессов шифрования, обмена данными, дешифрования, сверки данных.

Я уже не буду вдаваться в подробности о терминах. Например, что значит сертификат ключа проверки электронной подписи. Почему так, а не просто подпись. Хватит, и так столько ахинеи нанёс, что у самого голова пухнет. Ближе к теме.

Как создать электронную подпись в личном кабинете налогоплательщика

Если у Вас уже была электронная подпись в старой версии личного кабинета, то в новой (с 2018 года) её уже не будет и пароля естественно тоже. Так что сертификат ЭП придётся создавать заново.

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

  1. выбираете вкладку «Получить ЭП»;
  2. вариант хранения электронной подписи;
  3. устанавливаете пароль для доступа к сертификату;
  4. вводите его ещё раз;
  5. жмёте кнопку «Отправить запрос»:

Почему лучше выбрать хранение ключа в системе ФНС России, думаю у Вас вопросов не вызовет. Если Вы прочитали разъяснения, то заметили и сами неоспоримые преимущества именно этого варианта.

После отправки запроса появляется окно ожидания с крутящимся кружочком. Иногда оно может задержаться на довольно таки продолжительное время:

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

во всплывшем после этого окне ввести пароль, который Вы уже вводили дважды в самом начале и кнопка «Далее»:

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

Ошибка генерации сертификата ЭП

В первое время после запуска сайта налоговой это было довольно таки частое явление. Потом как бы всё «устаканилось». Сейчас вновь стали возникать такие «глюки». Я, например, об этом узнаю глядя на статистику посещаемости этого блога. Она резко возрастает. И всё за счёт статьи, которую вы сейчас читаете.

По этому поводу могу лишь сказать, что тут дело, скорее всего, не в вас и не в пароле, а в перегруженности портала ФНС. Особенно сильно это проявляется в последние дни сдачи налоговых деклараций организаций и прочих налоговых выплат физических лиц. Львиная доля их приходится обычно на первый квартал, то есть начало года.

Так что если на Вашем мониторе вышла надпись «Ошибка генерации сертификата электронной подписи» особо не расстраивайтесь. Наберитесь терпения и попробуйте проделать эту операцию ещё раз. А лучше вернитесь к этому в другой день. Возможно «глюки» к этому времени закончатся и Вам повезёт.

Что делать если Вы забыли пароль для доступа к сертификату ключа проверки электронной подписи

Не огорчайтесь. Ничего страшного в этом нет. Это же не пароль от личного кабинета налогоплательщика, в случае утраты которого, придётся повторно посещать ИФНС. Это в том случае, если Вы не потрудились задать кодовое слово для его восстановления по электронной почте.

Здесь всё гораздо проще. Обратите внимание на нижнее окно там есть ссылка «Отозвать текущий сертификат». Смело щёлкайте по ней и после этого создавайте новый сертификат и у Вас будет новый пароль:

Если Вы всё-таки опасаетесь сразу это делать, можете для убедительности сначала щёлкнуть на «Просмотреть сертификат»:

Перед вами откроется следующее окно, которое, надеюсь развеет Ваши сомнения:

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

Удачи Вам ! И до скорых встреч на страницах блога «ПенсерМен».

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

Схема создания ЭП

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

  • применяется в документообороте в рамках ФНС;
  • система шифрования характеризуется высоким уровнем защиты.

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

Инструкция получения ЭП

Следуя описанной ниже схеме, пользователь быстро зарегистрирует сертификат. Для этого нужно:

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

Внимание! Когда происходит направление информации на сервис, на странице появляется «Генерация электронной подписи».

Обратите внимание! Для процесса требуется установка программы, которая занимается генерацией ключей. Все характеристики указываются под пунктом «Требования к системе». Предусмотрены версии для операционных систем Windows и MacOs.

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

Возникновение ошибки генерации сертификата

В процессе регистрации пользователь может получить сообщение: «Ошибка генерации сертификата». Инцидент случается по разным причинам:

  • проведение технических работ на сайте ФНС;
  • регистрация ЭП занимает в большинстве случае продолжительное время.

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

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

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

Варианты решения проблемы

Если происходит выявление проблемы ошибки при формировании ЭП в кабинете налогоплательщика, стоит прибегнуть к одному из способов:

  • повторно попробовать загрузить сертификат – часто вторичная или третичная попытка заканчивается успехом, так как система может быть перезагружена заявками;
  • ознакомиться с графиком проведения технических работ на сайте ФНС и перенести процедуру на другой день;
  • после отправки запроса на регистрацию электронного ключа выйти из кабинета, так как уведомление о присвоении сертификата поступит при следующей авторизации;
  • обратиться в отделение налоговой службы, предъявив ИНН и паспорт.

Важно знать! Часто первичный запуск генерации сертификата не позволяет получить данные. Однако при повторе операции все заканчивается удачно. Причем вторичный запрос производится в тот же день или спустя неделю.

Просмотр реквизитов сертификата

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

  • просмотр;
  • отзыв.

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

Ввиду безопасности использования ЭП устанавливается короткий период функционирования кода. По прошествии 3 месяцев следует повторно запросить формирование ключей.

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

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

Остались вопросы?

Проконсультируйтесь у юриста (бесплатно, круглосуточно, без выходных):

Внимание! Юристы не записывают на приём, не проверяют готовность документов, не консультируют по адресам и режимам работы МФЦ, не оказывают техническую поддержку по порталу Госуслуг!

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка генерации тела t flex булева операция
  • Ошибка генерации ссылок для загрузки что делать