Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - obtener certificados de Windows
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information obtener certificados de Windows

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
JordiP
Buen usuario


Registrado: Oct 28, 2009
Mensajes: 12

Asunto: obtener certificados de Windows Responder citando

Buenas, queria saber como poder listar los certificados instalados en mi PC y obtener sus datos.

Me interesa incluir en mi programa, un modulo en ql que listar los certificados de los distintos almacenes o Stores (ROOT, MY).

He visto un par de componentes, pero son de pago y queria saber si habia alguna opción gratiuta, ya sea accediendo directamente por API u otra cosa.

Espero que alguien pueda darme alguna solución.

Gracias a todos : icon_biggrin.gif
MensajePublicado:
Mie Ago 25, 2010 1:06 pm
Top of PageVer perfil de usuario
JordiP
Buen usuario


Registrado: Oct 28, 2009
Mensajes: 12

Asunto: SOLUCIONADO Responder citando

Ya he encontrado como obtener los certificados del PC.

1. Se debe instalar la SDK de CAPICOM (http://www.microsoft.com/downloads/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6&displaylang=es) de microsoft

2. Descargar CAPICOM_TLB.pas (http://cc.embarcadero.com/Item/18689). Aqui podeis descargar un fuente que contiene esta UNIT.

3. Descargar wcrypt2.pas (http://www.koders.com/delphi/fid9FA846CFE11AABB397168670FE7F5FBC2145725D.aspx?s=algorithm)

4. incluir ambas UNITS en vuestro proyecto

5. El siguiente codigo es para obtener la lista:

Código:
procedure leerCertificados;
const
  CAPICOM_CA_STORE = 'ca';
  CAPICOM_MY_STORE = 'my';
  CAPICOM_ADDRESS_BOOK_STORE = 'AddressBook';
  CAPICOM_OTHER_STORE = 'other';
  CAPICOM_ROOT_STORE = 'root';

var
    store: IStore;
    certificates: ICertificates;
    certificate: ICertificate2;
    i: integer;
begin

  // Inicializamos la variable
  store := CoStore.Create;

  // Abrimos el almacén (STORE) que queremos leer.
  store.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED or CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED or CAPICOM_STORE_OPEN_EXISTING_ONLY);

  // Extraemos los certificados obtenidos.
  certificates := Store.Certificates as ICertificates2;

  for i:= 1 to certificates.Count do
  begin
      certificate := IInterface(certificates.Item[i]) as ICertificate2;

      // AQUI YA PODEIS TRABAJAR CON LOS VALORES DEL CERTIFICADO.
  end;
end;

espero que pueda servirle a alguien.

Saludos y gracias icon_eek.gif icon_eek.gif
MensajePublicado:
Jue Ago 26, 2010 7:45 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: SOLUCIONADO Responder citando



Anuncios



¡¡Estupendo!! nosotros también hemos estado investigando en esa línea de usar CAPICOM, es la mejor opción, sólo es necesaria la librería capicom.dll, necesaria de cara a la instalación de la aplicación en los equipos clientes (o bien instalar el propio software CAPICOM).

Estamos realizando un artículo sobre este asunto, que nos parece bastante interesante.

Muchas gracias por tu aportación.
MensajePublicado:
Vie Ago 27, 2010 10:47 am
Top of PageVer perfil de usuario
JordiP
Buen usuario


Registrado: Oct 28, 2009
Mensajes: 12

Asunto: Responder citando

Alonso, ahora estoy en la siguiente etapa que es utilizar los certificados.

Mi cliente tiene un servidor TCP, hecho en FOX y que utiliza SSL con certificaciones y tengo bastantes dudas de como hacer mi programa "CLIENTE", sobre todo el cómo utilizar los certificados en estas conexiones.

Alguien me puede ayudar ? si pueden darme un ejemplo de los parametros para conectar SSL.

Por sierto utilizo Delphi 2010 y componentes Indy 10

Gracias a todos
MensajePublicado:
Vie Ago 27, 2010 11:41 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Responder citando

En el siguiente enlace hemos publicado un artículo sobre cómo obtener datos de los certificados digitales instalados en el equipo mediante CAPICOM y Delphi:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=481
MensajePublicado:
Sab Ago 28, 2010 6:08 pm
Top of PageVer perfil de usuario
JordiP
Buen usuario


Registrado: Oct 28, 2009
Mensajes: 12

Asunto: Conexiones tcpServer y TCPClient con SSL Responder citando

Buenos días, queria saber si alguien puede ayudarme en la conexión SSL, es decir, conexiones TCP seguras y la posibilidad de trabajar con CERTIFICADOS en la conexión.

Estoy probando, pero no avanzo nada.

Trabajo con delphi 2010 y con componentes INDY 10.

Yo utilizo, n la parte servidora un:
TidTCPServer y un TIdServerIOHandlerSSLOpenSSL

y en la parte del cliente:
TIdTCPClient y un TIdSSLIOHandlerSocketOpenSSL

Se recibe información en OnExecute pero no puedo leerlo, lo intento con ReadLn y con ReadBytes y se queda colgado.

Por favor alguien puede ayudarme, si es posible dadme un ejemplo (Source code) para ver como se hace.

Gracias a todos icon_eek.gif
MensajePublicado:
Mie Sep 15, 2010 9:03 am
Top of PageVer perfil de usuario
adduartes
Usuario


Registrado: Nov 21, 2012
Mensajes: 1

Asunto: Responder citando

alonsojpd escribió:
En el siguiente enlace hemos publicado un artículo sobre cómo obtener datos de los certificados digitales instalados en el equipo mediante CAPICOM y Delphi:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=481


¡¡¡Gracias!!! Acabo de encontrar el programa ya compilado por vosotros y me va a permitir integrar un buen nivel de seguridad al poder leer los certificados de tarjetas con chip y eDNI.

Perdonad mi ignorancia en DELFI pero ¿Habría alguna manera de generar un ejecutable que, en un solo paso, obtuviera los datos para la exportación (botón central) y guardara en un fichero ("certificados.txt") en el mismo directorio del ejecutable. No sé si sería posible añadir un archivo .ini en el que poder definir esas variables de salida.

La idea sería que junto con una operativa en cuatro pasos actual (ejecutar, lectura del certificado, exportación y salida), se pudiera disponer de una automatizada que se pudiera integrar en otras aplicaciones de manera transparente para el usuario.

Gracias nuevamente.
MensajePublicado:
Mie Nov 21, 2012 12:27 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+