Отверните элементы XMLDSIG из входящего XML-поста в WCF RESTFLAY SERVICE

StackOverflow https://stackoverflow.com/questions/3960263

Вопрос

Люди, я создаю спокойную службу, которая защищена путем предоставления сигнатуры XMLDSIG XML в нижней части документа XML. Когда я отправляю этот документ на сервер, служба WCF выполняет метод XML-сериализации на полезной нагрузке HTTP, чтобы дать мне класс C #. К сожалению, для этой десериализации произойдет должным образом, определение класса C # необходимо иметь все свойства, необходимые для определения подписи XML, даже если мне нужна только для безопасности.

Итак, что я хотел бы сделать, это это:

  • Создайте поведение службы WCF, которое предварительно вызовов исследует сигнатуру XML, проверяет ее, а затем прокладывает его с XML перед девериализацией для регулярного вызова метода.

Это возможно? Если так, то где я могу начать искать, как это сделать? Я чувствую, что я близко, я просто не нашел правильную точку впрыска WCF.

PS Все это .NET 4.0, Visual Studio 2010, IIS 7+.

Это было полезно?

Решение

Догадаться. Я создал класс XMLSignatureVerificationConfiguration, что позволяет мне удалять элемент XML, вызываемый непосредственно в мою конфигурацию поведения WCF. Этот раздел «Конфигурация» затем точкает WCF к типу данных моего поведения расширения, подписьюверификацияБехавиора. Такое поведение тогда указывает на инспектор пользовательских сообщений, который я написал, подписьВерверификацияСинспектор. Этот инспектор POPS открывает сообщение, удаляет узел подписи из полезной нагрузки, проверяет подпись, а затем отправляет новое (удаленное подпись) сообщение обратно вниз по трубопроводу, где определения обслуживания остаются блаженно невежественными в присутствии подписей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top