Сертификат разработчика против приобретенного сертификата для WCF
-
22-09-2019 - |
Вопрос
Я подчеркивает, что если я хочу использовать аутентификацию в WCF, мне нужно установить сертификат на моем сервере, который WCF будет использовать для шифрования данных, передающихся между моим сервером и клиентом.
В целях развития я считаю, что могу использовать makecert.exe util. Чтобы сделать сертификат разработки.
Что это худший Это может произойти, если я использую этот сертификат в производственной среде?
а также...
Почему я не могу использовать этот сертификат в производственной среде?
а также ...
Что на самом деле будет делать сертификат в этом сценарии?
Редактировать: добавил еще один вопрос
в конце концов...
В сценарии, в котором на веб -сайте установлен сертификат для обеспечения поддержки HTTPS, можно ли использовать тот же сертификат и для служб WCF?
Примечание в моем приложении: это служба клиента и сервера NetTCP. Пользователи войдут в систему, используя то же имя пользователя и пароль, который они используют для веб -сайта, который передается в четком тексту. Я был бы рад передать U/N + P/W в ClareText WCF, но это не разрешено структурой, и сертификат должен быть на месте. Тем не менее, я не хочу покупать сертификат из -за бюджетных ограничений!
(Извините за, возможно, глупый вопрос, но я действительно не понимаю этого, поэтому приветствовал бы некоторую помощь с этим).
Решение
Что ж, ничего серьезного не произойдет, если вы используете сертификат разработчика в производственной среде, в конце концов, сертификат - это сертификат, а предоставляет шифрование, которое он предоставляет, такой же, как и любой коммерческий сертификат.
Однако, поскольку сертификат не подписан доверенным органом сертификата, он не гарантирует клиенту, что ты ты. Анкет Позвольте мне поместить это по -другому: если ваш сервис был простой веб -страницей, браузер сказал, что сертификат недействителен.
Сертификат для предоставления SSL на веб -сервере - это сертификат, который сообщает клиенту, что домен является надежным и проверенным доменом, и что авторитет сертификата может поручиться за него.
Итак, сертификат, сделанный makecert.exe
Было бы так же, как вы пишете свое имя в листе бумаги и рассказываете, скажем, офицер закона, что это ваши водительские права.
Другие советы
Сертификат должен быть выдан так называемым сертификатом, который будет доверять. Самоподобные сертификаты (созданные MakeCert и т. Д.) Не доверяют, и каждому, кто пройдет на ваш веб-сайт, получат «недействительный сертификат» (более конкретный: «Сертификат не доверяет, потому что он самопоглашенный»). Так, худший случай, Люди не пойдут на ваш сайт, потому что они не доверяют этому.
Вы можете использовать свой сертификат, подписанный в производстве, но он не рекомендуется по причинам, объясненным выше.
Сертификат используется для установления безопасного соединения (HTTP) между клиентом и сервером. Кроме того, он предназначен для проверки личности сервера. Идентификация вашего сервера не может быть гарантирована, если ваш сертификат самопоглощает.
В IIS, если вы установите сертификат на веб -сайте, все услуги WCF, развернутые на этом веб -сайте, могут использовать сертификат.
Короче говоря, используйте самореагированный сертификат для разработки (загляните в инструмент под названием SSL диагностика Для получения легкой генерации сертификатов в IIS), но на самом деле используйте производственный сертификат для производства!
«Что самое худшее, что может произойти, если я использую этот сертификат в производственной среде».
"Почему я не могу использовать этот сертификат в производственной среде?"
Управление сертификата, указанное в вашем сгенерированном сертификате, не известно клиентам, поэтому сертификат не может быть подтвержден/использован.
"Что на самом деле будет делать сертификат в этом сценарии?" Общественный ключ используется клиентами для шифрования общения. Это будет Guarentee, что только владелец частного ключа (сервер в данном случае) может снова расшифровать его (частные вродные клавиатуры-это асиметрическое шифрование)
Надеюсь это поможет,