2012-02-17 25 views
5

cómo configurar el certificado SSL (auto firmado) en diferentes máquinas para servidor CAS y el clientecómo configurar SSL para CAS y Cliente (diferentes máquinas)

  • CAS Servidor: Linux, Tomcat, JDK6
  • Cliente : ventanas, Tomcat, JDK6
  • Certificado: auto firmado (herramienta de claves)
  • Medio Ambiente: desarrollo

CAS y los clientes están trabajando fi ne con una sola máquina, si se usa una máquina diferente, se arroja un error de certificado.

si un solo certificado autofirmado es suficiente para el equipo cliente y el servidor?

cualquier configuración de cliente y servidor específicos se requieren cambios, como el nombre de la máquina servidor y el nombre de la máquina cliente para la creación de certificados

Respuesta

4

¿Puede usted por favor, agregue la excepción de que está recibiendo y en el que el nodo?

Como consejo general, tenga en cuenta que:

1) usted tiene que instalar el certificado en la máquina JVM de cliente si está utilizando la comunicación HTTPS en el lado del servidor entre el cliente cas y el servidor CAS

2) JVM no aceptará (en tiempo de ejecución) el certificado autofirmado con la ip en el CN ​​(nombre común).

Ver https://wiki.jasig.org/display/CASUM/SSL+Troubleshooting+and+Reference+Guide para más detalles


Así que desde la excepción informados parece el caso folowing (citado desde el enlace CAS Solución de problemas arriba): nombres alternativos

n sujetos presente Alt Muestra Nombre Stack Trace javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No hay nombres alternativos del sujeto presente En la mayoría de los casos, este es un nombre de host/certificado SSL C N desajuste.

Esto ocurre comúnmente cuando se coloca un certificado autofirmado emitido en localhost en una máquina a la que se accede mediante una dirección IP. Es se debe tener en cuenta que la generación de un certificado con una dirección IP para un nombre común , p. CN = 192.168.1.1, OU = Middleware, dc = vt, dc = edu, no funciona en la mayoría de los casos donde el cliente que realiza la conexión es Java. Para el ejemplo , el cliente CAS de Java emitirá errores SSL al conectarse a un servidor CAS asegurado con un certificado que contenga una dirección IP en el CN.

¿Ha resuelto cambiando el certificado con un nombre de dominio en lugar de la IP y luego volver a instalarlo en el system truststore for the CAS client y en el almacén de claves para el servidor CAS?

+0

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No hay nombres alternativos del sujeto presentes – Arun

+0

di el nombre de la máquina del servidor para el nombre CA como cas-dev-server01 – Arun

+0

Creo que debería poner un nombre de dominio en el CN ​​y luego usar el archivo lmhosts en la máquina del cliente CAS para asignarlo al CAS IP del servidor (o puede usar un servidor DNS local). –

Cuestiones relacionadas