В течение долгого времени я использую "Makecert.exe", чтобы создать свой собственный сертификат, используемый для связи WCF между двумя клиентами.
Но я получаю отчеты об ошибках от пользователей, которые имеют более высокие процедуры безопасности/проверки, ошибки похожие на это:
UntrustedRoot: A certificate chain processed, but terminated in a root
certificate which is not trusted by the trust provider
Я хочу избавиться от этого и приобрести сертификат. Предпочтительно с очень длинным срока годности. Но у меня остались вопросы:
Какой тип сертификата мне нужен? (Какое имя у этого типа сертификата?)
Где я могу купить это? Я был бы признателен, по крайней мере за одну
строку о том, как я могу проверить тип сертификата.
Используется Tcp и Pipe биндинги(в них и прописан сертификат) с поддержкой сессий на основе callback вызовов.
Приложение у меня десктопное(сервер-много клиентов), тоесть это не веб сайт, я передаю информацию между двумя приложениями.
Ответ
Если используется http binding, то с серверной стороны должно хватить обычного single-domain https сертификата - т.к. от сервера при этом требуется лишь сертификат с
Enhanced Key Usage: Server Authentication (1.3.6.1.5.5.7.3.1)
Обычные провайдеры сертификатов добавляют еще и Client Authentication (1.3.6.1.5.5.7.3.2).
Проверить, хватит или нет, можно сгенерировав такой сертификат самому:
makecert -r -pe -n "CN= myserver " -b 01/01/2000 -e 01/01/2050 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
Если с ним приложение заработает - то заработает и с сертификатом от https провайдера.
Комментариев нет:
Отправить комментарий