アプリケーションで Azure サービス管理 REST API を使用しています。Azure に管理証明書をアップロードし、ローカルにコピーを持っています。アプリケーション自体の別のフォルダー (AzureCertificate) に証明書を保持し、その場所を参照します。例えば:
string certificatePath = Server.MapPath("~/AzureCertificate/") + certificateName;
X509Certificate2 証明書 = 新しい X509Certificate2(certificatePath);
AzureCertificate -- フォルダー名 certificateName - MyCertificatieName.cer
アプリケーションをローカル開発環境で実行すると、正常に動作します。しかし、Azure Web サイトに同じものをデプロイすると、以下のエラーが発生します。
リモート サーバーがエラーを返しました: (403) Forbidden
これが私がリクエストを行う方法です
文字列 uri = apiURL + subscriptionId + "/services/hostedservices";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri);
X509Certificate2 証明書 = 新しい X509Certificate2(certificatePath);
req.ClientCertificates.Add(証明書);
req.Headers.Add("x-ms-バージョン", "2009-10-01"); HttpWebResponse res =
(HttpWebResponse)req.GetResponse();
しかし、最後の行 (req.GetResponse()) で上記の例外をスローします。
このように管理証明書を使用できますか?
私の要件は、Azure REST API を使用して Azure にデプロイするアプリケーションを開発することです。