将证书作为嵌入资源加载到程序集中
Loading a certificate as embedded resource in an assembly
我已将 PFX 文件添加为程序集中的嵌入式资源,以使用证书签署 JWT 令牌。我将 pfx 作为流加载并读取所有字节并使用 X509Certificate2 加载私钥
public X509Certificate2(byte[] rawData, string password)
在 Debug/Release 的开发机器上工作正常,但是当部署到 Azure 应用程序服务或构建机器时,我看到 "Bad data" 错误。
非常感谢任何帮助。
谢谢
你似乎想从 Azure 应用服务 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();
我已将 PFX 文件添加为程序集中的嵌入式资源,以使用证书签署 JWT 令牌。我将 pfx 作为流加载并读取所有字节并使用 X509Certificate2 加载私钥
public X509Certificate2(byte[] rawData, string password)
在 Debug/Release 的开发机器上工作正常,但是当部署到 Azure 应用程序服务或构建机器时,我看到 "Bad data" 错误。
非常感谢任何帮助。 谢谢
你似乎想从 Azure 应用服务 Web 应用程序访问证书,你可以将你的证书上传到 Azure 网站中的证书集合,并在你网站的个人证书存储区的 Web 应用程序中使用它。
上传证书
正在应用程序中使用证书
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();