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

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

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

1 Ответ

1 голос
/ 05 августа 2010

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

  1. Создание сертификата удостоверяющего центра

makecert -r -pe -n "CN = MyCA" -ss my -sr localMachine MyRootPublicCert.cer

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

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

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

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

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

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

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

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

makecert -a sha1 -n "CN = ClientCert" -sky exchange -pe -ss My -sr LocalMachine -in "TestCA" - это моя -ir localMachine TestPublicCert.cer

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

  1. Recap

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

    Тогда

    Установите CA CA .cer в хранилище доверенных корневых центров сертификации на клиенте и сервере. Установите файл Private .pfx в Личное хранилище сервера. Установите Public .cer в хранилище доверенных лиц клиента

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...