Red de conocimiento informático - Material del sitio web - Cómo resolver paso a paso la preparación del entorno para servicio web basado en HTTPS

Cómo resolver paso a paso la preparación del entorno para servicio web basado en HTTPS

1. Preparativos para los certificados digitales

La parte del certificado digital se puede realizar con openssl, que también es un software de código abierto que se lanzó recientemente. Comencemos las operaciones relacionadas con el certificado digital.

1. Descargue e instale openssl

Openssl recomienda utilizar la versión 1.0, después de todo, es la versión oficial. No utilice la versión OpenSSL 0.9.8h (hay un error que afectará las operaciones posteriores). Después de la instalación, ingrese el directorio bin en el directorio de instalación desde la línea de comando. ¡Listo!

2. Cree la clave privada de la CA

Ejecute el siguiente comando openssl genrsa -des3 -out ../demo/ca/ca.key 1024

demo es el directorio de trabajo, se le pedirá que ingrese una contraseña. Se usarán muchas contraseñas más adelante, por lo que es mejor escribirlas con cuidado.

3. Crear certificado de CA

openssl req -new -x509 -key ../demo/ca/ca.key -out ../demo/ca/ca.crt - días 365

x509 es un estándar de cifrado, -out se refiere a la ruta del archivo de salida, -key se refiere a la clave privada especificada, que es la generada en el paso anterior, y -days se refiere al certificado período de validez.

Nota: puede especificar su propio nombre al ingresar el nombre común, pero no puede ingresar el nombre del servidor (www.XX.X.com)

4. el lado del servidor

p>

Debido a que se trata de proporcionar un servicio web SSL en el lado del servidor, el almacén de claves privadas y el almacén de confianza deben usarse en el lado del servidor.

openssl genrsa -des3 -out ../demo/server/server.key 1024

5. Cree una solicitud de firma de certificado de servidor

Puede enviar el firmar la solicitud a una agencia oficial de CA, todas estas agencias cobran tarifas y deben ser revisadas estrictamente por usted mismo, es realmente innecesario. Simplemente envíelo directamente a la CA recién creada a través de openssl.

openssl req -new -key ../demo/server/server.key -out ../demo/server/server.csr

Tenga en cuenta el nombre común aquí, aquí Complete en la IP o nombre de dominio de su servidor, como localhost, es decir, especifique la máquina para qué servidor desea crear un certificado.

6. CA firma el certificado del servidor

Si es la primera vez que firma el certificado a través de CA, ejecute el siguiente comando

openssl x509 -req -days 30 -en ../demo/server/server.csr -CA ../demo/ca/ca.crt -CAkey ../demo/ca/ca.key -CAcreateserial -out ../demo/server/server. crt

El -CAcreateserial se refiere a la creación de un nuevo archivo de secuencia. De esta manera, openssl creará un archivo llamado ca.srl en el directorio actual para almacenar el número de serie. Puede especificar directamente este archivo de secuencia la próxima vez que vuelva a firmar el certificado.

El comando es el siguiente: openssl x509 -req -days 30 -in ../demo/server/server.csr -CA ../demo/ca/ca.crt -CAkey ../demo/ca/ca.key - CAserial .srl -out ../demo/server/server.crt

La firma se realizó correctamente después de ingresar la contraseña de la clave privada de CA.

7. Cree el archivo pkcs12 en el lado del servidor

openssl pkcs12 -export -in ../demo/server/server.crt -inkey ../demo/server/server .key - out ../demo/server/server.p12 -name demo_server

Preste atención a -name demo_server. Este es el alias del almacén de claves especificado. Es muy importante (weblogic. necesita usarlo, y la información en Internet es toda (no existe tal parámetro).

8. Convierta pkcs12 a un archivo de almacén de claves JKS.

Este proceso requiere jetty.jar. Descargue el archivo jar correspondiente y agréguelo al classpath, y luego ejecute el siguiente comando.

java org.mortbay.util.PKCS12Import ../demo/server/server.p12 ../demo/server/server.jks

Ingrese aquí la contraseña de exportación establecida en el paso anterior.

Los archivos relacionados del lado del servidor están completos. Ahora puede usar el comando java keytool para ver el contenido del server.jks generado.

keytool -v -list -keystore .. /demo/ server/server.jks

A continuación, comience a preparar los archivos relevantes en el lado del cliente. Debido a que el mecanismo de certificado digital está habilitado, el cliente también debe proporcionar su propio certificado al acceder al servidor a través del servicio web. , es decir, el servidor y el cliente se autentican entre sí (solicitado por el cliente). Las operaciones relacionadas en el lado del cliente son similares a las del lado del servidor y no se explicarán demasiado.

9. Crear la clave privada del cliente

openssl req -new -newkey rsa:1024 -nodes -out ../demo/client/client.req -keyout .. /demo /client/client.key

10. Crear solicitud de firma de certificado de cliente

openssl x509 -CA ../demo/ca/ca.crt -CAkey ../demo/ ca /ca.key -CAserial .srl -req -in ../demo/client/client.req -out ../demo/client/client.pem -days 365

11. Archivo pkcs12 lateral

openssl pkcs12 -export -clcerts -in ../demo/client/client.pem -inkey ../demo/client/client.key -out ../demo/client/client .p12 -name

12. Cree el archivo jks en el lado del cliente

java org.mortbay.util.PKCS12Import ../demo/client/client.p12 ../demo /client/client.jks

13. Cree un almacén de claves de confianza

Esta vez, utilice el comando java keytool

keytool -genkey -alias dummy -keyalg RSA -keystore .. /demo/server/truststore.jks

Hasta ahora, la parte del certificado digital está completa. Aquí hay una introducción sobre cómo configurar el soporte SSL para Tomcat.

14. Importe el certificado certificado por CA al almacén de confianza

keytool -import -v -trustcacerts -alias my_ca -file ../demo/ca/ca.crt -keystore ./demo/server/truststore.jks

Puede ver los detalles del almacén de confianza mediante el siguiente comando

keytool -v -list -keystore ../demo/server. /truststore.jks

2. Configuración del soporte SSL de Tomcat

1. Agregue un nuevo conector en el server.xml de Tomcat, la configuración es la siguiente

< Puerto del conector = "8443" maxHttpHeaderSize="8192"

SSLEnabled="true"

maxThreads="150"

minSpareThreads="25"

maxSpareThreads="75"

enableLookups="false"

enableUploadTimeout="true"

AcceptCount="100"

esquema ="https"

seguro="true"

clientAuth="false"

sslProtocol="TLS"

keystoreFile=" /conf/server.jks"

keystorePass="XXXXXX"

algoritmo="SunX509"

/>

Nota: keystoreFile corresponde al archivo jks en el lado del servidor y keystorePass corresponde a su contraseña

2 Reinicie Tomcat y escriba https://localhost:8443/ en el navegador para probarlo

.

Acceda a la función web a través de https. Debe importar el certificado en el navegador, porque solucionamos principalmente el SSL del servicio web y no presentaremos cómo importar el certificado en el navegador.

La configuración de Tomcat es así de sencilla.

3. Configuración de Weblogic9.2 SSL

Weblogic puede completar la configuración de SSL a través de la consola. Las siguientes son algunas capturas de pantalla.

1. , Haga clic en el dominio en el extremo izquierdo de la página: Entorno >> Servidor >> Haga clic en el servidor para editar y realice la siguiente configuración en la pestaña General, como se muestra en la figura (tenga en cuenta el área roja):

[img]/admin/ blogs/7.jpg" alt="Figura 7[/img]

2. Cambie a la pestaña del almacén de claves privadas

[ img]/admin/blogs/8.jpg" alt="Figura 8[/img]

Nota: 1. Seleccione "Identidad personalizada y confianza personalizada" para el almacén de claves

2 La ubicación del almacén de claves puede ser absoluta. La ruta también puede ser relativa

3. La contraseña es nuestra contraseña en la parte del certificado digital

3.

[img]/admin /blogs/9.jpg" alt="Figura 9[/img]

Tenga en cuenta que el alias de la clave privada es el alias de la clave privada del servidor que especificado en la parte del certificado digital

Bien, simplemente guarde la configuración y reinicie. Visita https://localhost:7002/ para probarlo.