2016-07-07 15 views
0

Azure管理証明書に問題があります。ジョブ自動化の管理証明書

Azureのアカウントは3個のサブスクリプションを含んでいます。

このサブスクリプションの証明書を設定して、ASP.NETアプリケーションからサインインできるようにする必要があります。私たちは新しい自己署名証明書を作成し、上記のサブスクリプションでAzure設定でアップロードし、BASE64でエンコードされた.cer(プライベートキーなし)のバージョンをアプリケーションの設定ファイルに入れました。

thw X509Certificate2コンストラクタを使用して新しい証明書を作成すると、それは成功します。しかし、この証明書オブジェクトをSchedulerClientの資格情報で使用しようとすると、次のエラーメッセージで失敗します。

ForbiddenError:サーバーが要求の認証に失敗しました。証明書が有効で、このサブスクリプションに関連付けられていることを確認します。

このコードは以前は別の証明書で動作していましたが、別の問題を解決するために証明書を変更する必要があることが重要です。 Azureポータルでこのサブスクリプションの管理証明書のリストに表示されていても、新しい証明書がサブスクリプションに関連付けられていると認識されないようです。

このURL:https://manage.windowsazure.com/publishsettings/index?client=vs&schemaversion=2.0は、サブスクリプションごとに1つの証明書のみを返しますが、サブスクリプションごとに100個までの管理証明書が許可されています。

ここで何をすべきですか?新しい証明書をスケジューラーまたはサブスクリプションに「割り当てる」ためにAzureの管理で特別な作業を行う必要がありますか? Azureサブスクリプションに新しい証明書を認識させて認証させるにはどうすればよいですか?

答えて

0

Azure Portalの設定で管理証明書をアップロードした後、管理証明書を使用してAzureサービスを正常に管理できないようです。この問題は、Java azure free trial account not able to authenticate via java sdkの他のSOスレッドと非常によく似ています。

私の提案は、articleを参照して、新しい自己署名証明書を再生成し、Azure classic portalの設定でアップロードすることです。アップロードされた管理証明書が下記のような設定のMANAGEMENT CERTIFICATESタブに存在することを確認してください。

enter image description here

その後、あなたはhttpリクエストまたはコンストラクタSchedulerClient(HttpClient)のためのHTTPClient(以下のコードを参照してください)に証明書を追加するreferenceを参照することができます。

X509Certificate2 certificate = GetStoreCertificate("<thumbprint>"); 
var clientHandler = new WebRequestHandler() 
clientHandler.ClientCertificates.Add(certificate); 
var client = new HttpClient(clientHandler) 
関連する問題