c# pfx

¿Cómo recuperar certificados de un archivo pfx con c#?



(1)

Debería poder obtener un objeto de colección que contenga los certificados en su archivo .pfx usando la clase X509Certificate2Collection ... aquí hay un código de ejemplo de 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);

Luego puedes iterar sobre la colección:

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 }

Dependiendo del tipo de certificado (certificado de cliente, certificado de CA intermedio, CA raíz), deberá abrir el almacén de certificados adecuado (como un objeto X509Store ) para importarlo.

Echa un vistazo a los documentos X509Store :

http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.aspx

Y los diferentes miembros en la enumeración StoreName :

http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspx

Por lo que entiendo, usted quiere usar StoreName.My para certificados de clientes que contienen una clave privada, StoreName.CertificateAuthority para StoreName.CertificateAuthority CA intermedios y StoreName.Root para StoreName.Root CA raíz.

He estado buscando en Google por medio día buscando una manera de leer un archivo .pfx e importar los certificados en el certstore .

Hasta ahora, puedo leer el archivo .pfx con X509Certifcate y puedo importar un certificado dentro del archivo .pfx . Hasta ahora todo bien, pero hay tres certificados en el archivo .pfx y al cargar el .pfx con X509Certificate , no puedo ver los otros dos certificados.

El certificado fue exportado con

* Intercambio de información personal - PKCS # 12 (.PFX)

  • Incluir todos los certificados en la ruta de certificación si es posible

  • Habilitar protección fuerte (requiere IE 5.0, NT 4.0 SP4 o superior)

Esas son las opciones seleccionadas al exportar el certificado (s). Sé que hay tres certificados porque entro manualmente en la tienda de certificados (MMC) y lo importo en una carpeta personal.