Gestin de claves y parmetros RSA, DH, DSA, Curvas
elpticas:
dhparam, gendh, dh
genrsa, rsa
dsaparam, gendsa, dsa. A diferencia de rsa, tiene un paso
intermedio de parmetros (nmeros p, q, g)
ec, ecparam
Firma/verificacin, encriptacin/desencriptacin RSA
rsautl
8. Cifrado asimtrico
Ejemplos:
Generar una clave DSA con contrasea: openssl dsaparam -out
paramdsa.pem 1024 openssl gendsa -des3 -out privkey.pem
paramdsa.pem
Generar una clave RSA sin contrasea: openssl genrsa -out
privkey.pem 1024
Quitar la contrasea de una clave privada DSA: openssl dsa -in
privkey.pem -out privkey2.pem
9. Gestin de certificados X.509
req
Acciones:
-new: genera un CSR; si no est -key genera una RSA
-newkey: genera una clave
-x509: autofirmado
-text: muestra informacin
Parmetros Input:
-key i: key input
Parmetros Output:
-out o: CSR o certificado autofirmado
-keyout o: key output
10. Gestin de certificados X.509
Ejemplos:
Generar un CSR y una clave privada: (Importante: campo cn
coincidente con el nombre del servicio ej. mail.acme.com,
intranet.acme.com) openssl req -new -out cert.pem -keyout
privkey.pem
Crear un certificado autofirmado y una clave privada con
contrasea: openssl req -new -x509 -days 365 -out cert.pem -keyout
privkey.pem
Crear un certificado autofirmado y una clave privada sin
contrasea: openssl req -new -x509 -nodes -days 365 -out cert.pem
-keyout privkey.pem
11. Gestin de certificados X.509
x509
Acciones:
-signkey i: crea un certificado autofirmado con la clave i
(cambiando la clave pblica a la correspondiente a i)
-CA f: crea un certificado firmado por la CA indicada en f
-text: muestra informacin
Parmetros Input:
-in f: certificado o csr
-req: indica que el fichero de entrada es un csr
Parmetros Output:
-out o: CSR o certificado autofirmado
12. Gestin de certificados X.509
Ejemplos:
Mostrar info de un certificado: openssl x509 -text -in
cert.pem
Convertir un certificado de der a pem: openssl x509 -in
cert.der -inform der -out cert.pem
13. Gestin de certificados X.509
ca
Acciones:
Firma de uno o ms csr
Creacin de CRLs
Parmetros Input:
-in f: csr
Parmetros Output:
-out o:certificado firmado
14. Gestin de certificados X.509
ca tiene opciones definidas en /etc/openssl.conf. Por
defecto:
Ficheros y directorios requeridos:
demoCA/cacacert.pem
demoCA/index.txt vaco
demoCA/newcerts/
demoCA/newcerts/private/cakey.pem
demoCA/serial con algn valor, ej. 01
Valores que han de ser iguales en el csr y la ca:
C (country)
S (state)
O (organization)
15. Gestin de certificados X.509
crl: procesamiento de ficheros crl
verify: certificar certificados contra ficheros de CAs
Ejemplos:
Validar un certificado: openssl verify -CApath /...
cert.pem
16. Gestin de certificados X.509
ocsp
Protocolo para validar certificados en modo
cliente-servidor.
Ms pensado a modo de prueba. Algo limitado (ineficiencia,
comando post de http,...)
Modos:
cliente
servidor o responder
Formas de validacin:
Modo lnea y un fichero (-issuer, -cert/-serial)
Modo lnea y varios ficheros (-reqin, -respin)
Url (-url) o Host, puerto y path (-host)
17. Gestin de formatos
asn1parse: d (depth), hl (header length), l (length),
valores
pkcs8, pkcs7, crl2pkcs7, pkcs12
Ejemplos:
Convertir un certificado a pkcs12: openssl pkcs12 -export
-inkey priv.pem -in cert.pem-out cert.p12
18. SSL/TLS y S/MIME
Protocolos SSL/TLS
Listado de ciphers para SSL/TLS:
ciphers
Sesiones SSL/TLS
s_client, s_server, sess_id, s_time
Ej. Validar certificado de un servidor mediante conexin al
mismo: openssl s_client -CAfile CAcertificado -connect
servidor:puerto
Gestin de correo encriptado o con firma s/mime:
smime
19. Otros comandos
engine: interface a mdulos C
errstr: bsqueda de cdigos de errores
speed: medida de la velocidad de la librera
Varios Netscape: nseq, spkac
20. Configuracin
/etc/ssl/openssl.cnf: fichero de configuracin. Secciones para
ca, req, crl
/etc/ssl/private/: claves privadas
/etc/ssl/certs/: certificados. Muchos son enlaces a los que
estn en /usr/share/ca-certificates/mozilla