2011-05-27 13 views
5

Utilizo una herramienta de terceros para verificar la firma y obtener detalles del certificado (como número de serie, CA, etc.) desde la firma. El problema con esta utilidad es que tiene licencia y funciona solo en ciertas máquinas.Firma digital: código de muestra para verificación y para extraer información de certificación

¿Puedo validar la firma con los datos usando el código simple java o .net? (En lugar de usar la aplicación paga). No tengo una clave privada para extraer información del certificado de datos firmados.

O si alguien puede sugerir código de muestra en java o .net para extraer detalles del certificado si tengo el archivo pfx. De a partir de datos firmados.

Los datos están firmados con encriptación asimétrica.

+0

2 votos, pero solo 1 respuesta útil pero incompleta :( –

Respuesta

5

Para extraer los detalles del certificado:

  1. Hacer una cadena que mantiene los datos del certificado. Solo asegúrese de que tenga -----BEGIN CERTIFICATE----- en el inicio y -----END CERTIFICATE----- en el extremo.
  2. Ahora use el siguiente código en Java para extraer los detalles del certificado.

InputStream inStream = new ByteArrayInputStream(certString.toString().getBytes("UTF-8")); 
BufferedInputStream bis = new BufferedInputStream(inStream); 
CertificateFactory cf = CertificateFactory.getInstance("X.509"); 
Certificate cert = cf.generateCertificate(bis); 
X509Certificate xCert = (X509Certificate)cert; 

System.out.println("Certificate Type: "+cert.getType()); 
System.out.println("Public Key: \n"+cert.getPublicKey()); 
try{ 
     System.out.println("Signature Algorithm"+xCert.getSigAlgName()); 
     System.out.println("IssuerDN : "+xCert.getIssuerDN()); 
     System.out.println("Serial Number : "+xCert.getSerialNumber()); 
     System.out.println("SubjectDN : "+xCert.getSubjectDN()); 
}catch(Exception exp){ 
     : 
} 

+0

su código parece realmente útil. Pero solo tengo firma e información. No tengo certificado. ¿El certificado viene junto con la firma? De ser así, ¿puede decirme cómo? ¿Puedo extraer el certificado de la firma? –

1

Si tiene el archivo PFX, a continuación, que pueda contener el certificado de clave pública que se requiere para verificar la firma.

Como alternativa, si su firma es una firma PKCS # 7, la firma en sí tendrá los datos, la firma y el certificado. Suponiendo que PKCS # 7 no está separado.

Necesita preguntarle a su firmante, cómo está transfiriendo su certificado de validación.

Cuestiones relacionadas