Todos los productos
Search
Centro de documentos

Lindorm:Guía de cifrado SSL del protocolo MySQL

Última actualización: Sep 23, 2026

En este tema se describe cómo utilizar enlaces cifrados con SSL/TLS en el puerto 33060 del protocolo MySQL para Lindorm Wide Table Engine.

Requisitos de versión

  • Wide Table Engine >= 2.8.6.14 y versión de SQL >= 2.9.7.16

Alcance

En este tema se describe cómo utilizar enlaces cifrados con SSL/TLS en el puerto 33060 del protocolo MySQL para Lindorm Wide Table Engine. A continuación se detallan los escenarios que se abordan:

  • El cliente solo requiere cifrado de enlace: utilice sslMode=REQUIRED.

  • El cliente requiere verificar la cadena de certificados del servidor con un certificado CA: utilice sslMode=VERIFY_CA y configure el certificado CA descargado desde la consola. Cuando un cliente JDBC necesita una verificación estricta basada en CA, importe el certificado CA a un truststore antes de conectarse.

Habilitar el servicio de cifrado SSL en la consola

Requisitos previos

Lindorm Wide Table Engine está activado.

Procedimiento

  1. Inicie sesión en la consola de Lindorm.

  2. En la esquina superior izquierda de la página, seleccione la región donde se despliega la instancia.

  3. En la página Instances, haga clic en el ID de la instancia de destino o en View Instance Details dentro de la columna Actions correspondiente a dicha instancia.

  4. En el panel de navegación izquierdo de la página de detalles de la instancia, haga clic en Wide Table Engine > Data Security.

  5. En la sección Data Link SSL, habilite el servicio en el área Current Status:.

  6. Espere a que se habilite el servicio de cifrado SSL. El servicio queda habilitado cuando la página muestra la siguiente información:

    • Current Status:: Enabled

    • SSL Certificate Validity Period:: la fecha de expiración del certificado que aparece en la página, por ejemplo, 2036-06-13 18:02:25

    • SSL Certificate Validity:: Valid

    • Se muestra el botón Download CA Certificate.

Nota

Si el cliente necesita usar VERIFY_CA para una verificación estricta, haga clic en Download CA Certificate para obtener el archivo del certificado CA.

Modos de conexión del cliente

Solo enlace cifrado

Si únicamente necesita proteger el enlace entre el cliente y el servidor mediante cifrado, utilice sslMode=REQUIRED. Este modo habilita el cifrado TLS sin requerir que el cliente configure un certificado raíz CA adicional.

  • Ejemplo de comando de MySQL

    mysql --ssl-mode=REQUIRED \
      -h <host> \
      -P 33060 \
      -u <user> \
      -p \
      -D <database> \
      --get-server-public-key

    Para más detalles sobre su uso, consulte Use a MySQL client to connect to and use LindormTable.

  • Ejemplo de JDBC

    String url = "jdbc:mysql://<host>:33060/<database>"
        + "?sslMode=REQUIRED"
        + "&allowPublicKeyRetrieval=true";
    Connection connection = DriverManager.getConnection(url, user, password);

    Para más detalles sobre su uso, consulte Application development using the Java JDBC interface.

Verificación estricta de la cadena de certificados

Si el cliente debe confirmar que el certificado del servidor lo emitió una CA de confianza, utilice sslMode=VERIFY_CA y especifique el certificado CA descargado desde la consola mediante --ssl-ca.

mysql --ssl-mode=VERIFY_CA \
  --ssl-ca=/path/to/Lindorm-CA.crt \
  -h <host> \
  -P 33060 \
  -u <user> \
  -p \
  -D <database> \
  --get-server-public-key

Ejemplo de consulta:

mysql --ssl-mode=VERIFY_CA \
  --ssl-ca=/path/to/Lindorm-CA.crt \
  -h <host> -P 33060 -u <user> -p -D <database> \
  --get-server-public-key \
  -e "SELECT 1 AS ok"
Nota

Reemplace /path/to/Lindorm-CA.crt del ejemplo con la ruta absoluta real del archivo Lindorm-CA.crt en su entorno local.

Si se devuelve ok = 1, el cliente completó el handshake SSL y la consulta basándose en el certificado CA.

Descripción del modo VERIFY_IDENTITY

VERIFY_IDENTITY amplía VERIFY_CA al verificar además que el nombre del host de conexión coincida con el SAN o CN declarado en el certificado del servidor. Por lo tanto, para usar este modo, el host al que se conecta el cliente debe coincidir exactamente con un nombre de dominio o dirección IP declarados en el certificado.

Verificación estricta de CA con JDBC

La práctica habitual con MySQL Connector/J consiste en importar primero el certificado CA descargado desde la consola a un truststore de Java y luego configurar dicho truststore en la URL de JDBC.

Generar un truststore

keytool -importcert \
  -alias lindorm-ca \
  -file /path/to/Lindorm-CA.crt \
  -keystore /path/to/lindorm-ca.p12 \
  -storetype PKCS12 \
  -storepass changeit \
  -noprompt
Nota
  • Reemplace /path/to/Lindorm-CA.crt del ejemplo con la ruta absoluta real del archivo de certificado en su entorno local.

  • Reemplace /path/to/lindorm-ca.p12 del ejemplo con la ruta absoluta real donde planea guardar el archivo en su entorno local.

URL de JDBC

String url = "jdbc:mysql://<host>:33060/<database>"
    + "?sslMode=VERIFY_CA"
    + "&allowPublicKeyRetrieval=true"
    + "&trustCertificateKeyStoreUrl=file:/path/to/lindorm-ca.p12"
    + "&trustCertificateKeyStorePassword=changeit"
    + "&trustCertificateKeyStoreType=PKCS12";
Connection connection = DriverManager.getConnection(url, user, password);

Nota: trustCertificateKeyStoreUrl recibe la ruta del archivo del truststore, no la ruta del certificado del servidor. Importe el certificado CA descargado desde la consola a un truststore PKCS12 o JKS antes de pasarlo a JDBC.

Preguntas frecuentes

  • P: ¿El cifrado SSL surte efecto en cuanto se habilita en la consola?

    R: El uso del cifrado SSL se negocia entre el servidor y el cliente. Para llevar a cabo esta negociación, debe configurar sslMode en el cliente.

  • P: ¿El cifrado SSL genera sobrecarga de rendimiento?

    R: Habilitar el cifrado SSL implica cierta sobrecarga de rendimiento. En escenarios sensibles al rendimiento, se recomienda deshabilitar el cifrado SSL estableciendo sslMode=DISABLED en la cadena de conexión.

  • P: ¿Basta con especificar la ruta del certificado para habilitar SSL automáticamente?

    R: No. El enlace SSL del protocolo MySQL se habilita únicamente después de activar el interruptor SSL correspondiente en el lado del servidor.

  • P: ¿Cuál es la diferencia entre REQUIRED y VERIFY_CA?

    R: REQUIRED solo exige establecer un enlace cifrado con TLS. No obliga al cliente a verificar la cadena de certificados del servidor.

    Por su parte, VERIFY_CA no solo establece un enlace cifrado con TLS, sino que también requiere que el cliente confíe en el certificado raíz CA que emite el certificado del servidor.

  • P: ¿Qué certificado se debe especificar en --ssl-ca?

    R: Especifique el certificado raíz CA que descarga al hacer clic en Download CA Certificate en la consola. No utilice directamente el certificado del servidor server.cert como --ssl-ca.

  • P: ¿JDBC admite usar directamente el archivo crt?

    R: La compatibilidad con parámetros de certificados PEM varía según la versión de MySQL Connector/J. La práctica habitual consiste en importar el certificado CA descargado desde la consola a un truststore PKCS12 o JKS y luego pasarlo a JDBC mediante trustCertificateKeyStoreUrl, trustCertificateKeyStorePassword y trustCertificateKeyStoreType.