有了端点的行为,我指定了要使用的 serviceCertificate。一切正常,但每年我们都会在服务器上获得一个新证书,而旧证书则未被删除。
这会产生 2 个有效证书(有效期内重叠几天),两者都具有相同的名称。当拥有 2 个同名证书时,使用该服务会引发错误:
异常消息是:使用以下搜索条件找到多个 X.509 证书:StoreName 'My'、StoreLocation 'LocalMachine'、FindType 'FindBySubjectName'、FindValue 'CertName'。提供更具体的查找值
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehaviour">
<serviceCredentials>
<serviceCertificate findValue="CertName" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
我现在知道如何通过删除旧证书来解决这个问题,但我发现没有办法长期解决这个问题,即始终采用第一个有效证书。
有没有办法指定获取一个证书,而不管匹配的可用证书数量如何?我不想每次更新证书时都修改我们的配置文件。