Использование MakeCert для создания действительного сертификата рабочего клиента для аутентификации WCF

Я приобрел настоящий SSL-сертификат для аутентификации моего компьютера и домена, в котором размещены некоторые службы WCF.

Как я могу использовать MakeCert для создания сертификата клиента, подписанного этим подлинным сертификатом, чтобы использовать его на клиентских компьютерах для проверки того, что они подключены к правильному (моему) серверу?

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


person test    schedule 04.01.2013    source источник


Ответы (1)


  1. В общем, нельзя. Каждый сертификат выдается для определенной цели (использования ключа). В вашем случае, скорее всего, это SSL-аутентификация. Такие сертификаты нельзя использовать для подписи других сертификатов (ну, технически они могут, но такая подпись не будет принята во время проверки). Сертификаты с поддержкой CA стоят огромных денег, и вам необходимо соответствовать определенным организационным требованиям.

  2. Вам не нужно создавать сертификат клиента только для аутентификации сервера - для этого используется сертификат сервера. Сертификаты клиентов используются, чтобы сообщить серверу, кто являются клиентами, то есть для аутентификации клиентов на сервере. И для таких сертификатов вам не нужно подписывать их сертификатом сервера - вы можете либо создать самозаверяющие сертификаты клиента, либо создать один самозаверяющий сертификат, который будет действовать как CA и сделать его доверенным на сервере. Затем используйте этот самозаверяющий сертификат для выдачи клиентских сертификатов.

Выполнение всего вышеперечисленного требует понимания того, как работают сертификаты PKI и X.509 (и, кстати, они не являются «сертификатами SSL» и не связаны с SSL).

person Eugene Mayevski 'Callback    schedule 04.01.2013
comment
Все правильно, кроме вашего последнего утверждения в скобках. Сертификаты SSL - это общий термин, используемый коммерческими центрами сертификации для описания сертификатов X.509 с расширенным использованием ключей для аутентификации сервера. Таким образом, все сертификаты SSL являются сертификатами X.509, но не все сертификаты X.509 являются сертификатами SSL. Подробнее здесь: security.stackexchange.com/questions/36932/ - person Oran Dennison; 11.03.2015
comment
@OranDennison Это уже много раз обсуждалось ранее на SO. Строго говоря сертификаты X.509 не называются сертификатами SSL, и рекомендуется обучать программистов и заставлять их использовать правильные термины. Т.е. Цель моего пояснения - дать людям понять, как они названы правильно. Мы специалисты по безопасности, а не маркетологи, поэтому мы должны использовать правильные термины, а не маркетинговую ерунду. - person Eugene Mayevski 'Callback; 11.03.2015
comment
@ EugeneMayevski'EldoSCorp, чтобы убедиться: правильны ли эти шаги для производства: 1. создать CA с помощью makecert, 2. установить этот CA на веб-сервер, 3. создать сертификаты клиентов, используя этот CA. - person mtkachenko; 08.12.2015
comment
@ Oblomov86 зависит от ваших целей. Я не могу ответить, не зная, чего именно вы пытаетесь достичь. - person Eugene Mayevski 'Callback; 08.12.2015
comment
@ EugeneMayevski'EldoSCorp Мне нужно использовать клиентские сертификаты на производстве. Я могу создавать их с помощью созданного мной центра сертификации. Я полагаю, если CA установлен на веб-сервере, клиент сможет без проблем работать с моими клиентскими сертификатами. - person mtkachenko; 08.12.2015
comment
@ oblomov86 нет, установленный CA не имеет ничего общего с тем, принимают ли клиенты конкретный сертификат. Думаю, имеет смысл прочитать пару книг о том, как работает PKI. Здесь у нас есть пара ссылок на хорошие книги: eldos.com/forum /read.php?FID=7&TID=1842 - person Eugene Mayevski 'Callback; 09.12.2015