IdentityServer4 在 Azure 的 Linux Web 应用程序中加载证书
IdentityServer4 loading certificates in a Linux Web App in Azure
目前我有一个在开发人员模式下工作的网络应用程序,但我试图让它在 Azure 的 Linux 网络应用程序中使用自签名证书。我已经将 .pfx 文件上传到 Azure,并通过设置 WEBSITE_LOAD_CERTIFICATES
应用程序设置将其加载到容器中。起初,我尝试使用商店,但是,这在 Linux.
中不起作用
相反,我已经能够找到上传文件的位置(到 .p12 文件),但是,当我尝试手动加载证书时,出现错误 error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure
,这似乎可能是密码的问题,我已经多次验证密码正确了。
A post here有使用openssl生成自签名密钥的方法,并显示了同样的问题。
注意:加载证书适用于 Windows 和 Ubuntu,只是不适用于 Azure 中的 Linux Web 应用程序。
为了解决这个问题,我使用了通过 azure 创建的证书以及“创建应用服务托管证书”选项。加载证书时提供的密码只是一个空字符串 ("")。
对我来说,Azure 中托管在 linux 上的 IdentityServer4 的解决方案是在这个 Github 问题中:https://github.com/IdentityServer/IdentityServer4/issues/4000
方法 AddApiAuthorization()
覆盖 AddSigningCredential()
!
此外,您必须指定 IssuerUrl:
services.AddIdentityServer(options =>
{
options.IssuerUri = "https://your.azurewebsites.net/";
})
目前我有一个在开发人员模式下工作的网络应用程序,但我试图让它在 Azure 的 Linux 网络应用程序中使用自签名证书。我已经将 .pfx 文件上传到 Azure,并通过设置 WEBSITE_LOAD_CERTIFICATES
应用程序设置将其加载到容器中。起初,我尝试使用商店,但是,这在 Linux.
相反,我已经能够找到上传文件的位置(到 .p12 文件),但是,当我尝试手动加载证书时,出现错误 error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure
,这似乎可能是密码的问题,我已经多次验证密码正确了。
A post here有使用openssl生成自签名密钥的方法,并显示了同样的问题。
注意:加载证书适用于 Windows 和 Ubuntu,只是不适用于 Azure 中的 Linux Web 应用程序。
为了解决这个问题,我使用了通过 azure 创建的证书以及“创建应用服务托管证书”选项。加载证书时提供的密码只是一个空字符串 ("")。
对我来说,Azure 中托管在 linux 上的 IdentityServer4 的解决方案是在这个 Github 问题中:https://github.com/IdentityServer/IdentityServer4/issues/4000
方法 AddApiAuthorization()
覆盖 AddSigningCredential()
!
此外,您必须指定 IssuerUrl:
services.AddIdentityServer(options =>
{
options.IssuerUri = "https://your.azurewebsites.net/";
})