СоздатьМенеджерКриптографииПослеПодключенияРасширенияРаботыСКриптографией (БСП)

Автор: 1С
ОбщийМодуль.ЭлектроннаяПодписьСлужебныйКлиент
БСП

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

// Продолжение процедуры СоздатьМенеджерКриптографии.
Процедура СоздатьМенеджерКриптографииПослеПодключенияРасширенияРаботыСКриптографией(Подключено, Контекст) Экспорт
	
	ЗаголовокФормы = НСтр("ru = 'Требуется программа электронной подписи и шифрования'");
	Операция       = Контекст.Операция;
	
	Если Операция = "Подписание" Тогда
		ЗаголовокОшибки = НСтр("ru = 'Не удалось подписать данные по причине:'");
		
	ИначеЕсли Операция = "ПроверкаПодписи" Тогда
		ЗаголовокОшибки = НСтр("ru = 'Не удалось проверить подпись по причине:'");
		
	ИначеЕсли Операция = "Шифрование" Тогда
		ЗаголовокОшибки = НСтр("ru = 'Не удалось зашифровать данные по причине:'");
		
	ИначеЕсли Операция = "Расшифровка" Тогда
		ЗаголовокОшибки = НСтр("ru = 'Не удалось расшифровать данные по причине:'");
		
	ИначеЕсли Операция = "ПроверкаСертификата" Тогда
		ЗаголовокОшибки = НСтр("ru = 'Не удалось проверить сертификат по причине:'");
		
	ИначеЕсли Операция = "ПолучениеСертификатов" Тогда
		ЗаголовокОшибки = НСтр("ru = 'Не удалось получить сертификаты по причине:'");
		
	ИначеЕсли Операция = Null И Контекст.ПоказатьОшибку <> Истина Тогда
		ЗаголовокОшибки = "";
		
	ИначеЕсли Операция <> "" Тогда
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Ошибка в функции МенеджерКриптографии.
			           |Неверное значение параметра Операция ""%1"".'"), Операция);
	Иначе
		ЗаголовокОшибки = НСтр("ru = 'Не удалось выполнить операцию по причине:'");
	КонецЕсли;
	
	СвойстваОшибки = Новый Структура;
	СвойстваОшибки.Вставить("ЗаголовокОшибки", ЗаголовокОшибки);
	СвойстваОшибки.Вставить("Общая", Ложь);
	СвойстваОшибки.Вставить("КАдминистратору", Ложь);
	
	Если Не Подключено Тогда
		ТекстОшибки =
			НСтр("ru = 'В браузере требуется установить расширение
			           |для работы с электронной подписью и шифрованием.'");
		
		СвойстваОшибки.Вставить("Описание", ТекстОшибки);
		СвойстваОшибки.Вставить("Общая",  Истина);
		СвойстваОшибки.Вставить("Ошибки", Новый Массив);
		СвойстваОшибки.Вставить("Расширение", Истина);
		
		СвойстваОшибки.Вставить("ОписаниеОшибки", СокрЛП(ЗаголовокОшибки + Символы.ПС + ТекстОшибки));
		Если Контекст.ПоказатьОшибку = Неопределено Тогда
			ОписаниеОшибки = СвойстваОшибки;
		Иначе
			ОписаниеОшибки = СвойстваОшибки.ОписаниеОшибки;
		КонецЕсли;
		Если Контекст.ПоказатьОшибку = Истина Тогда
			ПоказатьОшибкуОбращенияКПрограмме(
				ЗаголовокФормы, ЗаголовокОшибки, СвойстваОшибки, Новый Структура);
		КонецЕсли;
		ВыполнитьОбработкуОповещения(Контекст.Оповещение, ОписаниеОшибки);
		Возврат;
	КонецЕсли;
	
	Контекст.Вставить("ЗаголовокФормы",  ЗаголовокФормы);
	Контекст.Вставить("ЗаголовокОшибки", ЗаголовокОшибки);
	Контекст.Вставить("СвойстваОшибки",  СвойстваОшибки);
	// Здесь проверяется что это Linux или macOS клиент.
	Контекст.Вставить("ЭтоLinux", Не ОбщегоНазначенияКлиент.ЭтоWindowsКлиент());
	
	СвойстваОшибки.Вставить("Ошибки", Новый Массив);
	
	ОписанияПрограмм = ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииОписанияПрограмм(
		Контекст.Программа, СвойстваОшибки.Ошибки, ЭлектроннаяПодписьКлиент.ОбщиеНастройки().ОписанияПрограмм);
	
	Контекст.Вставить("Менеджер", Неопределено);
	
	Если ОписанияПрограмм = Неопределено
	 Или ОписанияПрограмм.Количество() = 0 Тогда
		
		СоздатьМенеджерКриптографииПослеЦикла(Контекст);
		Возврат;
	КонецЕсли;
	
	Контекст.Вставить("ОписанияПрограмм",  ОписанияПрограмм);
	Контекст.Вставить("Индекс", -1);
	
	СоздатьМенеджерКриптографииЦиклНачало(Контекст);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

УстановитьРасширениеПослеПроверкиПодключенияРасширенияРаботыСКриптографией (БСП)

УстановитьРасширениеПослеПодключенияРасширенияРаботыСКриптографией (БСП)

УстановитьРасширениеПослеПодключенияУстановленногоРасширенияРаботыСКриптографией (БСП)

УстановитьРасширениеПослеУстановкиРасширенияРаботыСКриптографией (БСП)

СоздатьМенеджерКриптографииЦиклПослеПолученияИнформации (БСП)

СоздатьМенеджерКриптографииЦиклПослеИнициализации (БСП)

СоздатьМенеджерКриптографииЦиклПослеОшибкиПолученияИнформации (БСП)

СоздатьМенеджерКриптографии (БСП)

1С Менеджер конфигураций