Сертификаты службы WCF Windows Identity Foundation - PullRequest
2 голосов
/ 22 апреля 2011

Я недавно настроил службу WCF для STS с использованием WIF, я пытаюсь понять, какие сертификаты нужны и на что они влияют, у меня есть сертификат против IIS, разрешающий связь HTTPS, но в конфигурации STS есть ссылка на еще двасертификаты.например,

<appSettings>
  <add key="SigningCertificateName" value="CN=STSTestCert"/>
  <add key="EncryptingCertificateName" value="CN=DefaultApplicationCertificate"/>
</appSettings>

В документации MSDN (http://msdn.microsoft.com/en-us/library/ee748498.aspx) указано

STS использует сертификат по умолчанию для подписи выдаваемых им токенов. Этот сертификат называется «STSTestCert », и он автоматически добавляется в хранилище сертификатов для использования STS. Файл сертификата присутствует в проекте STS. Пароль для файла« STSTest ». Его не следует использовать в производственном упражнении. Вы можете заменитьсертификат по умолчанию с любым другим сертификатом

Мой вопрос: для чего используются Сертификат подписи и Сертификат шифрования и какие сертификаты будут подходящими для общедоступной службы?*

1 Ответ

3 голосов
/ 27 апреля 2011

Заявления о том, что WIF построен вокруг, доставляются через токены.

Каждый токен подписан, чтобы доказать, что он пришел от ожидаемого STS.

AFAIK, нет способа удалить подписанный компонент токена (что имеет смысл, так как в противном случае любая третья сторона может сгенерировать их и «притвориться», что они получены из STS).

Эти токены также могут быть зашифрованы. Если вы работаете по протоколу https, все сообщение будет зашифровано сертификатом IIS, а сам токен снова будет зашифрован с помощью сертификата шифрования WIF. Шифрование токена не является обязательным. Когда вы используете FedUtil, один из вопросов - «Хотите ли вы шифрование токена?». Если вы говорите «Нет», это не зашифровано. Если вы говорите «Да», он зашифрован, и вас попросят предоставить сертификат.

При желании вы можете использовать один и тот же сертификат как для шифрования токена, так и для подписи. С точки зрения безопасности имеет смысл использовать два.

Таким образом, «наиболее безопасное» решение будет использовать три сертификата.

Вы получаете сертификаты в обычном порядке от доверенного эмитента.

...