在 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 应用程序加载所有证书。
我在 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 应用程序加载所有证书。