Azure 中的客户端证书身份验证和 CA 证书

     2023-03-13     249

关键词:

【中文标题】Azure 中的客户端证书身份验证和 CA 证书【英文标题】:Client certificate authentication and CA certificate in Azure 【发布时间】:2013-01-26 12:53:27 【问题描述】:

我需要使用客户端证书对 Azure 云服务 Web 角色 的请求进行身份验证。如何将证书颁发机构 (CA) 根证书放入正确的受信任存储区?

我尝试将其上传到管理门户中,然后使用 AuthRoot 商店名称在服务定义文件中对其进行定义:

<Certificate name="RootCA" storeLocation="LocalMachine" storeName="AuthRoot" />

真正奇怪的是它可以工作......但只是有时。它可能在实例重启后工作,但在服务更新或另一个实例重启后可能无法工作。这似乎是 Azure 中的一个错误。

当我说“工作”时,我的意思是服务器成功接受了客户端证书并处理了请求。 当我说“不起作用”时,我的意思是服务器在证书检查后没有协商连接,并且“请求被中止:无法创建 SSL/TLS 安全通道”。客户端抛出异常。

如何让它稳定运行?

UPD:

在系统 Windows 事件日志中找到这条记录(来源为 Schannel):

当请求客户端身份验证时,此服务器发送一个列表 客户信任的证书颁发机构。客户端使用这个 列表以选择服务器信任的客户端证书。 目前,该服务器信任如此多的证书颁发机构,以至于 列表太长了。因此,此列表已被截断。这 这台机器的管理员应该检查证书 信任客户端身份验证的权威机构并删除那些 真的不需要被信任。

【问题讨论】:

【参考方案1】:

这里描述了确切的问题:http://support.microsoft.com/kb/2801679。

在 2012 年 12 月的 Windows 更新之后,许多证书被添加到 AuthRoot 存储中。所以我们必须删除它们才能解决问题。

为此,我使用 PowerShell 启动任务:

Get-ChildItem -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\AuthRoot\Certificates | Where-Object $_.Name -notlike "*\<YOUR_CERTIFICATE_THUMBPRINT>" | Remove-Item

从 CMD 启动任务运行它:

PowerShell -ExecutionPolicy Unrestricted .\Startup.ps1
exit /b %errorlevel%    

在 ServiceDefinition.csdef 中:

<WebRole name="Web">
  <Startup>
    <Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple" />
  </Startup>
  <!-- ... ->
</WebRole>

【讨论】:

Azure Function Apps 如何处理客户端证书身份验证?

】AzureFunctionApps如何处理客户端证书身份验证?【英文标题】:HowdoAzureFunctionAppshandleClientCertificateAuth?【发布时间】:2021-02-0207:47:12【问题描述】:希望我能说得够清楚。目标:客户端证书认证的Azure函数场景:Azure函数App与:HTTP... 查看详情

2020-08-10https理解

...列(哈希)函数验证信息的完整性。TCP握手建立链接后,客户端向服务端发送https请求前要握手一次,主要是认证服务端是否可信,与服务端协商后续传输数据的加密方式,以及校验完整性的签名方式(HASH)解决上述身份验证问... 查看详情

sccm的证书配置pki

...”选中私钥可导出。(工作站身份验证模板的副本1)3,客户端自动注册证书:在CA上复制工作站身份验证模板并编辑”安全“给"DomainComputers" 查看详情

wcf与相互身份验证(代码片段)

...返回401Unauthorized。我已经阅读了几篇关于如何在WCF中编写客户端和服务器部分以使用相互身份验证的文章,但我仍然有以下问题:客户端发送客户端证书后,WCF服务如何确定是否将其接受为具有访问给定资源的经过身份验证的端... 查看详情

申请https证书需要注意的4大问题

...SSL证书。由合法CA机构颁发的ssl证书遵循ssl协议,通过在客户端浏览器和Web服务器之间建立一条SSL安全通道,对传送的数据进行加密和隐藏;确保数据在传送中不被篡改和窃取,保障数据 查看详情

ca数字证书是啥?

...与网上业务的实体所需的数字证书。数字证书是网路世界中的身份证。可以在网路世界中为互不见面的使用者建立安全可靠的信任关系,这种信任关系的建立则源于PKI/CA认证中心,构建安全的PKI/CA认证中心是至关重要的。CA[1]拥... 查看详情

加密解密*客户端,服务器,ca(certificateauthority),公钥,私钥,证书,签名,验证

加密解密(2)*客户端,服务器,CA(CertificateAuthority),公钥,私钥,证书,签名,验证 各角色比喻  客户端:通常为请求方,要验证服务器的身份。服务器:通常为响应方,有时也要验证客户端的身份。C  A:全... 查看详情

ca证书和ssl证书的区别

...就可以完全自己给自己办法证书的(SSL证书、邮件证书、客户端证 查看详情

sftp和ftps的区别

...个关键的安全元素:消息加密以保护传输中的消息,以及客户端/服务器认证,它验证事务中涉及的发送方和接收方的身份。安全加密:会话密钥保护传输中的数据;消息使用特定会话的密钥(TLS握手)进行加密。一旦建立,客户... 查看详情

使用 KeyVault 和 Azure PowerShell 证书身份验证创建 Azure AD 应用程序

】使用KeyVault和AzurePowerShell证书身份验证创建AzureAD应用程序【英文标题】:CreateanAzureADapplicationwithKeyVault&AzurePowerShellCertificateauthentication【发布时间】:2017-06-1802:21:28【问题描述】:我尝试使用AzurePowerShell证书身份验证在AzureAD... 查看详情

如何获得免费的https证书

免费HTTPS证书你可以到提供免费https证书的CA机构去申请,比如starssl,letsencrypt等,不过免费证书不验证服务器真实身份,谁都可以申请,存在钓鱼网站冒用的风险,如果是企业网站建议使用OV级别的https证书。https://www.wosign.com/DVS... 查看详情

ca自建和证书申请

CA简介:CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。网上的公众用户通过验证CA的签字从而信任CA... 查看详情

Azure Api 规则不适用于使用具有身份验证基本和身份验证证书的默认助手

】AzureApi规则不适用于使用具有身份验证基本和身份验证证书的默认助手【英文标题】:TheAzureApiRuledoesn´tapplyusingdefaultassistantwithauthentication-basicandauthentication-certificate【发布时间】:2019-08-1514:09:18【问题描述】:我正在添加一个... 查看详情

您可以在 azure acs 中同时拥有客户端证书安全性和服务身份认证吗

】您可以在azureacs中同时拥有客户端证书安全性和服务身份认证吗【英文标题】:Canyouhavebothclientcertificatesecurityandserviceidentityauthenticationinazureacs【发布时间】:2013-01-0712:07:45【问题描述】:我们有一个WCF服务,它需要azure的acs服... 查看详情

Curl 中出现错误 - 对等证书无法使用已知 CA 证书进行身份验证

】Curl中出现错误-对等证书无法使用已知CA证书进行身份验证【英文标题】:GettingerrorinCurl-PeercertificatecannotbeauthenticatedwithknownCAcertificates【发布时间】:2013-01-1822:12:47【问题描述】:在使用自签名证书进行ssl连接时出现以下错误... 查看详情

求推荐ssl证书用哪家,免费最好

SSL证书推荐品牌:Symantec、Comodo、GeoTrust、Thawte等。不建议使用免费的SSL证书,理由是它和收费的SSL证书存在很大的差别:1、SSL安全证书类型免费SSL安全证书一般为域名型DVSSL证书,仅用于提供基本级别的身份验证,常用于小型... 查看详情

https通讯的过程

https验证过程首先有三个角色:客户端、服务端、CA证书中心服务端使用非对称加密算法生成公钥和私钥服务端将公钥发给CA证书中心,并获得CA证书(ssl证书)客户端https证书请求服务器,服务器将公钥和证书发给客户端客户端... 查看详情

ssl安全证书的实现机制

...关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名。CA也可以吊销已经签发的证书,基本的方式包括两类CRL文件和OCSP。CA使用具体的流程如下:参考技术ASSL安全机制是依靠数字证书来实现的。... 查看详情