如何在Kudu(Azure)的Java密钥库中导入受信任的证书或密钥库

时间:2019-08-14 07:23:25

标签: azure azure-web-app-service

我在Azure Web应用程序中部署了一个Java应用程序,它与启用SSL的第三方应用程序进行交互。我想在azure Web应用程序中导入Java密钥存储区或其他应用程序的证书。

有人可以帮助将证书导入到Azure Web应用程序中,以便我的应用程序可以信任第三方应用程序。

1 个答案:

答案 0 :(得分:0)

应用程序服务环境(ASE)是在您的Azure虚拟网络(VNet)中运行的Azure应用程序服务的部署。 ASE是一个单一租户系统。因为它是单租户,所以有些功能仅在ASE中可用,而在多租户App Service中不可用。

私人客户端证书

一个常见的用例是在客户端-服务器模型中将您的应用配置为客户端。如果您使用私有CA证书保护服务器安全,则需要将客户端证书上传到您的应用中。以下说明会将证书加载到运行您的应用程序的工作程序的信任库中。如果您将证书加载到一个应用程序,则可以将其与同一应用程序服务计划中的其他应用程序一起使用,而无需再次上传证书。

要将证书上传到您的ASE中的应用程序中,

  1. 为您的证书生成一个.cer文件。
  2. 转到Azure门户中需要证书的应用程序
  3. 在应用程序中转到SSL设置。单击上载证书。选择公共。选择本地计算机。提供一个名字。浏览并选择您的.cer文件。选择上传。
  4. 复制指纹。
  5. 转到“应用程序设置”。创建一个应用程序设置WEBSITE_LOAD_ROOT_CERTIFICATES以指纹作为值。如果您有多个证书,则可以将它们放在相同的设置中,并以逗号分隔,并且不能使用空格 84EC242A4EC7957817B8E48913E50953552DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819

与配置了该设置的应用程序在同一应用程序服务计划中的所有应用程序均可使用该证书。如果需要其他应用程序服务计划中的应用程序可以使用它,则需要在该应用程序服务计划中的应用程序中重复执行“应用程序设置”操作。要检查证书是否已设置,请转到Kudu控制台,然后在PowerShell调试控制台中发出以下命令:

dir cert:\localmachine\root

要执行测试,可以使用以下PowerShell创建自签名证书并生成.cer文件:

$certificate = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname "*.internal-contoso.com","*.scm.internal-contoso.com

$certThumbprint = "cert:\localMachine\my\" + $certificate.Thumbprint
$password = ConvertTo-SecureString -String "CHANGETHISPASSWORD" -Force -AsPlainText

$fileName = "exportedcert.cer"
export-certificate -Cert $certThumbprint -FilePath $fileName -Type CERT

来源: https://docs.microsoft.com/en-us/azure/app-service/environment/certificates#private-client-certificate