X509Certificate Лучшие практики внедрения - PullRequest
2 голосов
/ 10 мая 2011

Во-первых, благодаря всем тех терпеливых техников, которые пытаются помочь неизвестным людям.

Во-вторых, у меня есть служба wcf, которую должны использовать только несколько клиентов (10), известных нашей компании. Эта служба wcf имеет сертификат x509 "CN = ABCD". Теперь он ожидает получения сертификата от клиентов для использования этой услуги. Итак, вот вопросы дизайна

  1. Должен ли я создать один сертификат "CN = ABCD", затем щелкните по нему правой кнопкой мыши и экспортировать как файлы pfx и раздать их клиентам?
  2. Некоторые говорят, что нужно подтвердить в коде и некоторые говорят, чтобы проверить в конфиге, который лучше?
  3. Откуда мне знать, какой клиент звонить как сертификат имеет такой же имя для всех, если моя компания распространяет это?
  4. в чем разница .cer файл и файл .pfx?
  5. При передаче сертификата клиенты, я буду давать оба .cer и .pfx файлы?
  6. Как я должен отзывать только один клиент, если он истекает?
  7. Моя компания уже имеет сертификат как * .fdfd.org. Могу ли я использовать это как мой сертификат X509 вместо порождает один?

много вопросов!
Но из-за большого разочарования я хотел узнать мнение разработчиков, потому что не мог получить нужную информацию.

1 Ответ

1 голос
/ 10 мая 2011
  • NO У вас должен быть отдельный сертификат для услуги , и у вас должен быть один сертификат для каждого клиента.После того, как вы поделились секретным ключом своей службы, ваша безопасность перестала существовать.
  • Вы можете либо установить открытые ключи клиентских сертификатов для Machine \ Trusted people (клиент с любым доверенным сертификатом будет иметь доступ к вашей службе), либо вы можете использоватьспециальный валидатор сертификатов (только защита сообщений - в соответствии с вашим предыдущим вопросом вы, вероятно, используете защиту сообщений) для проверки действительно только этих 10 сертификатов.
  • Это возможно только в том случае, если вы создаете отдельный сертификат для каждогоклиент.Также возможно объединить сертификат с поддержкой имени пользователя и пароля, но для этого требуется очень продвинутая конфигурация WCF, и совместное использование одного сертификата несколькими клиентами является плохим решением.
  • Сертификат является просто контейнером для некоторой информации - ключи для асимметричнойшифрование..cer содержит только открытый ключ, который можно свободно распространять - вам, вероятно, придется распространять файл .cer сертификата вашей службы среди клиентов..pfx содержит открытый и закрытый ключи и должен быть максимально защищен.Как только файл .pfx скомпрометирован, сертификат больше не защищен и должен быть заменен.По этой причине вы должны хранить .pfx вашей службы (установленный в хранилище учетных данных сертификата), а каждый клиент должен сохранять свои .pfx.
  • Если вы создаете сертификат для клиентов, вы передаете им как минимум .pfx.Очевидно, что после отправки такого сертификата по незащищенной электронной почте вы серьезно повредите безопасность.
  • Если срок действия одного клиента истечет, вы удалите его сертификат из доверенных сертификатов.Если у вас есть собственный центр сертификации (который вы должны иметь, если хотите создавать сертификаты для клиентов)
  • Если ваша служба находится на fdfd.org, вы, вероятно, можете использовать ее, но только для службы.
...