私はサードパーティの会社からデータを取得しています。これをローカルに設定するときは、.cerと.pfxを証明書ストアにインストールした後に動作します。Azureの公開証明書と秘密証明書はWebアプリケーションからアクセスできません
Could not establish trust relationship for the SSL/TLS secure channel with authority
私は公共のルート証明書に自分のアプリケーションプールへのアクセスを与える前に最初に局所的に、この特定のエラーを受け取りました:しかし、私は、コードが私AzureのWebアプリケーション上で実行されるとき、それはエラーになり、それが仕事を得ることができません(IIS AppPool \ AppPoolName)。 Azureで同じエラーが発生しているように感じます。コードは証明書を見つけ出します(そうでなければエラーがスローされます)が、その証明書を使用するアクセス権がないようです。
これは私が使用しているコードは次のとおりです。私はすべての本命をインポートするアプリケーションのプロパティを設定したhttps://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/
:
私は私のウェブアプリで証明書をインストールするには、このガイドに従ってきました
var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
var certs = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
if (certs == null || certs.Count == 0)
{
ExceptionUtils.ThrowDataError("Private certificate could not be found");
}
store.Close();
return certs[0];
私もApp_Dataフォルダに.PFXを追加し、このようにそれをロードしようとしました::
プライベート証明書をロードしますvar certPath = HttpContext.Current.Server.MapPath("~/App_Data/cert.pfx");
var bankIdCert = new X509Certificate2(certPath, "password");
しかし、同じエラーが発生します。おそらく、公開証明書へのアクセス権が与えられていないことを意味しますか?作業ローカルバージョンと紺碧のバージョン間の今唯一の違いは次のとおりです。ローカル
- 、パブリック証明書は、店舗LOCALMACHINE場所ルートであると私 Azureのオン
- アップロードし、両方の本命が行く店LOCALMACHINEの場所にあるプライベートto CurrentUserMy
LocalMachineを使用して作業する必要がある証明書がありますか?