Comment importer par programmation un fichier pfx avec une chaîne de certificats dans le magasin de certificats?

Je suis en train de programmation pour importer un certificat X509 (pfx /PKCS#12) dans ma machine locale du magasin de certificats. Ce certificat a une chaîne de certificats, le chemin d'accès de certification ressemble à quelque chose comme ceci:

  • Certificat racine CA
    • Certificat d'organisme de CA
      • Organisation 2 certificat CA
        • Mon certificat

Le code que j'utilise ressemble à ceci:

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);
    }
}

Ce code n'importer le certificat, mais il semble ignorer la chaîne. Si je vérifie le certificat dans le magasin, le chemin d'accès de certification ne montre que:

  • Mon certificat

Cependant lorsque j'importe le fichier pfx manuellement, il affiche le chemin d'accès complet.
Suis-je sauter une étape ici, ou alors j'ai loupé un certain nombre de paramètres? Quelqu'un peut-il faire la lumière sur cette?

  • Un PFX est généralement confondu avec le fichier PKCS#12, Dans votre cas, vous voulez juste une chaîne de certificat, que vous pouvez facilement le faire avec PEM fichiers. Mais ... avez-vous votre propre fichier de clé privée? dans ce cas, vous ne voulez PKCS#12
  • Il est en fait un fichier PKCS#12 certificat. Ce n'est pas comme j'ai des choix dans cette.
  • Dans ce cas, vous voulez la lire ce sujet pkcs#12 Vous avez un fichier p12 qui contient des objets x509.
  • Est-il possible d'utiliser cette magasin le magasin pour valider les certificats sur un appel SOAP??