java.security
El paquete java.security
consiste básicamente en
clases abstractas e interfaces que encapsulan conceptos de
seguridad como certificados, claves, resumenes de mensajes y
firmas digitales.
En el JCA 1.1 los proveedores pueden implementar tres clases:
KeyPairGenerator
. Se emplea para crear claves
públicas y privadas.MessageDigest
. Prorciona la funcionalidad de
algoritmos de resumen de mensajes como el MD5 y el SHA.Signature
. Se emplea para el firmado digital de
mensajes.Una aplicación puede solicitar una implementación con el método
getInstance()
, como por ejemplo:
KeyPairGenerator kpg = KeyPairGenerator.getInstance ("DSA");
Y el sistema busca un proveedor que nos devuelva una
implementación del mismo, como ya hemos explicado al comentar la
arquitectura de seguridad de Java 2.
Si se desea una implementación específica se puede obtener
llamando a getInstance()
con más parámetros, por
ejemplo si deseamos el algoritmo DSA del proveedor ITI haremos
la siguiente llamada:
KeyPairGenerator kpg = KeyPairGenerator.getInstance ("DSA", "ITI");
El JCA 1.2 amplía considerablemente el número de clases que pueden implementar los proveedores:
AlgorithmParameterGenerator
. Se emplea para
generar un conjunto de parametros adecuado para usar con
algun algoritmo.AlgorithmParameters
. Se emplea como
representación opaca de los parametros de un
algoritmo.KeyFactory
. Las factorias de claves se
emplean para convertir claves (claves criptográficas opacas
de tipo Key
) en especificaciones de claves
(representaciones transparentes de las claves) y
viceversa.KeyStore
. Esta clase representa una colección
de certificados y claves en memoria.SecureRandom
. Esta clase proporciona un
generador de números pseudo aleatorios criptográficamente
seguro.