将上载到Azure门户的TLS证书加载到Linux应用程序服务容器中

将上载到Azure门户的TLS证书加载到Linux应用程序服务容器中,linux,azure,asp.net-core,containers,azure-app-service-plans,Linux,Azure,Asp.net Core,Containers,Azure App Service Plans,一段时间以来,我们一直在Azure应用程序服务上运行ASP.NET核心web应用程序。作为升级到netcoreapp2.2的一部分,我们决定将其Dockerize并在Linux容器上运行,该容器仍在应用程序服务中 此应用程序所做的一件事是加载TLS证书以进行令牌签名。以前,此证书已上载到应用程序服务,应用程序将通过指纹在新X509Store(StoreName.My,StoreLocation.CurrentUser)中找到它。这可以通过添加配置设置WEBSITE\u LOAD\u CERTIF

一段时间以来,我们一直在Azure应用程序服务上运行ASP.NET核心web应用程序。作为升级到netcoreapp2.2的一部分,我们决定将其Dockerize并在Linux容器上运行,该容器仍在应用程序服务中

此应用程序所做的一件事是加载TLS证书以进行令牌签名。以前,此证书已上载到应用程序服务,应用程序将通过指纹在
新X509Store(StoreName.My,StoreLocation.CurrentUser)
中找到它。这可以通过添加配置设置
WEBSITE\u LOAD\u CERTIFICATES
,并将值设置到证书的指纹中来启用

使用Linux容器尝试了相同的方法后,我们发现证书存储中不存在证书


我在今年早些时候发现,这表明它在Linux上是不可能的。还是这样吗?如果是这样的话,是否有人知道一种不涉及将证书本身存储在映像中的解决方法?

该功能现在可以在Linux上使用

网站\u加载\u证书应用程序设置使Linux托管的应用程序(包括自定义容器应用程序)可以作为文件访问指定的证书。这些文件位于以下目录下:

  • 私有证书-/var/ssl/Private(.p12文件)
  • 公共证书-/var/ssl/certs(.der文件)
证书文件名是证书指纹。下面的C代码显示了如何在Linux应用程序中加载公共证书

使用系统;
使用System.Security.Cryptography.X509证书;
var bytes=System.IO.File.ReadAllBytes(“/var/ssl/certs/.der”);
var cert=新的X509Certificate2(字节);

该功能现在可以在Linux上使用

网站\u加载\u证书应用程序设置使Linux托管的应用程序(包括自定义容器应用程序)可以作为文件访问指定的证书。这些文件位于以下目录下:

  • 私有证书-/var/ssl/Private(.p12文件)
  • 公共证书-/var/ssl/certs(.der文件)
证书文件名是证书指纹。下面的C代码显示了如何在Linux应用程序中加载公共证书

使用系统;
使用System.Security.Cryptography.X509证书;
var bytes=System.IO.File.ReadAllBytes(“/var/ssl/certs/.der”);
var cert=新的X509Certificate2(字节);

我试过了,但还是不行
/var/ssl/certs/.der
-路径中的
需要替换为我为
网站\u LOAD\u证书提供的证书指纹
?我尝试了这个方法,但仍然不适用于我
/var/ssl/certs/.der
-路径中的
需要替换为我为
网站\u加载\u证书提供的证书指纹?