Skip to content

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

License

gizmo75rus/HCS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HCS

Пример создания сообщения для ГИС ЖКХ и подпись его в формате XAdES без КриптоПро .NET. Реализован простой пример отправки/получения сообщений в ГИС ЖКХ для асинхронных сервисов

Описание классов:

MessageInspectorBehavior реализация интерфейса WCF позволяет проверять или изменять входящие или исходящие сообщения клиента System.ServiceModel.Dispatcher.IClientMessageInspector для осуществления подписи Xades сообщений.

ServicePointConfig для настройки tls соединений с поддержкой ГОСТ

HouseManagmentProvider пример реализии обобщенного интерфейса IProviderBase и наследуется от ClientBaseType, ClientBaseType служит для настройки экземпляра клиента WCF (клиентской авторизация и.т.п.). сервиса HouseManagmentAsync. Чтобы выполнить запрос к ГИС ЖКХ необходимо создать экземпляр провайдера и вызвать метод Send, метод Send возвращает объект реализущий IAck. Для получения результата запроса необходимо вызвать TryGetResult провайдера с передачей IAck и IGetStateResult в качестве параметра.

Интерфейсы IAck и IGetStateResult являются контрактами и реализуются в HCS\Service\OuterContracts.cs в ручную для каждого сервиса.

Xades

Данный проект создан на основе https://github.com/Good-Samaritan/signature-demo-net и является форком билблиотеки Microsoft.Xades Xades: Библиотека представляет собой обертку над доработанной библиотекой из проекта Microsoft France.

Функционал по подписанию документов и проверке подписи скрыт за фасадным классом GostXadesBesService. Реализация проверок и алгоритма подписи частично содержится в классе XadesBesSignedXml.

GostXadesBesService - Фасад для работы с ЭЦП - имеет параметризированный конструктор в котором указывается тип использумого криптопровайдера
XadesBesSignedXml - Обертка над XadeSignedXml из проекта Library, реализующая алгоритмы подписания и проверки подписи
CertificateMatcher - Поиск сертификата, использованного для подписания документа
GostCryptoProvider - Получению алгоритмов хеширования и форматеров подписи специфичных для ГОСТ.
IssuerComparer - Проверка соответствия строки Issuer сертификатов

При проверке корректности ЭЦП выполняются следующие проверки:

• корректность ЭЦП XMLDSIG;

• отсутствие свойств, не используемых в XAdES-BES.

• корректность информации о сертификате;

• доверительность корневого сертификата (сертификат должен быть установлен в качестве «Доверенного корневого центра сертификации»);

• действительность сертификата на дату проверки.

Microsoft.Xades

Xades Kit from Microsoft France https://github.com/Caliper/Xades

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages