Ответ 1
Хорошо подготовленный вопрос. Прежде всего, я, вероятно, прочитал ту же книгу, и я хотел бы прояснить это утверждение:
Это потому, что вы не должны использовать транспортной безопасности, поскольку он должен использовать только в средах, где вы может гарантировать, что существует точка-точка между сервис и клиент.
Да. HTTPS (безопасность на транспорте) предлагает только двухточечную защиту, но люди ИМО не понимают этот сценарий правильно. Считаете ли вы, что если вы подключитесь к интернет-банкингу через HTTP-сервер, он будет случайно находиться где-то посреди обмена обмена через Интернет с HTTPS на HTTP? НЕТ! Соединение точка-точка означает защищенный транспортный канал между клиентом и доступным шлюзом, обеспечивающим запрашиваемый URL-адрес. В вашем сценарии это означает обеспеченный транспортный канал между клиентом и вашим ISA-сервером. Коммуникация не будет защищена между вашим ISA и веб-сервером 2. Если вы хотите, чтобы сквозной интерфейс обеспечивал безопасный канал между клиентом и веб-сервером 2 (ISA не сможет перехватывать сообщения), вам нужна безопасность сообщений.
Теперь к вашим другим вопросам:
Можно ли использовать тот же сертификат для безопасности сообщений службы WCF?
Да, вы можете, но вам нужно скопировать закрытый ключ на ваш веб-сервер 2.
Является ли способ защиты сообщений совместимы с клиентами, которые ожидают ASMX Webservice?
Нет. Чистый клиент ASMX не может использовать защиту сообщений, если вы не кодируете множество настраиваемых заголовков и расширений SOAP или не устанавливаете WSE 3.0.
Можно ли включить сообщение Безопасность с вышеупомянутым сертификат без принуждения клиента для добавления сертификата в доверенное Лица вручную?
Да, но сертификационный орган, который опубликовал сертификат, должен быть доверен на клиентской машине. То же самое с HTTPS. Кроме того, службы, защищенные защитой сообщений, могут выставлять отпечаток сертификата внутри WSDL. Клиенты могут подтвердить идентификацию службы с этим отпечатком пальца. Я думаю, что в таком случае вам также не нужно устанавливать сертификат на клиента, но по истечении срока действия сертификата все клиенты должны быть обновлены.
Нужно ли копировать сертификат веб-сервер, чтобы иметь возможность использовать Безопасность сообщений?
Да, вы должны. Но это может быть проблемой, потому что сертификат безопасности может быть помечен как не экспортируемый. Лучшим решением является запрос нового сертификата только для этой цели.