我可以在没有自定义域的情况下在 Azure 应用服务上使用客户端证书吗?

Can I use Client Certificates on Azure App Services without a custom domain?

出于测试目的,我想在我的 Azure 应用服务(运行 一个 WCF 网络服务)中启用 'Incoming Client Certificates' 选项,并查看我的客户端应用程序是否仍然可以连接到该网络服务。由于我仍处于测试阶段,我的应用服务仍然具有 .azurewebsites.net 域名。

但是,我似乎无法弄清楚如何获得服务器将接受的正确客户端证书(无需切换到自定义域名,我知道这会起作用)。

目前,我看到了 2 条可能的解决方案:

  1. 以某种方式获取由应用服务服务器信任的 CA 签名的 .cer。
  2. 使用我自己的自签名 CA 生成自签名 .pfx 和 .cer。在应用服务上导入 pfx,并在客户端安装 .cer。

到目前为止,这两个方向都没有取得任何成功。有人对这个有经验么?

据我了解,客户端系统使用客户端证书向远程服务器发出经过身份验证的请求。在这种情况下,您的网络服务是 C/S 模式下的远程服务器。正如您所指出的,"validating this certificate is the responsibility of the web app. So this means that any certificate will be valid as long as you don't validate anything"。它不会影响您的网络应用服务中是否有自定义域。

如果想在Azure应用中使用client cert认证,可以参考How To Configure TLS Mutual Authentication for Web App.