C# 将自签名根证书添加到Azure应用程序服务

C# 将自签名根证书添加到Azure应用程序服务,c#,azure,ssl,adfs,C#,Azure,Ssl,Adfs,我有一个基于Azure的.NET web应用程序,我们正在尝试连接到客户端的本地ADFS环境。我们可以通过Azure混合连接访问资源,但当我们尝试从ADFS获取身份验证头时,会出现证书错误 在做了一些挖掘之后,我们发现他们没有使用来自可信根CA的证书,而是使用自签名证书。客户端已经向我们发送了他们的根CA(以及中间人)证书,并要求我们让Azure应用程序信任这些证书 1) 这可能吗 2) 这样做是否存在安全风险 我找到了关于向应用程序服务添加证书的文档,但我认为这不会“信任”由其根CA证书签名的

我有一个基于Azure的.NET web应用程序,我们正在尝试连接到客户端的本地ADFS环境。我们可以通过Azure混合连接访问资源,但当我们尝试从ADFS获取身份验证头时,会出现证书错误

在做了一些挖掘之后,我们发现他们没有使用来自可信根CA的证书,而是使用自签名证书。客户端已经向我们发送了他们的根CA(以及中间人)证书,并要求我们让Azure应用程序信任这些证书

1) 这可能吗

2) 这样做是否存在安全风险

我找到了关于向应用程序服务添加证书的文档,但我认为这不会“信任”由其根CA证书签名的任何证书,而是只信任该证书本身。

我还发现了这个问题,这是2015年的问题,我很好奇这个答案从那时起是否发生了变化。

以及当前尝试连接到其ADF时出现的实际错误:

系统.Net信息:0:[13800]安全通道#55196503-远程 证书有错误:

系统.Net信息:0:[13800]SecureChannel#55196503-A 无法将证书链构建到受信任的根颁发机构

系统.Net信息:0:[13800]安全通道#55196503-远程 用户验证证书无效

系统.Net错误:0:[13800]HttpWebRequest中出现异常#44115416::- 基础连接已关闭:无法建立信任 SSL/TLS安全通道的关系


不,仍然无法使用自签名证书。由于存在安全风险,要求没有改变

参考MS文档,以下是SSL证书的要求:

要使用应用程序内证书服务,证书必须满足以下所有要求:

  • 由受信任的证书颁发机构签名
  • 导出为受密码保护的PFX文件
  • 包含至少2048位长的私钥
  • 包含证书链中的所有中间证书

另外,Azure网站是平台即服务(PAAS),对操作系统的某些元素控制有限。例如,可以将任何根证书添加到服务器的受信任根部分&可以在Azure VM和Azure云服务中这样做。然而,在PaaS环境中,您无法访问或控制底层操作系统。