2016-12-09 12 views
1

に接続する必要があるAzure Webサイトインスタンスは、クライアント証明書を使用してセキュリティ保護された他の場所で実行されているWCFサービスにあります。Azure Webインスタンスのクライアント証明書を使用する

Client -> Azure Website (MVC Controller) -> WCF Service (Not Azure) that requires Client Certificate

は、私がインストールされたときに、ローカルに私のウェブサイトは、WCFサービスに接続することを可能にすることをCERファイルを供給してきました。 Azure Webサイトでこの証明書をインストール/使用できるようにするにはどうすればよいですか?

これを調べる際に見つけたすべてのドキュメントは、Azureで動作しているときにWCFサービスを保護することに関するもので、パスワード付きのPFXファイルのインストールが必要です。私は反対を行い、Azureウェブサイトから第三者のWCFサービスにアウトバウンドを接続しようとしています。

答えて

3

から: https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/

は、次のアプリケーション設定を追加します。

  • アプリの設定名:WEBSITE_LOAD_CERTIFICATES
  • 値:*または{CERT_THUMBPRINT}

あなたは、その後から証明書をつかむことができますMy店舗:

X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser); 
certStore.Open(OpenFlags.ReadOnly); 
X509Certificate2Collection certCollection = certStore.Certificates.Find(
           X509FindType.FindByThumbprint, 
           // Replace below with yourcert's thumbprint 
           "E661583E8FABEF4C0BEF694CBC41C28FB81CD870”, 
           false); 

ここでは.cerをアップロードすることはできません。
.pfxはApp Serviceで唯一認められているフォーマットのようです。

error_uploading_cer

それとも、心配する秘密鍵がありません場合は、ディスクからそれをロードします。 これは(DERはおそらくBase64でも動作します)あなたにも.cerをロードすることができます:アプリケーションサービス(ここではそれがKudu consoleで実行されている)で

// The path to the certificate. 
string Certificate = @"d:\home\site\cert.cer"; 

// Load the certificate into an X509Certificate object. 
X509Certificate cert = X509Certificate.CreateFromCertFile(Certificate); 

// Print to console 
string result = cert.ToString(true); 
Console.WriteLine(result); 

作品だけで罰金:

loadCert_Kudu_screenshot

+0

おかげで、 .cerファイルをApp_Dataに入れ、X509Certificate2コンストラクタを使用して読み込み、WCFクライアントで使用しました。インストールされていないので、CertificateValidationModeをnoneに設定する必要がありましたが、現在はデプロイされ、動作しています。 –

関連する問題