我有一个Azure网站实例,需要将 out 连接到使用客户端证书保护的其他地方运行的WCF服务。
Client -> Azure Website (MVC Controller) -> WCF Service (Not Azure) that requires Client Certificate
我已经提供了一个CER文件,当在本地安装时,我的网站可以连接到WCF服务。如何在Azure网站上安装/提供此证书?
我在研究时发现的所有文档都是关于在Azure中运行时保护WCF服务,并且需要安装带密码的PFX文件。我正在尝试相反的做法,将Azure网站的出站连接到第三方WCF服务。
答案 0 :(得分:4)
自: https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/
添加以下应用程序设置:
WEBSITE_LOAD_CERTIFICATES
*
或{CERT_THUMBPRINT}
然后,您可以从My
商店获取证书:
X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
certStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certCollection = certStore.Certificates.Find(
X509FindType.FindByThumbprint,
// Replace below with yourcert's thumbprint
"E661583E8FABEF4C0BEF694CBC41C28FB81CD870”,
false);
现在,我认为您无法上传.cer
。
.pfx
似乎是App Service中唯一可接受的格式。
或者只是在没有私钥的情况下从磁盘加载它。
这样你也可以加载.cer
(DER可以工作,也可能是Base64):
// The path to the certificate.
string Certificate = @"d:\home\site\cert.cer";
// Load the certificate into an X509Certificate object.
X509Certificate cert = X509Certificate.CreateFromCertFile(Certificate);
// Print to console
string result = cert.ToString(true);
Console.WriteLine(result);
在App Service中工作得很好(这里它在Kudu console中运行):