Foros del Web » Programación para mayores de 30 ;) » .NET »

Importar un cerficado mediante codigo en c#

Estas en el tema de Importar un cerficado mediante codigo en c# en el foro de .NET en Foros del Web. Hola a todos soy de nuevo.. Ahora lo que quiero hacer es que cuando inicie un programa realize lo siguiente. 1) Verfique si existe un ...
  #1 (permalink)  
Antiguo 11/03/2009, 11:32
Avatar de joselowolf  
Fecha de Ingreso: octubre-2008
Mensajes: 22
Antigüedad: 15 años, 6 meses
Puntos: 1
Importar un cerficado mediante codigo en c#

Hola a todos soy de nuevo..

Ahora lo que quiero hacer es que cuando inicie un programa realize lo siguiente.

1) Verfique si existe un cerficado instalado,
2) si no existe importarlo. como puede hacerlo.


gracias por la ayuda.
  #2 (permalink)  
Antiguo 11/03/2009, 15:10
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Importar un cerficado mediante codigo en c#

que tipo de certificado??
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 12/03/2009, 08:12
Avatar de joselowolf  
Fecha de Ingreso: octubre-2008
Mensajes: 22
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Importar un cerficado mediante codigo en c#

Dentro del certificado dice que tiene como proposito:

Todas las directivas de emision
Todas las directivas de la Aplicacion.

y la extencion es .cer

y se debe importar dentro del administrador de certificados "certmgr.exe" en

Certificados - Usuario actual
Entidades de certificación raíz de confianza
Certificados


gracias
  #4 (permalink)  
Antiguo 12/03/2009, 09:25
Avatar de joselowolf  
Fecha de Ingreso: octubre-2008
Mensajes: 22
Antigüedad: 15 años, 6 meses
Puntos: 1
De acuerdo Respuesta: Importar un cerficado mediante codigo en c#

Hola Yo..... Al fin lo encontreeeeeeeeeeee..... se hace asi.


Código:
class Program
	{
		/// <summary>
		/// The main entry point.
		/// </summary>
		[STAThread]
		static void Main( string[] args )
		{
		        try
                {
                    X509Store serviceRuntimeUserCertificateStore = new X509Store(StoreName.Root);
                    string baseDir = AppDomain.CurrentDomain.BaseDirectory;
                    string certificateFolder = "c:\\";
                    string certPath = Path.Combine(baseDir, certificateFolder);

                    string certificateFile = "user-calist.cer";
                    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.Root);
                serviceRuntimeUserCertificateStore.Open(OpenFlags.ReadWrite);

                X509Certificate2 cert= null;

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

	}
no olvidarse del los

using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:19.