El API JAXR no especifica sus propios mecanismos de seguridad, en su lugar, el API define algunos m�todos m�nimos que permiten a las implementaciones elegir su mecanismo de seguridad subyacente.
Los m�todos m�nimos relacionados con la seguridad del API JAXR est�n alineados con la "Java Authentication and Authorization Specification [JAAS]" y las "Java Secure Sockets Extensions [JSSE]". Estas son partes est�ndars del JDK 1.4. El soporte para versiones anteriores del JDK est� disponible a trav�s de versiones en solitario de estos paquetes.
�Integridad
Para asegurar la integridad de una petici�n JAXR al proveedor de registro objetivo, el API JAXR proporciona la habilidad para solicitar que el proveedor de registro est� firmado por un certificado digital. Todos los proveedores JAXR de Nivel 1 deben ser capaces de enviar peticiones firmadas al proveedor de registro y de recibir respuestas firmadas de �ste.
El cliente JAXR no firma directamente las peticiones, ni valida las respuestas firmadas. En su lugar, esta funcionalidad se delega al proveedor JAXR de Nivel 1.
�Confidencialidad
Para asegurar la confidencialidad de una petici�n JAXR hacia el proveedor de registro objetivo, todo lo que el proveedor JAXR (Nivel 0 y superior) debe poder hacer es usar SSL para comunicar con un registro que est� accesible a trav�s del protoclo HTTPS. El uso del protocolo HTTPS es transparente para el cliente JAXR excepto en el echo de que la URL define https como protocolo.
Los proveedores JAXR de Nivel 1 debe ser capaces de env�ar peticiones encriptadas al proveedor de registro y de recibir respuestas encriptadas desde el proveedor de registro. El cliente JAXR no encripta directamente las peticiones, ni desencripta las respuestas entrantes desde el registro. En su lugar, est funcionalidad est� delegada al proveedor JAXR de Nivel 1.
�Autentificaci�n
Desde la perspectiva del proveedor de registro objetivo, es el proveedor JAXR, no el cliente JAXR, el cliente del proveedor de registro. El proveedor JAXR debe autentificarse con el proveedor de registro seg�n las especificaci�n del proveedor de registro (por ejemplo, ebXML Registry, UDDI). Normalmente dicha autentificaci�n ocurre sobre ciertas peticiones privilegiadas. Por ejemplo, en UDDI, la autentificaci�n s�lo es necesaria sobre peticiones que usan el API de publicaci�n de UDDI para enviar, actualizar o borrar contenidos.
En todas las clases, el proveedor JAXR ejemplariza las peticiones de autentificaci�n, mientras que el proveedor de registro realiza realmente la autentificaci�n.
El cliente JAXR no inicia directamente la autentificaci�n. No sabe si la autentificaci�n con el registro ojetivo es necesaria o c�mo se debe hacer. En su lugar, esta funcionalidad est� delegada al proveedor JAXR.
�Autorizaci�n
El proveedor JAXR no realiza ninguna decisi�n de autorizaci�n. Todas las peticiones del cliente est�n relegadas, junto con cualquier token de autentificaci�n requerido. El proveedor de registro podr�a realizar chequeos de autentificaci�n de una forma especifica del proveedor de registro e informa de cualquier error de autentificaci�n. El proveedor JAXR debe mapear cualquier error espec�fico de dicho registro a una JAXRException y enviarla al cliente.
�Soporte de Seguridad en el API JAXR
La siguiente secci�n describe el soporte de caracter�sticas de seguridad en el API JAXR.
�M�todo Connection.setCredentials
public void setCredentials(Set credentials) throws JAXRException
Permite al cliente enviar credenciales de seguridad para el usuario que est� actualmente asociado con el cliente. El t�rmino credencial tiene el significado definido por el API JAAS.
Un proveedor JAXR debe soportar credenciales en la forma de un certificado digital y clave primara o una combinaci�n de nombre de usuario y password. Un proveedor JAXR podr�a soportar otras formas de credenciales de seguridad si no son soportados por el proveedor de registro objetivo. Por ejemplo, si el UDDI no soporta certificados digitales, entonces el proveedor JAXR UDDI necesita soportar las credenciales de certificados digitales.
Cuando un cliente JAXR especifica un certificado digital como una credencial, debe usar un ejemplar de la clase javax.security.auth.x500.X500PrivateCredential seg�n define el API JAAS.
Cuando un cliente JAXR especifica una combinaci�n de nombre de usuario y password como credencial, debe usar un ejemplar de la clase java.net.PasswordAuthentication. Esta clase es un simple contenedor para un nombre de usuario y una password.
Un proveedor JAXR debe poder usar la credencial apropiada desde el conjunto de credenciales para la Connection mediante la �ltima llamada a setCredentials con el proveedor de registro de una forma espec�fica del proveedor.