Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
listar almacen de certificados de Windows

Buenos días,

Despues de mocho buscar y no encontrar lo que necesito, queria saber como puedo obtener los certificados que tengo instalados en mi equipo ?

Necesito incorporar a mi programa la posibilidad de que el usuario elija uno de los certificados instalados.

Esto ya lo tenia implementado en un programa viejo hecho en FOX, con una libreria externa la cual lee estos certificados y no se la manera de hacerlo para Delphi 2010.

Gracias a todos y espero que alguien tenga una solución.

Responder Con Cita
  #2  
Antiguo 26-08-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Thumbs up Solucionado

Ya he encontrado como obtener los certificados del PC.

1. Se debe instalar la SDK de CAPICOM de microsoft

2. Descargar CAPICOM_TLB.pas. Aqui podeis descargar un fuente que contiene esta UNIT.

3. Descargar wcrypt2.pas

4. incluir ambas UNITS en vuestro proyecto

5. El siguiente codigo es para obtener la lista:
Código Delphi [-]
 
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Representar almacén en formato 3d. Casimiro Notevi Gráficos 4 23-06-2008 11:39:55
Listar los servicios instalados en Windows XP fide API de Windows 2 01-03-2008 17:05:11
Compra venta y almacen que lio !!!!!!!!! david_uh Varios 5 16-01-2008 21:49:47
Como empiezo un sistema de almacen espalafox Varios 18 07-04-2007 01:01:39
Certificados digitales fjcg02 OOP 2 25-03-2007 23:42:55


La franja horaria es GMT +2. Ahora son las 18:47:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi