¿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.