2017-06-27 14 views
0

ACSを使用してログインするAzure App Serviceを持っていますが、それがあればMVC 5サイトです。これは、証明書が必要Azure App Service "サービス証明書が見つかりませんでした"

、の拇印は、AF47AF47AF47AF47AF47AF47AF47AF47AF47AF47

あるとしましょう私は、ポータル経由でアップロード:enter image description here

は、その後、私はWEBSITE_LOAD_CERTIFICATES/*の>アプリケーションの設定を設定するアプリケーションを追加しました: enter image description here

Azureでロードすると、ローカルで素晴らしい結果が得られます。

は、サービス証明書が見つかりませんでした: あるCurrentUser HandlingInstanceIDのマイストアAF47AF47AF47AF47AF47AF47AF47AF47AF47AF47in :型 'System.ArgumentNullException' が 74429bcf-4e02-4e28-a261-329bf831f7ce例外が発生したと捉え ました。 ------------------------------------------------- --------------------------- 06/27/2017 22:21:44種類:System.ArgumentNullException、mscorlib、 バージョン= 4.0。 0.0、Culture =ニュートラル、PublicKeyToken = b77a5c561934e089 メッセージ:値はnullにはできません。

(使用できないスタックトレース)

任意のアイデア私が何をしないのですか? Application_Start()で証明書を読み込もうとしましたが、誰も望んでいればそのコードを投稿できます。

答えて

2

Azure appサービスWebアプリケーションの証明書コレクションに証明書をアップロードし、その証明書をサイトの個人証明書ストアからMVCアプリケーションで消費し、証明書をアップロードしてWEBSITE_LOAD_CERTIFICATESという名前のアプリケーション設定を追加したいようです私のアプリケーションで次のコードを使用して証明書にアクセスできるよりも、それを参照してください。

var thumbprint = "xxxxxxxxxxxxxx"; 

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(); 

remote debug web appと期待どおりに動作します。

enter image description here

また、this articleはAzureのアプリケーションサービスで証明書を使用して詳細な手順を説明し、それを参照してください。

+0

これはまさに私がやっていることですが、CurrentUserのマイストアにはありますが、LocalMachineのストアにはありません – naspinski

+0

Fredによって共有されている記事で説明されているように、常に** CurrentUser **ストアにロードされます。アプリケーションにはアクセス権がないため、LocalMachineストアにはアクセスできません。 –

関連する問題