tipo tengo saber que instalar exportar como chrome certificado c# windows certificate certificatestore

c# - tengo - exportar certificado digital chrome



Instalar certificados en el almacén de certificados de usuario local de Windows en C# (1)

Resulta que primero debe hacerse pasar por el usuario.

Usando la muy buena biblioteca descrita en Una pequeña clase de C # para suplantar a un usuario , puede hacer lo siguiente:

using (new Impersonator("username", "", "password")) { try { X509Store serviceRuntimeUserCertificateStore = new X509Store(StoreName.My); string baseDir = AppDomain.CurrentDomain.BaseDirectory; string certPath = Path.Combine(baseDir, certificateFolder); string certificateFile = "c://file.cert"; string certificatePassword = "somePassword"; string certificateLocation = certPath + "//" + certificateFile; InstallCertificate(certificateLocation, certificatePassword); } catch (Exception ex) { Console.WriteLine(ex); } } private static void InstallCertificate(string certificatePath, string certificatePassword) { try { var serviceRuntimeUserCertificateStore = new X509Store(StoreName.My); serviceRuntimeUserCertificateStore.Open(OpenFlags.ReadWrite); X509Certificate2 cert; try { cert = new X509Certificate2(certificatePath, certificatePassword); } catch(Exception ex) { Console.WriteLine("Failed to load certificate " + certificatePath); throw new DataException("Certificate appeared to load successfully but also seems to be null.", ex); } serviceRuntimeUserCertificateStore.Add(cert); serviceRuntimeUserCertificateStore.Close(); } catch(Exception) { Console.WriteLine("Failed to install {0}. Check the certificate index entry and verify the certificate file exists.", certificatePath); } }

Por favor, agregue su propio manejo de excepciones. Si está agregando varios certificados, mantenga la X509Store abierta durante todo el proceso para mayor eficiencia.

Estoy escribiendo un servicio de Windows que necesita varios certificados en la tienda de certificados para conectarse a un servicio web de terceros.

En mi instalador llamo a una pequeña aplicación (C #) que crea un usuario para ejecutar el servicio como.

Funciona bien.

Ahora necesito instalar unos 10 certificados (¡no preguntar!) En el almacén de certificados de los usuarios, pero no puedo encontrar ninguna forma programática sucinta para hacerlo.

¿Algún consejo? O voy a tener que usar interoperabilidad COM ...