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 p>
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): p>
[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.