Skip to content

Instantly share code, notes, and snippets.

@x-yuri
Last active June 24, 2024 01:25
Show Gist options
  • Save x-yuri/ec020a19901ef2ad501d574a2064b3e9 to your computer and use it in GitHub Desktop.
Save x-yuri/ec020a19901ef2ad501d574a2064b3e9 to your computer and use it in GitHub Desktop.
bower: CERT_HAS_EXPIRED

bower: CERT_HAS_EXPIRED

$ docker run --rm alpine:3.8 sh -euxc '
    apk add npm git
    npm i -g bower
    echo "{\"allow-root\": true}" > .bowerrc
    echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
    bower install
'
...
+ bower install
bower underscore#*    CERT_HAS_EXPIRED Request to https://registry.bower.io/packages/underscore failed: certificate has expired

The best way to solve this arguably is to remove the DST Root CA X3 certificate:

$ docker run --rm alpine:3.8 sh -euxc '
    apk add npm git
    npm i -g bower
    echo "{\"allow-root\": true}" > .bowerrc
    echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
    sed -i "/^mozilla\/DST_Root_CA_X3\.crt$/s/^/#/" /etc/ca-certificates.conf
    update-ca-certificates
    mv /etc/ssl/cert.pem /etc/ssl/cert.pem.bak
    bower install
'
...
+ sed -i '/^mozilla\/DST_Root_CA_X3\.crt$/s/^/#/' /etc/ca-certificates.conf
+ update-ca-certificates
WARNING: ca-certificates.crt does not contain exactly one certificate or CRL: skipping
+ mv /etc/ssl/cert.pem /etc/ssl/cert.pem.bak
+ bower install
bower underscore#*          not-cached https://github.com/jashkenas/underscore.git#*
bower underscore#*             resolve https://github.com/jashkenas/underscore.git#*
bower underscore#*            download https://github.com/jashkenas/underscore/archive/1.13.6.tar.gz
bower underscore#*             extract archive.tar.gz
bower underscore#*            resolved https://github.com/jashkenas/underscore.git#1.13.6
bower underscore#*             install underscore#1.13.6

underscore#1.13.6 bower_components/underscore

The other ways disable ssl verification:

$ docker run --rm alpine:3.9 sh -euxc '
    apk add npm git
    npm i -g bower
    echo "{\"allow-root\": true, \"strict-ssl\": false}" > .bowerrc
    echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
    bower install
'
...
+ echo '{"allow-root": true, "strict-ssl": false}'
...
+ bower install
bower underscore#*          not-cached https://github.com/jashkenas/underscore.git#*
bower underscore#*             resolve https://github.com/jashkenas/underscore.git#*
bower underscore#*            download https://github.com/jashkenas/underscore/archive/1.13.6.tar.gz
bower underscore#*             extract archive.tar.gz
bower underscore#*            resolved https://github.com/jashkenas/underscore.git#1.13.6
bower underscore#*             install underscore#1.13.6

underscore#1.13.6 bower_components/underscore
$ docker run --rm alpine:3.9 sh -euxc '
    apk add npm git
    npm i -g bower
    echo "{\"allow-root\": true}" > .bowerrc
    echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
    NODE_TLS_REJECT_UNAUTHORIZED=0 bower install
'
...
+ NODE_TLS_REJECT_UNAUTHORIZED=0 bower install
bower underscore#*          not-cached https://github.com/jashkenas/underscore.git#*
bower underscore#*             resolve https://github.com/jashkenas/underscore.git#*
bower underscore#*            download https://github.com/jashkenas/underscore/archive/1.13.6.tar.gz
bower underscore#*             extract archive.tar.gz
bower underscore#*            resolved https://github.com/jashkenas/underscore.git#1.13.6
bower underscore#*             install underscore#1.13.6

underscore#1.13.6 bower_components/underscore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment