Внедрение БСП на примере релиза 3.1.3.339

Внедрение БСП на примере релиза 3.1.3.339 Электронная цифровая подпись

Начало внедрения бсп в новую конфигурацию

Добрый день, коллеги.

Возникла необходимость разработать свою конфигурацию. И, для упрощения жизни себе, и соблюдения каких-никаких, но стандартов решил начать с внедрения БСП 2.4.4.80.

Хочу поделиться своими первыми вопросами и их решением.

Вначале я попробовал использовать обработку “ПервоеВнедрениеБСП.epf”.

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

Внедрение БСП на примере релиза 3.1.3.339

В конфигураторе сравнил свою (пустую) конфигурацию с конфигурацией БСП.

Установил данные настройки.

Закомментировал модули управляемого приложения и сеанса – чтобы просто запустить окно и перейти к шагу 3 данной обработки:

Внедрение БСП на примере релиза 3.1.3.339

Запустил… Мягко говоря, ошибок было очень и очень много.

Тогда я решил перенести все подсистемы, а ненужные постепенно выкинуть.

Залез в туже обработку, установил все флажки и думаю: “должно быть все Ок”

Но, не тут-то было. Было куча ошибок на то, что нет общих модулей. Т.е. подсистемы то он вроде как должен был перенести, но для обмена он не поотмечал кучу общих модулей. И хоть сами подсистемы мне особо не нужны, он их мало того, что не перенес ко мне, так еще и не удалил их на третьем шаге – ведь я отметил, что мне нужна эта подсистема.

Тогда я полез в конфигуратор и начал объединять вручную.

Выбрал пункт “Действия…->Отметить по подсистемам файла”.

И снова выбрал все подсистемы:

Внедрение БСП на примере релиза 3.1.3.339

Но тут я решил глазами пробежаться проверить – все ли он мне отметил. Наученный уже)

Хочу обратить ваше внимание – не поленитесь так сделать. Я нашел несколько “лишних” объектов, которые были отмечены к объединение с префиксом “_Демо”. Так же были не отмечены некоторые обработки, которые мне были интересны на начальном этапе – их я тоже отметил.

После объединения (Напомню, это шаг 2 обработки) переходим к шагу 3.

И вот тут я столкнулся с тем, что у меня ничего не работает. И ругается он на отстутствие объектов с префиксами “_Демо”.

Полез в код и нашел кучу вызовов наподобие:

// _Демо начало примера
     _ДемоСтандартныеПодсистемы.ПриОпределенииОбщихПараметровБазовойФункциональности(ОбщиеПараметры);
// _Демо конец примера

Не удалять же их вручную. Как говорится, “я же программист”. Полезли в обработку “Первое внедрение БСП” и нашел там код, отвечающий за 3-й шаг обработки – удаление вызовов неиспользуемых подсистем.

Для того, чтобы автоматически удалить ненужные нам вызовы надо сказать обработке, что “_Демо” – это тоже подсистема, которую тоже надо удалить.

Для этого надо вставить буквально пару строк кода. Функция “СписокПодсистемДляУдаления” примет вид (добавленные строки выделены комментариями):

&НаСервере
Функция СписокПодсистемДляУдаления();
	
	СписокПодсистем = Подсистемы.Выгрузить(, "Имя").ВыгрузитьКолонку("Имя");
	СписокИспользуемыхПодсистем = СписокИспользуемыхПодсистем();
	
	ПодсистемыДляУдаления = Новый Массив;
	Для Каждого ИмяПодсистемы Из СписокПодсистем Цикл
		Если СписокИспользуемыхПодсистем.Найти(ИмяПодсистемы) = Неопределено Тогда 
			ПодсистемыДляУдаления.Добавить("СтандартныеПодсистемы."   ИмяПодсистемы);
		КонецЕсли;
	КонецЦикла;
	
	//Kim
	//BeginingChange
	ПодсистемыДляУдаления.Добавить("_Демо");
	//EndChange
	
	Возврат ПодсистемыДляУдаления;
	
КонецФункции

И в процедуре “Процедура ВырезатьФрагментыПодсистемыВТексте” примет следующий вид:

&НаСервере
Процедура ВырезатьФрагментыПодсистемыВТексте(ИмяФайлаМодуля, ИмяПодсистемы, СтрокаТекста, ЧислоЗамен, Ошибки)
	
	НачалоФрагмента = НайтиНачалоФрагмента(СтрокаТекста, ИмяПодсистемы);
	Пока НачалоФрагмента > 0 Цикл
		
		ПозицияКонцаФрагмента = НайтиКонецФрагмента(СтрокаТекста, ИмяПодсистемы);
		Если ПозицияКонцаФрагмента = 0 Тогда
			ТекстСообщения = НСтр("ru = '[ИмяФайлаМодуля]: для открывающей скобки [НачалоФрагмента] не обнаружена закрывающая скобка.'");
			ТекстСообщения = СтрЗаменить(ТекстСообщения, "[НачалоФрагмента]", "// "   ИмяПодсистемы);
			ТекстСообщения = СтрЗаменить(ТекстСообщения, "[ИмяФайлаМодуля]", ИмяФайлаМодуля);
			ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщения);
			Ошибки = Ошибки   Символы.ПС   ТекстСообщения;
			Возврат;
		КонецЕсли; 				
		
		Если ПозицияКонцаФрагмента < НачалоФрагмента Тогда
			ТекстСообщения = НСтр("ru = '[ИмяФайлаМодуля]: для открывающей скобки [НачалоФрагмента] закрывающая скобка расположена выше по тексту.'");
			ТекстСообщения = СтрЗаменить(ТекстСообщения, "[НачалоФрагмента]", "// "   ИмяПодсистемы);
			ТекстСообщения = СтрЗаменить(ТекстСообщения, "[ИмяФайлаМодуля]", ИмяФайлаМодуля);
			ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщения);
			Ошибки = Ошибки   Символы.ПС   ТекстСообщения;
			Возврат;
		КонецЕсли; 	

		ДлинаНачалаФрагмента = СтрДлина("// "   ИмяПодсистемы);
		ПромежуточнаяСтрока = Сред(СтрокаТекста, НачалоФрагмента   ДлинаНачалаФрагмента   1, ПозицияКонцаФрагмента - (НачалоФрагмента   ДлинаНачалаФрагмента)   1);
		Если НайтиНачалоФрагмента(ПромежуточнаяСтрока, ИмяПодсистемы) > 0 Тогда 
			ТекстСообщения = НСтр("ru = '[ИмяФайлаМодуля]: внутри открывающейся скобки [НачалоФрагмента] есть еще одна открывающаяся скобка, до закрывающейся.'");
			ТекстСообщения = СтрЗаменить(ТекстСообщения, "[НачалоФрагмента]", "// "   ИмяПодсистемы);
			ТекстСообщения = СтрЗаменить(ТекстСообщения, "[ИмяФайлаМодуля]", ИмяФайлаМодуля);
			ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщения);
			Ошибки = Ошибки   Символы.ПС   ТекстСообщения;
			Возврат;
		КонецЕсли;	
		
		ПозицияПоследнегоСимвола = ПозицияКонцаФрагмента   СтрДлина("// Конец "   ИмяПодсистемы);
		//Kim
		//BeginingChange
		Если ИмяПодсистемы = "_Демо" Тогда
			ПозицияПоследнегоСимвола = ПозицияКонцаФрагмента   СтрДлина("// Конец "   ИмяПодсистемы   " примера");
		КонецЕсли;
		//EndChange
		ВырезатьФрагмент(СтрокаТекста, НачалоФрагмента - 1, ПозицияПоследнегоСимвола);
		ЧислоЗамен = ЧислоЗамен   1;
		
		НачалоФрагмента = НайтиНачалоФрагмента(СтрокаТекста, ИмяПодсистемы);
		
	КонецЦикла;
	
КонецПроцедуры

Далее можно раскомментировать модули управляемого приложения и сеансов и начать внедрение подсистем по инструкции с сайта its.1c.ru.

Буду описывать, если возникнут еще интересные проблемы и как я их решил.

P.S. Прикрепил отредактированную обработку для БСП 2.4.4.80

. Дорабатываем форму документа «Заказ».

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

В процедуру «ПриСозданииНаСервере» модуля формы документа, добавляем код:

// СтандартныеПодсистемы.РаботаСФайлами
ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
// Конец СтандартныеПодсистемы.РаботаСФайлами

В процедуру «ПриОткрытии» модуля формы документа, добавляем код:

// СтандартныеПодсистемы.РаботаСФайлами
РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
// Конец СтандартныеПодсистемы.РаботаСФайлами

Если процедура «ОбработкаОповещения» модуля формы документа, в вашем случае отсутствует, ее необходимо добавить и внести код:

// СтандартныеПодсистемы.РаботаСФайлами
РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
// Конец СтандартныеПодсистемы.РаботаСФайлами

В модуль формы документы, добавляем процедуры:

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
    РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
    РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
                ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
    РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
                ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
    РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

Запускаем пользовательский режим и проверяем работу подсистемы.
РезультатВнедрения

Внедрение бсп на примере релиза 3.1.3.339

Для внедрения системы БСП нам понадобится актуальная версия библиотеки, её можно скачать на портале 1С:Обновление программ https://releases.1c.ru/project/SSL31.

Внедрение системы БСП на примере релиза 3.1.3.339

Устанавливаем библиотеку на свой компьютер, во время установки указываем путь к каталогу шаблонов.

Внедрение системы БСП на примере релиза 3.1.3.339

Внедрение системы БСП на примере релиза 3.1.3.339

Создаем новую чистую информационную базу.

Внедрение системы БСП на примере релиза 3.1.3.339

Внедрение системы БСП на примере релиза 3.1.3.339

В свойствах конфигурации устанавливаем имя конфигурации, например ЛичныйКабинетАутсорсинга, и номер версии разрабатываемой конфигурации, например 1.0.1.1

Внедрение системы БСП на примере релиза 3.1.3.339

Запускаем нашу базу в режиме отладки. После запуска открываем обработку ПервоеВнедрениеБСП.epf, которая будет находиться в ранее указанном каталоге шаблонов, в нашем случае D:Шаблоны конфигураций1cSSL3_1_3_339ExtFiles

Внедрение системы БСП на примере релиза 3.1.3.339

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

Внедрение системы БСП на примере релиза 3.1.3.339

Останавливаем отладку. Переходим в конфигуратор, выполняем пункт меню Конфигурация – Сравнить, объединить с конфигурацией из файла, выбираем файл 1Cv8.cf из поставки БСП.

Внедрение системы БСП на примере релиза 3.1.3.339

На предложение постановки на поддержку отвечаем Да.

Внедрение системы БСП на примере релиза 3.1.3.339

Выполняем пункт меню Действия – Загрузить настройки из файла и указываем файл с ранее сохраненными настройками.

Внедрение системы БСП на примере релиза 3.1.3.339

После загрузки настроек нажимаем кнопку Выполнить.

Внедрение системы БСП на примере релиза 3.1.3.339

При возникновении окна Неразрешимые ссылки нажимаем кнопку Продолжить. Это окно возникает в случае внедрения не всех подсистем БСП.

Внедрение системы БСП на примере релиза 3.1.3.339

При возникновении окна Настройка правил поддержки ничего не меняем и нажимаем кнопку Ок.

Внедрение системы БСП на примере релиза 3.1.3.339

Копируем общий модуль ОбновлениеИнформационнойБазыБСП и заменяем название скопированного модуля, например ЛК_ОбновлениеИнформационнойБазы.

Внедрение системы БСП на примере релиза 3.1.3.339

В общем модуле ЛК_ОбновлениеИнформационнойБазы очищаем содержимое процедур: ПослеОбновленияИнформационнойБазы, ПриДобавленииОбработчиковОбновления, ПриДобавленииПодсистемы. В процедуру ПриДобавленииПодсистемы добавляем следующий текст:

Описание.Имя = “ЛичныйКабинетАутсорсинга”;
Описание.Версия = “1.0.1.1”;// Требуется библиотека стандартных подсистем.
Описание.ТребуемыеПодсистемы.Добавить(“СтандартныеПодсистемы”);

Где Имя и Версия соответствуют имени конфигурации (ЛичныйКабинетАутсорсинга) и номеру версии разрабатываемой конфигурации (1.0.1.1).

Внедрение системы БСП на примере релиза 3.1.3.339

Выполняем пункт меню Конфигурация – Поддержка – Настройка поддержки.

Внедрение системы БСП на примере релиза 3.1.3.339

Для общего модуля ПодсистемыКонфигурацииПереопределяемый указываем правило поддержки Объект поставщика редактируется с сохранением поддержки.

Внедрение системы БСП на примере релиза 3.1.3.339

Открываем модуль ПодсистемыКонфигурацииПереопределяемый и в процедуру ПриДобавленииПодсистем добавляем строку с информацией о нашем скопированном общем модуле ЛК_ОбновлениеИнформационнойБазы, пример:

МодулиПодсистем.Добавить(“ЛК_ОбновлениеИнформационнойБазы”);

Внедрение системы БСП на примере релиза 3.1.3.339

Запускаем обновление информационной базы и соглашаемся с предложением реорганизации информационной базы.

Внедрение системы БСП на примере релиза 3.1.3.339

Запускаем конфигурацию в режиме отладки и убеждаемся в отсутствии ошибок.

Внедрение системы БСП на примере релиза 3.1.3.339

Внедрение контактной информации из бсп –

В процессе написания  конфигурации с нуля, обнаружил, что во многих справочниках и документах присутствует некая контактная  информация.  Мы знаем, что лучший принцип программиста DRY (Don’t repeat yourself), — это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования.

Читайте также:  Что такое криптопросистема csp

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

К сожалению нормальной документации по внедрению подсистем БСП я не нашел, и пришлось по крупицам, методом проб и ошибок пройти путь внедрения. Этим путем я и хочу поделиться в этой статье.

Итак разобьем весь процесс на этапы.

  1. В конфигураторе находим определяемый тип ВладелецКонтактнойИнформации, и указываем составной тип, отметив галочками, все справочники и документы в которые мы хотим внедрить Контактную информацию.
  2.  Находим Справочник ВидыКонтактнойИнформации. Откроем его предопределенные данные. Там вы увидите примерно следующее.
    Внедрение БСП на примере релиза 3.1.3.339Нам нужно добавить  сюда свой справочник по аналогии с тем что имеется.  Например для справочника организации добавляем группу СправочникОрганизации, и затем уже добавляем в него необходимые нам элементы контактной информации. (телефон, сайт, email, адрес и т.д.)
  3. На следующем этапе открываем модуль формы справочника и прописываем в него следующий код.
     
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)	
    	//Стандартнвя подсистема Управление контактной информацией
    	УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтотОбъект, Объект, "ГруппаКонтактнаяИнформация", ПоложениеЗаголовкаЭлементаФормы.Лево);
    	//Конец Стандартнвя подсистема Управление контактной информацией
    КонецПроцедуры
    
    &НаСервере
    Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    	//Стандартнвя подсистема Управление контактной информацией
    	УправлениеКонтактнойИнформацией.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
    	//Конец Стандартнвя подсистема Управление контактной информацией
    КонецПроцедуры
    
    &НаСервере
    Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
    	//Стандартнвя подсистема Управление контактной информацией
    	УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
    	//Конец Стандартнвя подсистема Управление контактной информацией
    КонецПроцедуры
    
    &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    	//Стандартнвя подсистема Управление контактной информацией
    	УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
    	//Конец Стандартнвя подсистема Управление контактной информацией
    КонецПроцедуры
    
    
    
    #Область СлужебныеПроцедурыИФункции
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ ПОДСИСТЕМЫ "КОНТАКТНАЯ ИНФОРМАЦИЯ"
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
    	УправлениеКонтактнойИнформациейКлиент.ПриИзменении(ЭтотОбъект, Элемент);
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    	УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, ,СтандартнаяОбработка);	
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
    	УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, ,СтандартнаяОбработка);	
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
    	УправлениеКонтактнойИнформациейКлиент.Очистка(ЭтотОбъект, Элемент, ,СтандартнаяОбработка);
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
    	УправлениеКонтактнойИнформациейКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда.Имя);	
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
    	УправлениеКонтактнойИнформациейКлиент.АвтоПодбор(Текст, ДанныеВыбора, СтандартнаяОбработка);	
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Подключаемый_КонтактнаяИнформацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    	УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);	
    КонецПроцедуры
    
    &НаСервере
    Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
    	УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);	
    КонецПроцедуры
    
    &НаСервере
    Процедура КонтактнаяИнформацияПриСменеСтраницы()
    	УправлениеКонтактнойИнформацией.ВыполнитьОтложеннуюИнициализацию(ЭтотОбъект, Объект);
    КонецПроцедуры
    
    
    #КонецОбласти

    Тут собственно ничего необычного,  В начале идут обработчики ПриСозданииНаСервере, ПриЧтенииНаСервере, ОбработкаПроверкиЗаполненияНаСервере, ПередЗаписьюНаСервере в которых прописывается код подключения подсистемы.

    Далее же идут подключаемые модули. Отмечу что приведенный мною код, актуален для БСП версии 3. Для БСП 2.4 код модулей будет немного другим.

  4. Ну и последний шаг, для того, что все  это добро заработало нам нужно, добавить на форму элемент формы ГруппаКонтактнаяИнформация в которую и будет инициализироваться контактная информация.
  5. Ну и последний шаг это первичная инициализация всего этого добра. Для этого  я создал внешнюю обработку с одной кнопкой. При нажатии кнопки  происходит инициализация подсистемы.
    Код следующий.
    &НаСервере
    Процедура ОбновитьКМНаСервере()
    	КМ_Организации = Справочники.ВидыКонтактнойИнформации.СправочникПациенты.ПолучитьОбъект();
    	КМ_Организации.Используется = Истина;
    	ОбновлениеИнформационнойБазы.ЗаписатьДанные(КМ_Организации);
    	
    	ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Телефон);
    	ПараметрыВида.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонПациента;
    	//ПараметрыВида.Подсказка = "Телефон";
    	ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
    	ПараметрыВида.Порядок = 1;
    	УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
    
    	
    	ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
    	ПараметрыВида.Вид = Справочники.ВидыКонтактнойИнформации.АдресПациента;
    	//ПараметрыВида.Подсказка = "Фактический адрес";
    	ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
    	ПараметрыВида.Порядок = 2;
    	УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
    	
    	ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
    	ПараметрыВида.Вид = Справочники.ВидыКонтактнойИнформации.ЮридическийАдресОрганизации;
    	//ПараметрыВида.Подсказка = "Юридический адрес";
    	ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
    	ПараметрыВида.Порядок = 3;
    	УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
    	
    	ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
    	ПараметрыВида.Вид = Справочники.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации;
    	//ПараметрыВида.Подсказка = "Почтовый адрес организации";
    	ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
    	ПараметрыВида.Порядок = 4;
    	УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
    	
    	ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
    	ПараметрыВида.Вид = Справочники.ВидыКонтактнойИнформации.EmailПациента;
    	//ПараметрыВида.Подсказка = "Электронный адрес организации";
    	ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
    	ПараметрыВида.Порядок = 3;
    	УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);
    	
    	ПараметрыВида = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.ВебСтраница);
    	ПараметрыВида.Вид = Справочники.ВидыКонтактнойИнформации.СайтОрганизации;
    	//ПараметрыВида.Подсказка = "Сайт";
    	ПараметрыВида.МожноИзменятьСпособРедактирования = Истина;
    	ПараметрыВида.Порядок = 6;
    	УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВида);	
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ОбновитьКМ(Команда)
    	ОбновитьКМНаСервере();
    КонецПроцедуры

    Для БСП версии 2.4 есть хорошее тематическое видео

Вопросы

Какие ты порекомендуешь удостоверяющие центры? С каким из них у тебя был положительный опыт?

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

Ты говорил, что ФСБ давала какое-то разъяснение по поводу облачных сертификатов. Что если сертификат хранить не локально, а в облаке, он не может считаться усиленным. В случае стандартного обмена счетами-фактурами и УПД, мы можем использовать облачный сертификат или там требуется усиленный все-таки?

В законе написано, что при обмене счетами-фактурами требуется усиленная квалифицированная электронная подпись, поэтому “облако” тут не подойдет. А вот для других видов электронных документов — пожалуйста.

Грубо говоря, для любого стандартного ЭДО, которое мы используем в 1С, нам нужен усиленный сертификат?

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

А про УПД там нет ничего? По сути, УПД сейчас это то же самое, что и счет-фактура.

Там есть размытое определение – счет-фактура с расширенными показателями, но это не то же самое, что УПД. Поэтому я думаю, что УПД попадает в разряд неквалифицированной электронной подписи.

А какую функцию во всей этой цепочке выполняет именно оператор – «1С-ЭДО» или «Такском»? Обычно через операторов мы отправляем документы в госорганы и обмениваемся счетами-фактурами, а при обмене другими документами с контрагентами зачем нам нужен оператор?

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

Другое дело, если Вы сидите на упрощенке, и у Вас нет счетов-фактур, тогда можно попросить оператора поискать для Вас недорогой тарифный план. А так в той же самой «Библиотеке электронных документов» есть возможность обмениваться документами с электронной подписью по электронной почте, через FTP и т.д. Но когда у тебя 100 контрагентов, организовывать для каждого из них свой канал связи будет сложно в плане сопровождения.

А если мы хотим протестить самоподписанный сертификат, через оператора мы можем тестировать какой-то обмен с использованием самоподписанного сертификата?

Нет, через оператора – нет. Если сильно хочется потестировать, напишите в фирму «1С», что Вы хотите подключиться к сервису ЭДО, чтобы протестировать.

Они говорят, что мы не удостоверяющий центр.

Напишите мне, я помогу.

А если мы обмениваемся без оператора ЭДО, мне приносят подписанный электронный документ, и я его хочу загрузить в 1С, чтобы хранить его там. В БСП достаточно средств для проверки, что это КЭП и у него правильные реквизиты, чтобы все это было в автоматическом режиме без модальных окон и т.д.?

Я такие кейсы на своей практике не встречал, но в БСП точно есть возможность загрузить файл и проверить его электронную подпись. Скорее всего, Вам надо будет просто под этот сценарий нарисовать какой-то мастер: проверь папку, забери документ, забери подпись, проверь это все, сложи, куда надо и скажи, что все ок. По поводу синхронности вызова – в БСП все это реализовано, все в браузерах работает в асинхронном режиме.

А если в 1С по терминалу работать? Можно ли поставить «КриптоПро» и в терминале пробросить для него ключи? Какие есть особенности, проблемы? И, соответственно, если у нас более 20 юрлиц и на каждое из них по два ключа, как идет разграничение прав к этим ключам? На уровне 1С или как?

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

Лучше используйте токены. Есть возможность пробросить токен с закрытой частью ключа до терминального сервера. Ребята-производители ключей сами помогают это настроить так, чтобы в терминале этот ключ был виден. Попробуйте, поэкспериментируйте, найдите другие ключи, найдите людей, которые помогут настроить.

Читайте также:  Как отправить заявление на подключение к сервису 1С-Отчетность использую электронную цифровую подпись полученную в налоговой ФНС России на Рутокен в программе 1С:Бухгалтерия 8

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

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

Скажите, есть ли какая-нибудь разница по скорости работы между подписанием электронного счета-фактуры и отсканированного договора в 100 страниц (где чисто графика).

Чем больше документ, тем он медленнее подписывается, потому что там идет асинхронное шифрование – хэш вычисляется по асинхронному алгоритму. Но с точки зрения того, подписываете ли Вы электронную счет-фактуру в несколько строк или 10Мб файл – визуально разницу Вы не заметите. Заметите только на объемах в 1000-3000 документов.

По поводу роуминга 1С-ЭДО. В «Такском» есть роуминг между операторами. А насколько это работоспособно в «1С-ЭДО»? У Вас есть такой опыт? Потому что все контрагенты сидят на разных операторах и выбрать оператора с максимальным покрытием очень сложно. Кого бы Вы посоветовали?

Если выбирать между «1С-ЭДО» и другими, то конечно, «1С-ЭДО». Но у «1С-ЭДО» есть некоторые проблемы с роумингом – он не так много операторов поддерживает. Есть отдельный ресурс по 1С-ЭДО, там приведен список поддерживаемых операторов, думаю, что он должен со временем пополниться.

А где хранить архив подписанных документов? Локально в компании или в облаке? Можно ли обеспечить валидность сохраняемых в облаке документов?

Где мы храним подписанные документы (в облаке или нет) – неважно. Математически хэш уже вычислен, и содержимое документа бесследно уже не подменить. Вы его потом можете хоть 10 раз куда-нибудь передавать, подпись всегда можно будет проверить чисто математически. Если облачный сервис удобный – пожалуйста, храните в нем, это, наверное, даже интереснее.

А оператор такую услугу предоставляет?

Если с ним отдельный договор заключать для хранения бэкапов – они это делают за отдельные деньги.

А разве подписанные документы у них не хранятся?

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

А для УПП операторы не предоставляют какую-нибудь обработку для ЭДО?

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

****************

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2022 COMMUNITY. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие.

Добавление электронной подписи в документ pdf

Файлы PDF поддерживают внедрение в тело документа картинки с описанием, что файл PDF подписан и самой электронной подписи прямо в файл.

В платформе это реализовано начиная с версии 8.3.16. На Инфостарт есть статья на эту тему Подпись PDF в новой версии 8.3.16, но мне механизм не подошёл по ряду причин – код написан для выполнения на сервере, а при реальном использовании Крипто-ПРО ставится на клиент и вызовы должны быть соответственно на клиенте.

Грабли, на которые наступил:

* Подпись работает не для всех PDF файлов – PDF, который создан из 1С средствами 1С работает корректно, а вот PDF, сформированный другим приложением, иногда не отрабатывает.

* В качестве штампа используется Табличный документ – можно использовать вместо него картинку

* Время на добавление подписи на нормальном компьютере i7-10510U, 16Гб – 1,2 секунды, 98% времени вызов ЗаписьPDF.ЗаписатьПодпись. Есть предположение, что это время на взаимодействие с КриптоПро и концептуально его не ускорить.

Собственно сам код:

&НаКлиенте
Процедура Подписать(Команда)
	
	ПутьКФайлыПодписанный = СтрЗаменить(ПутьКФайлу, ".pdf", "_signed.pdf");
	КопироватьФайл(ПутьКФайлу, ПутьКФайлыПодписанный);
	
	ДанныеСертификата = ДанныеСертификата(Сертификат);
	Штамп = Штамп(ДанныеСертификата.Наименование, ДанныеСертификата.ДанныеСертификата);
	
	МенеджерКриптографии = Новый МенеджерКриптографии(ДанныеСертификата.ИмяПрограммы, "", ДанныеСертификата.ТипПрограммы);
	МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Пароль;
	
	ПодписьPDF = Новый ОписаниеПодписиPDF;
	ПодписьPDF.Имя = "ПодписьДоговора";
	ПодписьPDF.Сертификат = Новый СертификатКриптографии(ДанныеСертификата.ДанныеСертификата);
	ПодписьPDF.ТипПодписи = ТипПодписиPDF.Сертифицирующая;
	ПодписьPDF.БлокировкаДокумента = Истина;
	ПодписьPDF.Верх = -10;
	ПодписьPDF.Лево = 50;
	
	ЗаписьPDF = Новый ЗаписьPDF();
	ЗаписьPDF.Открыть(ПутьКФайлыПодписанный);
	
	ЗаписьPDF.ЗаписатьПодпись(МенеджерКриптографии, ПодписьPDF, Штамп);
	ЗаписьPDF.Закрыть();
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ДанныеСертификата(Сертификат)

	ДанныеСертификата = Новый Структура("Наименование, ДанныеСертификата, ИмяПрограммы, ТипПрограммы");
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Сертификат", Сертификат);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Наименование,
	|	ДанныеСертификата,
	|	Программа.ИмяПрограммы КАК ИмяПрограммы,
	|	Программа.ТипПрограммы КАК ТипПрограммы,
	|	Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное
	|ИЗ
	|	Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования
	|ГДЕ
	|	Ссылка = &Сертификат";
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Следующий() Тогда 
		
		ЗаполнитьЗначенияСвойств(ДанныеСертификата, Выборка);
		ДанныеСертификата.ДанныеСертификата = Выборка.ДанныеСертификата.Получить();
		ДанныеСертификата.Наименование = Выборка.ОрганизацияНаименованиеСокращенное   ", "   Выборка.Наименование;
		
	КонецЕсли;
	
	Возврат ДанныеСертификата;

КонецФункции

&НаСервереБезКонтекста
Функция Штамп(НаименованиеСертификата, ДанныеСертификата)

	Штамп = Новый ТабличныйДокумент;
	
	Сертификат = Новый СертификатКриптографии(ДанныеСертификата);
	
	Область = Штамп.Область(1, 1, 1, 1);
	Область.Текст = НаименованиеСертификата   Символы.ПС
		  Формат(ТекущаяДата(), "ДФ='dd.MM.yyyy HH:mm ""(MSK)""'")
		  ", Сертификат № "
		  СтрЗаменить(Сертификат.СерийныйНомер, " ", "");
	Цвет = WebЦвета.Синий;
	Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
	Область.ЦветТекста = Цвет;
	Область.ЦветРамки = Цвет;
	Область.ГраницаСверху = Линия;
	Область.ГраницаСнизу = Линия;
	Область.ГраницаСлева = Линия;
	Область.ГраницаСправа = Линия;
	
	Штамп.Область(, 1, , 1).ШиринаКолонки = 62;
	
	Штамп.Область(2,1,2,1).Текст = " ";
	
	Возврат Штамп;

КонецФункции

Механизм криптографии в платформе «1с:предприятие 8»

Механизм криптографии в платформе появился с версии 8.2 – это достаточно молодой механизм. Сама платформа не содержит криптоалгоритмы, она содержит только вызовы и объекты, с помощью которых можно обращаться к криптосредствам, находящимся на компьютере:

  • для Windows – это интерфейс CryptoAPI;
  • для Linux таких интерфейсов нет, идет непосредственное обращение к модулям криптографии.

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

Основные криптографические операции в платформе «1С:Предприятие 8»:

  • Вы знаете, что платформа может работать в разных режимах: толстый, тонкий, веб-клиент, внешнее соединение и мобильное приложение. Во всех этих режимах запуска криптография поддерживается – для мобильного приложения поддержка криптографических механизмов появилась с версии 8.3.10. Я бы рекомендовал читать «Синтаксис-помощник» и смотреть, какие методы доступны в том или ином режиме запуска, потому что там есть ограничения.
  • Платформа позволяет работать с сертификатами открытого ключа (X.509), которые установлены на компьютер. Мы не можем выпустить новый сертификат или запросить его выпуск, мы работаем только с тем, что имеем – с помощью механизмов платформы мы можем найти сертификат на компьютере, прочитать его атрибуты, выгрузить его в файл и проверить, насколько он валидный.
  • Я на своей практике часто сталкивался с непониманием того, как в платформе работает шифрование и расшифровка. Это особенно важно, когда Вы делаете интеграцию с каким-то внешним подрядчиком, который работает не на 1С. Когда Вы зашифровали документ, отправили его на ту сторону, а там пробуют расшифровать. Например, часто возникают вопросы, если при настройке криптопровайдера в 1С был указан алгоритм ГОСТ 28147-89, который является симметричным, а при расшифровке требуется обращение к закрытому ключу. Напомню, что симметричный алгоритм шифрования подразумевает, что для шифрования и расшифровки Вы используете один и тот же ключ. А ассиметричное шифрование – это когда данные шифруются с помощью открытого ключа, а для расшифровки используется другой, закрытый (секретный) ключ. Подрядчики спрашивают: «Но Вы же сказали, что алгоритм шифрования симметричный, почему тогда при расшифровке нужна закрытая часть ключа?» Давайте разберемся, как работает механизм шифрования в платформе:
    • случайным образом создается некий ключ фиксированной длины, с помощью которого набор данных шифруется по симметричному алгоритму;
    • затем сам ключ шифруется асимметричным алгоритмом с помощью публичного ключа сертификата-получателя;
    • шифрование с помощью симметричного алгоритма работает быстрее – мы им большой объем данных зашифровали, а потом маленький ключ фиксированной длины быстро шифруем с помощью асимметричного алгоритма;
    • зашифрованные данные, список сертификатов-получателей и сам зашифрованный ключ упаковываются в один пакет данных по спецификации PKCS#7;
    • этот пакет отправляется на сторону получателя;
    • а расшифровка работает в обратном порядке.
  • Подписание и проверка электронной подписи. При подписании средствами платформы идет обращение к закрытой части ключа и производится встроенная в платформу проверка целостности (математической валидности) подписи. С точки зрения юридической значимости этого недостаточно. Если Вы хотите проверить электронную подпись под документом, Вы должны проверить:
    • действие сертификата;
    • математическую валидность данных, которые Вы прислали.
Читайте также:  Электронная подпись от ФНС России

Именно так сделано в механизме БСП – об этом речь пойдет чуть позже. Платформа этого не делает.

Трудности внедрения криптографии и эп в организациях

Какие бывают основные проблемы?

  • Если Вам потребуется установить на один компьютер два криптосредства, произойдет конфликт. Например, если у Вас отчетность работает через VipNet, а электронный документооборот с контрагентами через «КриптоПро». Как решить эту проблему?

Первый вариант – разнести эти криптосредства по разным компьютерам.

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

  • Иногда у клиентов не работает криптография в браузере IE – требуется установить расширение, но оно не ставится. Банальный совет – запустите браузер от имени администратора. Это позволит установить расширение, и проблема будет решена.
  • Программа 1С не всегда видит токены JaCard. Я не знаю в чем проблема, то ли в JaCard, то ли платформе. Переустанавливаешь криптосредство – оно какое-то время работает, а после перезагрузки системы снова слетает. Почему-то 1С и JaCard не очень дружат.
  • Есть еще одна проблема – при проверке сертификатов платформа всегда пытается проверить, насколько этот сертификат надежный, и иногда ей это не удается. Почему это происходит? Есть список отзывов, куда включаются недействительные сертификаты. Например, когда сотрудник уволился из компании, она должна сообщить в удостоверяющий центр, что сотрудник уволился, и его сертификат не действителен. После чего удостоверяющий центр выпускает список отзывов, куда включается этот сертификат, после чего он начинает считаться невалидным. Иногда почему-то проверить сертификат в списке отозванных не удается. В чем проблема? Эти списки отзывов к 1С никакого отношения не имеют, они обновляются автоматически самим криптосредством. Для этого с удостоверяющим центром должен быть настроен стабильный канал. Если список отзывов автоматически не обновляется, это значит, что в удостоверяющем центре недостаточно слажено настроена служба, либо она вообще отсутствует. Смените удостоверяющий центр, и проблема уйдет.
  • Когда сертификатов становится много (например, больше 30-ти), начинаются сложности. Допустим, Вы перевели бизнес на электронные рельсы, и в разгар рабочего дня выясняется, что подпись невалидна, потому что ее сертификат закончился. Выпуск сертификата занимает некоторое время, бизнес «на ушах», Вы тоже. Для таких случаев нужно использовать специализированное ПО для ведения списка сертификатов. Есть программы, которые позволяют контролировать жизненный цикл сертификата, и когда у него срок действия заканчивается, они отправляют администратору напоминалки. Это банальный вариант, но он позволяет более-менее упорядочить сертификаты.
  • Обмен с данными из 1С происходит с серверов, поэтому:
    • открываете порты на серверах 1С:Предприятия;
    • права учетной записи сервера должны быть «Выход в интернет»;
    • если у Вас кластер серверов, значит, у всех 1С-серверов, входящих в кластер, должны быть открыты порты.
  • Если нет доверия к внешнему ресурсу, есть отдельная статья на ИТС «Диагностика проблемы “Удаленный узел не прошел проверку”».
  • Базовые правила безопасности:
    • пароли на стикерах не храним;
    • поработав, вынимаем токены из машин;
    • регулярно обновляем антивирус.
      Иначе получится так, что Вы поставили сертифицированные криптосредства, ключи, а вокруг ходят вирусы, которые могут этим воспользоваться. Поэтому защищайте периметр.

Электронная подпись

Закон № 63-ФЗ вводит понятие электронной подписи. Раньше было понятие «электронная цифровая подпись» (ЭЦП), теперь правильнее использовать термин «электронная подпись». По этому закону есть три вида электронной подписи.

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

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

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

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

  • Вы не можете сказать, что это не Ваша подпись;
  • Вы не можете от нее отказаться (отозвать);
  • можно проверить, вносились ли изменения в этот документ после того, как Вы его подписали.

Если говорить про применение электронных подписей, то стоит поделить их на локальные и облачные.

  • Локальная электронная подпись – ситуация, когда Вы подписываете какие-то документы на своем компьютере. В этом случае требуется криптосредство, установка сертификата – много сложностей.
  • Облачная электронная подпись –  ситуация, когда Вы доверяете хранилище закрытых ключей некоему держателю в «облаке», и, чтобы подписать документ, его нужно до этого облака донести. Скорее всего, Вам на телефон придет одноразовый пароль, который надо подтвердить. А после подтверждения электронная подпись сформируется на сервере в «облаке», и Вы получите подписанный документ.

ФСБ выпустила разъяснительное письмо, в котором объяснила, что облачная электронная подпись не является квалифицированной. Поэтому, если в законе написано, что документ должен подписываться именно квалифицированной электронной подписью, а у Вас документ подписывается в «облаке», то имейте в виду, что с этим могут быть проблемы – к этому нужно подходить очень внимательно.

Что можно еще рассказать интересного про законодательство, которое будет нас касаться?

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