2017-09-03 13 views
0

x509証明書を読み込めません。IdentityServer4:証明書を読み込むことができません。証明書の読み込みに問題があります。

問題:証明書が見つかりません。私は点検し、それがそこにある! :(


public static X509Certificate2 Get() 
    { 
     var assembly = typeof(Certificate).GetTypeInfo().Assembly; 
     var names = assembly.GetManifestResourceNames(); 

     /*********************************************************************************************** 
     * Please note that here we are using a local certificate only for testing purposes. In a 
     * real environment the certificate should be created and stored in a secure way. 
     **********************************************************************************************/ 
     using (var stream = assembly.GetManifestResourceStream("Identity.API.Certificate.idsrv3test.pfx")) 
     { 
      return new X509Certificate2(ReadStream(stream), "idsrv3test"); 
     } 
    } 

    private static byte[] ReadStream(Stream input) 
    { 
     byte[] buffer = new byte[16 * 1024]; 
     using (MemoryStream ms = new MemoryStream()) 
     { 
      int read; 
      while ((read = input.Read(buffer, 0, buffer.Length)) > 0) 
      { 
       ms.Write(buffer, 0, read); 
      } 
      return ms.ToArray(); 
     } 
    } 

リファレンスhttps://github.com/dotnet-architecture/eShopOnContainers/blob/38ade408629a606bc63bb09ea1f4e54ca473e617/src/Services/Identity/Identity.API/Certificate/Certificate.cs

答えて

1

私はあなたがビルドアクションを変更する必要がありますコード

X509Certificate2 cert = new X509Certificate2(Path.Combine(_env.ContentRootPath, "cetname.pfx"), "password"); 
+0

それは機能しますか?証明書はどこに置いたのですか?根で? – 001

+0

はい、ルートフォルダに、私はこのような証明書を使用しています –

1

の次の行にStartup.csから証明書をロードしています.pfxファイルのEmbeddedResourceへのアクセスVisual Studioのファイルのプロパティウィンドウでの操作が簡単

結果はcsprojで次のように表示されます。 https://github.com/dotnet-architecture/eShopOnContainers/blob/38ade408629a606bc63bb09ea1f4e54ca473e617/src/Services/Identity/Identity.API/Identity.API.csproj

+0

私はこれを試しました、それは仕事をdidnt!だから私はちょうどファイルから直接読んだ、それは働いたが、今私は別の問題があります。 – 001

関連する問題