Ошибки SSL npm: контрольная сумма целостности не удалась при использовании sha512 - PullRequest
0 голосов
/ 09 июля 2019

Я не могу ничего установить с помощью npm!

Что я использую?

  • узел v10.16.0

  • npm v6.9.0

  • windows 7 x64

  • Корпоративный прокси-сервер с инструментом проверки содержимого MITM (Вероятный виновник)

Что я делаю?

npm install node-sass -g

Что происходит?

В зависимости от конфигурации, я сталкиваюсь с одной из следующих ошибок:

npm ERR! code SELF_SIGNED_CERT_IN_CHAIN
npm ERR! code EINTEGRITY
npm ERR! sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== integrity checksum failed when using sha512: wanted sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== but got sha512-jIvvQweolCmipqZXjsC8NUIKS/iux7/bKsBBZQCCMibvCg/eNyz0L7L7ddO9r1dRStqWyBlrHFUPRrF56wCr/A==. (2121 bytes)

Что я пробовал?

Конфигурация прокси:

npm config set http-proxy http://user:password@proxy:port

npm config set https-proxy http://user:password@proxy:port

Это само по себе работало.

Чистая установка:

Я удалил Node и npm, удалил папки npm и npm-cache из C:\Users\me\AppData\Roaming и удалил .npmrc из C:\Users\me.Я также запустил npm cache clean --force & npm cache verify

После этого я попробовал новую установку Node v10.16.0 & v10.15.3 (npm 6.4.1)

ОтключитьSSL:

  • npm config set strict-ssl false
  • установить локальную переменную Windows и переменную системного окружения NODE_TLS_REJECT_UNAUTHORIZED в 0

Конфигурация CA:

Я экспортировал все свои корпоративные сертификаты из Internet Options > content > certificates > trusted root certification authorities.Я экспортировал их в отдельные файлы X.509 .cer в кодировке Base 64, создал отдельный файл bundle.cer и объединил их все вместе.

Затем я попытался использовать это всеми следующими способами:

  • npm config set cafile C:\\certs\\cert1.cer

  • npm config set cafile C:\\certs\\cert2.cer

  • npm config set cafile C:\\certs\\cert3.cer

  • npm config set cafile C:\\certs\\bundle.cer

  • npm config set ca BASE64-code-taken-from-each-cer-file

  • установить переменную среды Windows NODE_EXTRA_CA_CERTS для каждого файла выше.

Package-lock:

В некоторых сообщениях предлагается удалить package-lock.json.У меня нет этого, поскольку я устанавливаю глобально, а не в локальном проекте.Я попытался установить без глобального флага в локальном каталоге.Я получаю те же проблемы с SSL.

Справка!

...