Безопасность транспорта WCF, динамическое изменение сертификатов

Я использую сервисы WCF с C#. Я использую режим безопасности транспорта, устанавливая клиентские и сервисные сертификаты.

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

Можно ли изменить эти сертификаты в середине операции без перезапуска хоста службы? Если так, как?

Достаточно ли этого, если я просто вызову установленный сертификат с другим пройденным сертификатом:

serviceHost.Credentials.ServiceCertificate.SetCertificate(...)
serviceHost.Credentials.ClientCertificate.SetCertificate(...)

Кто-то сталкивался с этой проблемой и решил ее?

2 ответа

Я проверил это как проблему высокой доступности. Вы не можете сделать это. Служба получает свой сертификат, когда ServiceHost открывается и никогда больше.

Если ваша цель заключается в поддержке HA, вам необходимо установить несколько служб за балансировщиком нагрузки и перезапустить их один за другим.

К сожалению, вы не можете изменить сертификаты без перезапуска веб-службы. Я внимательно изучил это. Там нет никакого способа сделать это. сожалею

Другие вопросы по тегам