Я вижу следующую ошибку, возникающую при попытке запустить узел с флагом --force-fips:
Error: disabled for fips
at Object.createSecureContext (_tls_common.js:158:19)
at Server (_tls_wrap.js:803:25)
at new Server (https.js:54:14)
at Object.createServer (https.js:76:10)
at Object.module.exports.startServer
Следуя трассировке стека, я смог выяснить, что ошибка возникает при выполнении Метод "loadPKCS12". (Я передаю хранилище ключей параметру «pfx» вместе с паролем хранилища ключей, соответствующим параметру «фраза-пароль», как часть объект параметров при вызове экземпляра сервера «https»).
определение метода находится на С++, и мне трудно отлаживать проблему. В чем может быть проблема? Может ли быть проблема с хранилищем ключей, которое я передаю?
Я использую node v8.9.4 и пробую это на машине Centos (точнее, centos-release-7-4.1708.el7.centos.x86_64)
Похоже, это была проблема с сертификатом, который я использовал. Сертификат был зашифрован с использованием алгоритма, несовместимого с fips (40-битный RC2). Генерация сертификата (с использованием openssl) путем передачи аргумента -descert устранила проблему для меня (передача аргумента descert при создании сертификата шифрует сертификат с использованием Triple DES, совместимого с fips).