はのは、私はC#で証明書と証明書パス/チェーンを検証するにはどうすればよい(Base64形式で)3つの証明書C#Root-CA-Cert証明書(x509)チェーンを検証するにはどうすればよいですか?
Root
|
--- CA
|
--- Cert (client/signing/whatever)
があるとしましょうか? BouncyCastleは、検証する機能を持っています
編集は、(すべてのこれら3つの本命は私のコンピュータの証明書ストアにできない場合があります)。しかし、私はサードパーティのライブラリを使用しないようにしています。 CER1をcert2(CAまたはルート)によって署名されていない場合
byte[] b1 = Convert.FromBase64String(x509Str1);
byte[] b2 = Convert.FromBase64String(x509Str2);
X509Certificate cer1 =
new X509CertificateParser().ReadCertificate(b1);
X509Certificate cer2 =
new X509CertificateParser().ReadCertificate(b2);
cer1.Verify(cer2.GetPublicKey());
、例外が存在するであろう。これはまさに私が欲しいものです。
どのように私は一度に3を確認することができますか?どのように私は3つの証明書をチェーンすることができますか? – Jacob
私はわからないが、一時ストアを作成しよう[X509Store](http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.aspx)。そのストアにすべての証明書を追加します。この後、最も低い証明書でvalidateを呼び出す必要があります。 – MichaelMocko