You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否复用网站GoDaddy SSL证书配置Azure AD应用及后续配置疑问

关于Azure AD认证证书的两个问题解答

1. 现有GoDaddy SSL证书能否用于Azure AD应用?

可以,但需要满足以下前提:

  • 证书为X.509格式,密钥长度≥2048位,有效期不超过13个月(Azure AD对证书的硬性要求)
  • 你持有该证书对应的私钥文件(仅.crt公钥文件无法完成认证交互,通常需要包含私钥的.pfx格式文件)
  • 证书用途包含「数字签名」(主流SSL证书默认具备该属性,可通过证书详情查看)

只要符合以上条件,这个GoDaddy SSL证书就能用来替代客户端密钥,完成Web应用与Azure AD的身份验证。

2. 上传证书后是否需要传递Thumbprint?操作步骤及代码修改说明

需要传递证书Thumbprint,具体操作如下:

步骤1:获取证书Thumbprint

在Azure门户上传证书到目标AD应用的「Certificate & Secrets」后,复制证书的Thumbprint,注意去掉Thumbprint中的所有空格。

步骤2:修改Web应用配置

打开项目的appsettings.json,在AzureAd配置节点中添加ClientCertificateThumbprint项,填入处理后的Thumbprint:

"AzureAd": {
  "Instance": "https://login.microsoftonline.com/",
  "Domain": "your-domain.com",
  "TenantId": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "ClientId": "yyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
  "CallbackPath": "/signin-oidc",
  "ClientCertificateThumbprint": "aaabbbccddeeff00112233445566778899aabbcc"
}

步骤3:确保Web应用能访问证书私钥

  • 本地开发环境:将包含私钥的.pfx证书安装到本地计算机的「个人」证书存储(当前用户或本地计算机容器均可);或者在配置中指定证书文件路径与密码(适合临时测试)。
  • Azure App Service部署:在应用服务的「TLS/SSL设置」中上传证书,然后添加应用设置WEBSITE_LOAD_CERTIFICATES,值设为证书Thumbprint(或*加载所有证书),确保应用能读取到证书。

代码修改说明

ASP.NET Core 6的Azure AD认证框架会自动读取ClientCertificateThumbprint配置,从证书存储中加载对应证书,不需要修改身份认证的核心代码。如果选择通过文件路径加载证书(而非依赖存储),则需要在Program.cs中手动配置客户端凭据,示例如下:

builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(options =>
    {
        builder.Configuration.Bind("AzureAd", options);
        // 从文件加载证书
        options.ClientCredential = new ClientCredential
        {
            Certificate = new X509Certificate2("wwwroot/certs/your-cert.pfx", "your-cert-password")
        };
    });

内容的提问来源于stack exchange,提问作者John John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:55:17