Предотвращение дублирования сертификата x509, используемого на клиенте WCF?

StackOverflow https://stackoverflow.com/questions/3411398

  •  25-09-2019
  •  | 
  •  

Вопрос

У меня есть приложение WPF и WCF, для которого требуется установить сертификат (.pfx) на стороне клиента, чтобы WPF мог вызывать службу WCF.

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

Это было полезно?

Решение

Создание сертификатов для WCF

  1. Создайте сертификат Центра сертификации

makecert -r -pe -n "CN=MyCA" -ss my -sr Локальная машина MyRootPublicCert.cer

-r Создать самозаверяющий -pe Пометить сгенерированный закрытый ключ как экспортируемый -имена хранилища сертификатов субъектов ss, в котором хранится выходной сертификат -расположение хранилища сертификатов субъектов sr

Файл появится в хранилище персональных сертификатов компьютера, с которого вы генерируете сертификат.

Это файл, который вам нужно будет импортировать на ваш сервер / клиент в качестве доверенного корневого центра сертификации (просто щелкните созданный вами файл .cer и установите сертификат, поместите его в доверенные корневые центры сертификации).

  1. Сгенерировать сертификат сервера

Вам необходимо экспортировать сертификат с закрытым ключом внутри, чтобы использовать его на сервере, поэтому на компьютере, на котором вы создали сертификат CA в open mmc, certificates add-on, Personal, нажмите cert, >> rt нажмите >> все задачи >> экспорт >> выберите да, экспортируйте закрытый ключ >> выберите .PFX >> выберите пароль >> назовите этот файл чем-то вроде NamePrivateKeyCert.pfx

Установите этот сертификат в Личное хранилище серверного компьютера и используйте его для размещения службы.

  1. Создать сертификат клиента

Создайте сертификат сервера с компьютера центра сертификации.Это сгенерирует файл сертификата со встроенным закрытым ключом:

makecert -a sha1 -n "CN=ClientCert" -небесный обмен -pe -ss My -sr LocalMachine -в "TestCA" -это my -ir LocalMachine TestPublicCert.cer

Возьмите этот файл cer и установите его на клиентский компьютер в хранилище надежных пользователей

  1. Краткое изложение

    Создайте сертификат центра сертификации (или используйте тот, который у вас уже есть, если вы его приобрели) Экспортируйте из центра сертификации файл .pfx, защищенный паролем (частный сертификат) Создайте публичный сертификат из сертификата центра сертификации (Public Cert)

    Тогда

    Установите центр сертификации КА.cer в хранилище доверенных корневых центров сертификации на клиенте и сервере Установите Частноефайл .pfx в персональное хранилище сервера Установите Публичный.cer в хранилище доверенных лиц клиента

    Готов к работе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top