25
I am trying to programmatically import a X509 certificate (pfx / PKCS#12) in my local machine's certificate store. This particular certificate has a chain of certificates, the certification path looks something like this:
- Root certificate CA
- Organization certificate CA
- Organization 2 certificate CA
- My certificate
- Organization 2 certificate CA
- Organization certificate CA
The code I use looks like this:
cert = new X509Certificate2(pathToCert, password);
if (cert != null)
{
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
if (!store.Certificates.Contains(cert))
{
store.Add(cert);
}
}
This code does import the certificate, however it seems to ignore the chain. If I check the certificate in the store, the certification path only shows:
- My certificate
However when I import the pfx manually, it does show the full path. Am I skipping a step here, or am I missing some parameter? Can someone shed some light on this?