Sto tentando di importare a livello di codice un certificato X509 (pfx/PKCS # 12) nell'archivio certificati della mia macchina locale. Questo certificato particolare, ha una catena di certificati, il percorso di certificazione simile a questa:Come importare a livello di codice un pfx con una catena di certificati nell'archivio certificati?
- certificato Root CA
- Organizzazione certificato CA
- Organizzazione 2 certificato CA
- mio certificato
- Organizzazione 2 certificato CA
- Organizzazione certificato CA
Il codice che uso si presenta così:
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);
}
}
Questo codice fa importare il certificato, comunque sembra ignorare la catena. Se posso controllare il certificato nell'archivio, il percorso di certificazione mostra solo:
- mio certificato
Tuttavia quando ho importare manualmente il pfx, lo fa mostrare il percorso completo. Sto saltando un passaggio qui o mi mancano alcuni parametri? Qualcuno può fare luce su questo?
Un PFX viene in genere confuso con PKCS # 12, nel tuo caso vuoi solo una catena di certificati, che puoi facilmente fare con i file PEM. Ma .. hai il tuo file di chiavi private? in tal caso, si desidera PKCS # 12 – IanNorton
@IanNorton: in realtà è un certificato PKCS # 12. Non è che io abbia scelta in questo. –
In questo caso, si desidera leggere [questo su pkcs # 12] (http://stackoverflow.com/questions/555184/decode-a-pkcs12-file) Si dispone di un file p12 che contiene x 509 oggetti. – IanNorton