
El 30 de septiembre de 2021, el certificado raíz que Let’s Encrypt está utilizando actualmente, el certificado IdentTrust DST Root CA X3, ha caducado. Esto implica que los dispositivos que se conectan a servidores https que necesitan este certificado para asegurar que el servidor https al que nos intentamos conectar es seguro al estar caducado se rechaza la conexión. Esto ocurre en los dispositivos que:
- Tienen el archivo DST Root CA X3 en /usr/share/ca-certificates/mozilla
- ademas usan version openssl 1.0.2 o inferior.
En este enlace podeis ver el anuncio oficial de let’s Encrypt: https://letsencrypt.org/2021/10/01/cert-chaining-help.html
Que ocurre en imagen OpenSpa y por que esta fallando el acceso a sus plugins para poder ser instalados, por que en sus imagenes o en algunas versiones de sus imagenes, en algunos receptores han proporicionado o tenian este certificado caducado o version openssl 1.0.2 inferior.
- Los receptores enigma2 con imagen openspa que tengan en /usr/share/ca-certificates/mozilla el archivo DST_Root_CA_X3.crt y que ademas usen version openssl 1.0.2 fallara el acceso a la descarga de plugins, en los receptores que no tengan ese archivo o usen una veresion openssl superior no fallara, por eso en algunos receptores falla y en otros no dependendiendo el receptor o la version de imagen instalada.
Antecendentes que es un repositorio:
Para entender esto que estamos comentando, en primer lugar hay que entender que es un repositorio, un repositorio es una web (servidor), donde se encuentran alojados todos los paquetes ipk disponibles para su instalacion para nosotros desde el receptor poder instalar desde esa web el que deseemos. Cada imagen tiene pues su repositorio por defecto. en cada servidor para que el deco pueda listar todos los paquetes que existen en ese repositorio hay un archivo llamado Packages.gz que es donde se halla la lista de paquetes que podemos instalar desde ese repositorio. Como en todo repositorio Linux nosotros podemos añadir si deseamos otros repositorios extras para poder acceder a la instalacion de otros paquetes ipk ajenos a los que nos proporciona la imagen. En este punto decir que añadir un repositorio a una imagen enigma 2 no te instalada nada, solo te da acceso para la instalacion a mas paquetes ipk que no esten en el repositorio por defecto de la imagen.
Una vez que hemos entendido esto de lo que es un repositorio, que ha ocurrido en imagen openspa:
- En algunos receptores o versiones de imagenes como hemos comentado openspa usa la version openssl 1.0.2 o inferior, por ejemplo en este caso en octagon con version openspa 013
- Ademas de tener esa version de openssl llevan como hemos comentado el archivo DST Root CA X3 caducado que podemos verlo ejecutando el comando
openssl x509 -in /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt -text | grep "Not After"
Observamos que efectivamente tenemos caducado el certifcado CA en nuestro receptor.
Como hemos comentado para acceder al archivo .packages.gz que lista los paquetes disponibles en el servidor de openspa, openspa usa una url en su servidor https que necesita que el certificado mencionado no este caducado.
por ejemplo el receptor necestaria acceder por ejemplo a este archivo para poder listar plugins e instalarlo, y esta seria la url:
https://openspa.webhop.info/feeds/7.4/sf8008/all/Packages.gz
Que ocurre que si intentamos descargar ese paquete, al estar caducado el certificado toma https como no segura y no se puede descargar, un ejemplo de intentar descargar el archivo desde el receptor:
Nos dice que nuestro certifcado del receptor esta caducado y por lo tanto no nos deja acceder a url https.
Esto provoca que cuando el receptor quiere acceder a la lista de plugins no pueda, por ejemplo usando el comando opkg update
Al dar error al acceder a packages.gz de la url https pues al acceder a la lista de plugins dara vacio
Que ocurre ahora si añadimos un repositorio cuya url no es https, es decir un repositorio http (que no necesita certificados), pues que en este caso si funcionaria por que las url http no necesitan certificados, por ejemplo ahora añadimos el repositorio jungle que es http y por lo tanto en url http no necesitan certicados
wget http://tropical.jungle-team.online/script/jungle-feed.conf -P /etc/opkg/
Que ocurre que si ahora ejecutamos nuevamente opkg update
como vemos falla el acceso al repositorio openspa que la url es https (necesita el certificado), pero no falla en la url jungle por que es http (no necesita certifcados)., esto implica que si ahora entraremos de nuevo al menu plugin openspa pues evidentemente solo listara los plugins alojados en jungle team (http) pero no los de openspa (https)
No es ningun truco de magia, solamente lista los paquetes a los que tiene acceso para instalar o sea los http los https no por que no puede acceder.
SOLUCION DADA EN LA WEB letsencrypt OFICIAL
La solucion dada o una de las soluciones dadas por letsencrypt que es la encargada de la gestion de estos certificados, es que para los que usen openssl 1.0.2 simplemente borren ese archivo DST Root CA X3 que esta caducado, pues es lo que hacemos, para ello ejecutamos el comando:
rm -r /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt
Ahora ya al no tener ese certificado caducado, si volvemos a lanzar opkg update
voila ya no nos da error las url https, y ahora en el menu complementos ya nos apareceran en este ejemplo los plugin del repositorio (http que no necesitan certificado) y tambien ya los de openspa https que no se podia acceder por tener ese certificado caducado