Сертификат SSL сервера присутствует Одно имя для WCF? - PullRequest
4 голосов
/ 28 сентября 2011

У меня есть собственная служба WCF с привязкой TCP, которая теперь пытается наложить слой на SSL.

У сертификата, полученного от ЦС, есть два значения для «Альтернативное имя субъекта»:

www.mysite.com
mysite.com

Я только хочу представить "mysite.com" клиентам WCF, каким-то образом этот www.mysite.com (который CA добавил, я не просил www.mysite.com).

IЯ использую приведенный ниже код на стороне сервера.Что мне нужно настроить, чтобы «спрятать» адрес www.mysite.com?

svc.Credentials.ServiceCertificate.SetCertificate(
StoreLocation.CurrentUser , StoreName.My , X509FindType.FindBySubjectName , "mysite.com" );

Так что сейчас, когда клиент подключается, я получаю

"Проверка идентичности не удаласьдля исходящего сообщения. Ожидаемый идентификатор DNS удаленной конечной точки был «mysite.com», но удаленная конечная точка предоставила DNS-запрос «www.mysite.com». Если это допустимая удаленная конечная точка, вы можете решить проблему, явно указав DNSидентификатор "www.mysite.com" как свойство Identity EndpointAddress при создании прокси канала. "

Я не хочу, чтобы клиент что-либо знал о www.mysite.com.Я хочу, чтобы они использовали только то, что преподносит серверу, и я хочу, чтобы сервер представлял только mysite.com.

1 Ответ

0 голосов
/ 28 сентября 2011

Почему вы хотите это скрыть? Сертификат с альтернативами SAN означает, что он имеет значение для всех этих полных доменных имен, поэтому он будет работать как на www.mysite.com, так и на mysite.com.

Кроме того, судя по вашему звонку в SetCertificate, имя субъекта сертификата - это то, что вам нужно, mysite.com, и именно это проверяется первым.

Полный текст сообщения об ошибке имеет вид

Проверка подлинности не удалась для исходящего сообщения. Ожидаемая идентичность DNS удаленной конечной точки был «X», но удаленная конечная точка предоставила DNS претензия "Y"

Теперь это не имеет никакого отношения к сертификату , но хост, для которого настроен IIS, или, в случае самостоятельного хостинга, хост / машина Windows. Вы можете переопределить хост, который будет использовать WCF, добавив новый параметр конфигурации для конечной точки ;

<identity>
    <dns value="mysite.com"/>
</identity>

или установка его в коде при создании конечной точки.

...