Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

820
Vistas
certificados CA vencidos en la imagen de Ruby Docker (2.6.8-bullseye)

El viernes pasado comencé a ver problemas (en un entorno que ha estado activo durante meses) este problema en Ruby en esta imagen acoplable :

 RestClient::SSLCertificateNotVerified: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Luego procedí a intentar agregar un PEM personalizado ( wget https://curl.se/ca/cacert.pem ) para vincular la variable de entorno SSL_CERT_FILE (como se explica en muchas otras preguntas de desbordamiento de pila).

pero obtengo:

 bash-4.4# wget https://curl.se/ca/cacert.pem Connecting to curl.se (151.101.2.49:443) ssl_client: curl.se: certificate verification failed: certificate has expired wget: error getting response: Connection reset by peer

Intenté guardar el archivo en mi máquina local y luego docker cp al contenedor, pero eso tampoco ayudó.

Intenté ejecutar la consola con:

 bash-4.4# SSL_CERT_FILE=/cacert.pem bundle exec rails c irb(main):001:0> RestClient.get('https://curl.se/ca/cacert.pem', headers={}) RestClient.get "https://curl.se/ca/cacert.pem", "Accept"=>"*/*", "Accept-Encoding"=>"gzip, deflate", "User-Agent"=>"rest-client/2.0.2 (linux-musl x86_64) ruby/2.3.8p459" RestClient::SSLCertificateNotVerified: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Intenté ejecutar update-ca-certificates tanto manualmente en la consola como en el dockerfile, pero obtengo:

 bash-4.4# update-ca-certificates WARNING: ca-certificates.crt does not contain exactly one certificate or CRL: skipping

Cuando probé esto con cacert.pem copiado en el contenedor como se indicó anteriormente, update-ca-certificates también agregó una advertencia a ese archivo, similar a ca-certificates.crt.

el problema no parece mejorar con nada.

corriendo

 curl -Lks 'https://git.io/rg-ssl' | ruby

decir que todo está bien, y todos los (3) cheques verdes

¿algunas ideas?

Gracias.

actualizar

Creo que este problema podría estar relacionado con el hecho de que permite cifrar la caducidad de su certificado raíz. Probé la primera solución que recomendaron, eliminando el archivo en un contenedor y también eliminándolo en el dockerfile, luego ejecuté update-ca-certificates esto no lo hizo ayuda tampoco. No estoy seguro de cómo proceder con las otras dos soluciones.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Una forma de solucionar el problema sería ejecutar en la consola del contenedor:

 apt update && apt install ca-certificates

Sin embargo, esto sería un antipatrón de Docker, ya que los cambios se perderían al eliminar el contenedor.

La mejor manera sería reconstruir la imagen del Dockerfile que ha vinculado en su pregunta (con docker build ), luego eliminar y volver a crear el contenedor a partir de la nueva imagen.

over 4 years ago · Santiago Trujillo Denunciar

0

Si está en Debian 9, le recomendaría que lo actualice. De lo contrario, esta es mi solución alternativa para mi imagen.

 # Temporarily fix wrong let's encrypt R3 chain because it's chained to an expired old root CA (DST Root CA X3) on debian 9 RUN sed -i -E 's/(.*DST_Root_CA_X3.*)/!\1/' /etc/ca-certificates.conf ADD https://letsencrypt.org/certs/isrgrootx1.pem /usr/local/share/ca-certificates/isrgrootx1.pem RUN update-ca-certificates

FYI: hay un error en OpenSSL 1.0.2g que causa el problema https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/ algunas plataformas han lanzado la solución alternativa y solo necesita actualizar los últimos certificados de CA y las últimas libgnutls30. Sería mejor si puede actualizar a un OpenSSL más reciente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda