我在程序集中添加了PFX文件作为嵌入式资源,以使用证书对JWT令牌进行签名。我将pfx作为流加载并读取所有字节并使用X509Certificate2加载私钥
public X509Certificate2(byte [] rawData,string password)
在Debug / Release中的dev机器上工作正常,但是当部署到azure应用程序服务器或构建机器时,我看到"错误的数据"错误。
任何帮助非常感谢。 感谢
答案 0 :(得分:2)
您似乎想要从Azure App Service Web应用程序上的应用程序访问证书,您可以将您的证书上传到Azure网站的证书集合,并从您网站的个人证书存储中将其用于您的Web应用程序。
上传证书
添加名为WEBSITE_LOAD_CERTIFICATES的应用设置,其值设置为证书的指纹
在应用程序中使用证书
X509Certificate2 retVal = null;
X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
certStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
if (certCollection.Count > 0)
{
retVal = certCollection[0];
}
certStore.Close();
有关详细信息,请查看:Using Certificates in Azure Websites Applications