Desde el punto de vista de la seguridad, el conjunto de clases de seguridad distribuidas con el Java 2 SDK pueden dividirse en dos subconjuntos:
Desde el JDK 1.1 Java incluye APIs de acceso a funciones criptográficas de propósito general, conocidas colectivamente como la Arquitectura Criptográfica de Java (JCA) y la Extension Criptográfica de Java (JCE).
El JCA está formado por las clases básicas relacionadas con criptografía distribuidas con el JDK y el soporte para la encriptación lo proporciona el paquete de extensión JCE.
El JDK 1.1 introdujo la Arquitectura de Proveedores, que permite que coexistan multiples implementaciones de algoritmos criptográficos (es decir multiples implementaciones del JCE). La plataforma Java 2 extiende substancialmente la JCA, entre otras cosas se ha mejorado la infraestructura de gestión de certificados para soportar los certificados X.509 V3.
En este apartado discutiremos brevemente que son, para que sirven y como se utilizan estas APIs.
Si se desea completar la descripción realizada en este punto se puede consultar la guía sobre seguridad del JDK 1.2 disponble en la dirección http://java.sun.com/products/jdk/1.2/docs/guide/security/. Para obtener alguna implementación del JCA o el JCE se puede consultar una lista disponible en el URL http://java.sun.com/products/jce/jce12_providers.html.