でX509証明書を作成し、検証する私は、.NET System.Security.Cryptography.X509Certificates
私のエンタープライズプロジェクト(のみイントラネット)に関連してネット
ステップ1使用して証明書の検証で問題に出くわした:は
ルート証明書を作成します使用makecert
ルート証明書を作成し、信頼されたルート証明機関にそれをインストールするには
makecert -r -pe -n "CN=Test Labs (CA)" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv TestLabCA.pvk TestLabCA.cer
pvk2pfx -pvk TestLabCA.pvk -spc TestLabCA.cer -pfx TestLabCA.pfx
ステップ2:は、証明書を作成して、証明書を作成するために、ルート証明書
使用makecert
でそれに署名ルート証明書とそれに署名し、信頼された発行元にそれをインストール
makecert -pe -n "CN=Test Labs (SPC)" -a sha256 -cy end -sky signature -ic TestLabCA.cer -iv TestLabCA.pvk -sv TestLabSPC.pvk TestLabSPC.cer
pvk2pfx -pvk TestLabSPC.pvk -spc TestLabSPC.cer -pfx TestLabSPC.pfx
手順3:コードで確認
これは証明書を確認するためのC#コードのサンプルです。
X509Certificate2 rootCertificate = new X509Certificate2("TestLabCA.cer");
X509Certificate2 certificate = new X509Certificate2("TestLabSPC.cer");
// will return true
Console.WriteLine("{0}, verified = {1}", rootCertificate.GetName(), rootCertificate.Verify());
// will return false
Console.WriteLine("{0}, verified = {1}", certificate.GetName(), certificate.Verify());
// validate the chain
var chain = new X509Chain();
chain.Build(certificate);
Console.WriteLine("{0}, verified root of chain = {1}", certificate.GetName(), chain.ChainElements[chain.ChainElements.Count-1].Certificate.Verify());
質問:
私はこれはルート証明書であると仮定すると、私はチェーンをチェックして、チェーン内の最後の1を確認しなければならないのは、証明書を確認したい場合は?
良い方法がありますか?
これは、PKIインフラストラクチャ内のX509証明書を記述しています。これは、たとえば「証明書」によって使用される「信頼のWeb」とは少し異なります。 PGP。 –