2016-12-07 2 views
3

私のAzure関数から証明書にアクセスする必要があります。C#Azure関数内からの証明書へのアクセス

私はRuntime error loading certificate in Azure Functionsの手順に従ったが、うまくいかなかった。

private static X509Certificate2 GetCertificate(string thumbprint, TraceWriter log) 
{ 
    X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); 
    try 
    { 
     store.Open(OpenFlags.ReadOnly); 
     log.Info("Enumerating certificates"); 
     foreach (var cert in store.Certificates) { 
      log.Info(cert.Subject); 
     } 
     var col = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false); 
     if (col == null || col.Count == 0) 
     { 
      return null; 
     } 
     return col[0]; 
    } 
    finally 
    { 
     store.Close(); 
    } 

} Azureの機能にアップロードされ、設定WEBSITE_LOAD_CERTIFICATESも同様に添加して、どちらか*または必要な証明書のthumpbrintに設定されますが、無駄に

2つの証明書。

GetCertificateメソッドは、ストア内のすべての証明書の一覧を印刷する必要がありますが、ストアは空です。

これを解決する手掛かりはありますか?

+0

webjobsで同様の問題を検索してみましたか?解は同一であるため、 – 4c74356b41

+0

はい。彼らはすべて、上記のリンクで概説されたアプローチが機能するはずであることを示唆しています。しかし、それはしません。 –

+0

私はazureのcertにアクセスするときはいつもStoreLocation.LocalMachineを使用します。私は関数で試していませんが、他のWebアプリケーションとCloudServiceではLocalMachineと連携して動作します – dave000

答えて

3

クライアント証明書は、の消費計画で、まだのAppサービスプランでのみサポートされています。これは、レポhereの問題によって追跡されます。私たちはそれに取り組んでいます - 状況についてはその問題に従ってください。ありがとう。

関連する問題