Gestión de certificados en Java

De WikiEtl
Saltar a: navegación, buscar

Crear almacen de claves

trompa:~> sudo keytool -genkey -alias cacerts -keysize 1024
-keystore /etc/j2se/1.4/security/cacerts -keyalg rsa

Listar claves almacenadas

trompa:~> sudo keytool -list -keysize 1024 -keystore /etc/j2se/1.4/security/cacerts
Enter keystore password:
Keystore type: jks
Keystore provider: SUN
Your keystore contains 1 entry
cacerts, Jun 5, 2006, keyEntry,
Certificate fingerprint (MD5): 87:22:23:CE:AD:CA:FB:99:25:63:2C:C0:03:6C:E9:40

Con la opción -v la infomración sobre los certificatos se muestran en formato legible:

trompa:~/AuthenticateLDAP> sudo keytool -list -v -keysize 1024 
-keystore /etc/j2se/1.4/security/cacerts
Enter keystore password:  xxxx
Keystore type: jks
Keystore provider: SUN
Your keystore contains 2 entries
Alias name: cacerts
Creation date: Oct 22, 2007
Entry type: keyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Gregorio Corral, OU=Dep De Ingenier?a Telem?tica, 
O=Univ. Carlos III de Madrid, L=Leganes, ST=Madrid, C=ES
Issuer: CN=Gregorio Corral, OU=Dep De Ingenier?a Telem?tica, 
O=Univ. Carlos III de Madrid, L=Leganes, ST=Madrid, C=ES
Serial number: 471cd5f1
Valid from: Mon Oct 22 18:55:13 CEST 2007 until: Sun Jan 20 17:55:13 CET 2008
Certificate fingerprints:
        MD5:  90:DC:66:95:51:33:E8:C4:AC:6C:90:AC:2D:31:DB:C5
        SHA1: 90:45:B0:68:5B:CF:AE:C4:B0:59:81:E6:F2:E9:D9:92:F0:07:32:DB
*******************************************
*******************************************
Alias name: mykey
Creation date: Oct 23, 2007
Entry type: trustedCertEntry
Owner: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", 
O=GTE Corporation, C=US
Issuer: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", 
O=GTE  Corporation, C=US
Serial number: 1a5
Valid from: Thu Aug 13 02:29:00 CEST 1998 until: Tue Aug 14 01:59:00 CEST 2018
Certificate fingerprints:
        MD5:  CA:3D:D3:68:F1:03:5C:D0:32:FA:B8:2B:59:E8:5A:DB
        SHA1: 97:81:79:50:D8:1C:96:70:CC:34:D8:09:CF:79:44:31:36:7E:F4:74
*******************************************
*******************************************


Importar clave

trompa:~> sudo keytool -import -file cas.pem -keystore /etc/j2se/1.4/security/cacerts
Enter keystore password:
Owner: EMAILADDRESS=pca@rediris.es, CN="IRIS-PCA/1.3.6.1.4.1.7547.2.1.1.1=IRIS-PCA",
       O=RedIRIS, C=ES
Issuer: EMAILADDRESS=pca@rediris.es, CN="IRIS-PCA/1.3.6.1.4.1.7547.2.1.1.1=IRIS-PCA",
       O=RedIRIS, C=ES
Serial number: 0
Valid from: Wed Nov 12 17:47:12 CET 2003 until: Sun Nov 11 17:47:12 CET 2007
Certificate fingerprints:
MD5:  0F:4F:10:91:51:56:2E:21:94:B1:26:76:ED:F9:D1:67
SHA1: EC:11:55:67:DE:E6:C2:A2:59:89:4B:93:3A:76:09:84:98:3D:DC:53
Trust this certificate? [no]:  yes
Certificate was added to keystore

Borrar certificado

trompa:/etc/j2se/1.4/security> sudo keytool -delete -alias mykey  
-keystore /etc/j2se/1.4/security/cacerts
Enter keystore password:

Comprobrar certificato para acceso a LDAPS desde java

Determinadas aplicaciones Java como ASAP se validan contra el servidor LDAP seguro de la universidad, para lo cual se necesita el certificado correspondente firmado por CyberTrust y proporcionado por los servicios informáticos de la universidad. Antes de nada habra que comprobar que el certificado esta cargado ( alias mykey).

Para comprobra el acceso podemos utilizar una programa java de test AuthenticateLDAP:

trompa:/etc/j2se/1.4/security/AuthenticateLDAP> java AuthenticateLDAP gcorral xxxx       
Fetching : uid=gcorral,ou=GESTION DE RECURSOS,ou=Personal de Administracion y  
Servicios,ou=Personal,ou=Gente,o=Universidad Carlos III,c=es
Hola, GREGORIO CORRAL TORRES