クラスを使用して、 .pfxファイル内の証明書を含むコレクション オブジェクトを取得できるはずですX509Certificate2Collection
。C# のサンプル コードは次のとおりです。
string certPath = <YOUR PFX FILE PATH>;
string certPass = <YOUR PASSWORD>;
// Create a collection object and populate it using the PFX file
X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import(certPath, certPass, X509KeyStorageFlags.PersistKeySet);
次に、コレクションを反復処理できます。
foreach (X509Certificate2 cert in collection)
{
Console.WriteLine("Subject is: '{0}'", cert.Subject);
Console.WriteLine("Issuer is: '{0}'", cert.Issuer);
// Import the certificates into X509Store objects
}
証明書の種類 (クライアント証明書、中間 CA 証明書、ルート CA) に応じて、適切な証明書ストアを (X509Store
オブジェクトとして) 開いてインポートする必要があります。
X509Store
ドキュメントをチェックしてください:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.aspx
StoreName
列挙型のさまざまなメンバー:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspx
StoreName.My
私が理解していることから、秘密鍵を含むクライアント証明書、StoreName.CertificateAuthority
中間 CA 証明書、およびStoreName.Root
ルート CA証明書に使用したいと考えています。