Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

822
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!