在 WebJob 中使用客户端证书

Use a client certificate in a WebJob

我在 Azure 网络应用程序上有一个网络作业 运行。我的 Web 作业需要访问客户端证书以进行出站流量加密。

如何从 Azure Web 作业访问客户端证书? 我尝试在主机 Web 应用程序上安装证书并以这种方式访问​​证书:

    private static X509Certificate2 LoadCertificateFromStore(string certificateThumbprint){
        var store = new X509Store(StoreLocation.CurrentUser);
        try {
            store.Open(OpenFlags.ReadOnly);
            var certCollection = store.Certificates;
            var currentCertificate = certCollection.Find(X509FindType.FindByThumbprint, certificateThumbprint, false);
            if (currentCertificate.Count == 0)
                throw new InvalidOperationException("Could not find certificate " + certificateThumbprint);
            return currentCertificate[0];
        } finally{
            store.Close();
        }
    }

不幸的是,这没有用,因为找不到证书。 我卡住了。

哦,知道了!我遵循了所有步骤 in this article,但我错过了一个重要的步骤:您必须将名为 "WEBSITE_LOAD_CERTIFICATES" 的设置添加到 Web 应用程序 "APP SETTINGS",这将强制 Web 应用程序加载所有证书。