使用客户端证书身份验证的结构访问失败

时间:2017-08-01 11:45:17

标签: azure-service-fabric

我们正在使用Fabric安全集群,并且需要CI / CD工具的客户端证书。

我已使用此脚本https://gist.github.com/kagarlickij/d63a4061a1066d3a85abcc658f0856f5

创建了群集主证书和客户端证书

因此两者都已上传到同一个Kay保险库,并且两者都已安装到我机器上的本地密钥库中。

我已将客户端证书添加到我的Fabric安全设置(身份验证类型=管理客户端,授权方法=证书指纹)。

问题是我可以使用群集主证书连接(我在PowerShell中使用Connect-ServiceFabricCluster)到Fabric群集但不能使用客户端证书。 我收到此错误:Connect-ServiceFabricCluster:FABRIC_E_SERVER_AUTHENTICATION_FAILED:0x800b0109

请告知可以做些什么?

2 个答案:

答案 0 :(得分:0)

基于on this link 0x800b0109 的相应错误代码为:

  

已处理证书链,但已在根证书中终止   信任提供者不信任。

您使用自签名证书作为客户端证书。我不确定是否支持Service Fabric Security documentation中所述,而且您必须确保已在本地商店中添加SSL证书。

  

客户X.509证书

     

客户端证书通常不是由第三方CA颁发的。   相反,通常是当前用户位置的个人存储   包含由根权限放置在那里的客户端证书   预期用途客户端身份验证的价值。客户可以使用   需要相互身份验证时的此证书。注意

     

Service Fabric群集上的所有管理操作都需要服务器证书。客户端证书不能用于管理。

答案 1 :(得分:0)

我在通过Powershell管理集群时遇到了同样的问题,我在集群上只有1个证书(创建集群时会生成一个蔚蓝的证书),并且我认为它是客户端证书,因为当我在浏览器中选择它时,管理集群。

最终,我不得不将自签名证书添加到我的根证书存储中(除了我已经拥有的个人存储中),以使Powershell模块停止抱怨它。