Firefox 33.0 не откроет конкретное локальное приложение: Код ошибки: sec_error_invalid_key

Сегодня утром Firefox обновился до версии 33.0. С тех пор я не могу загрузить определенное локальное приложение через HTTPS - обратите внимание, что он использует самозаверяющий сертификат. Появится следующее сообщение об ошибке:

The key does not support the requested operation. (Error code: sec_error_invalid_key)

Я ничего не вижу в Firebug. Я перезапустил Firefox в безопасном режиме, чтобы убедиться, что надстройка не была проблемой. Я также очистил кеш и файлы cookie. То же приложение отлично открывается с помощью Chrome, а Firefox может открывать другие приложения, которые используют HTTPS с самозаверяющим сертификатом.

Любая идея, как я могу устранить эту проблему?

Изменить: Mozilla внес ряд важных изменений в безопасность в Firefox 33.0. Подробности можно найти здесь.

В моей конкретной ситуации самозаверяющий сертификат был заблокирован, потому что он считался слишком слабым:

RSA 512, 1000 и 1023-битные сертификаты теперь блокируются Firefox, поскольку их недостаточно для обеспечения безопасности. В большинстве выпущенных сертификатов длина ключа должна быть 2048 бит.

Ответы

Ответ 1

Я столкнулся с такой же проблемой после обновления до Firefox 33 с помощью маршрутизатора Tomato. Длина ключа является проблемой здесь.

По умолчанию Tomato генерирует ключ RSA длиной 512 бит. Тем не менее, Firefox 33 требует минимум 1024 бит ключа.

Мне пришлось вручную генерировать более длинный ключ в Tomato.

Я сделал это следующим образом:

  • Войдите с помощью ssh в маршрутизатор.
  • cd /tmp
  • cp /usr/sbin/gencert.sh .
  • chmod +w gencert.sh
  • Отредактируйте файл gencert.sh, который вы скопировали, и измените следующую строку:

    openssl req -new -out /tmp/cert.csr -config openssl.config -keyout /tmp/privkey.pem -newkey rsa:512 -passout pass:password

    в

    openssl req -new -out /tmp/cert.csr -config openssl.config -keyout /tmp/privkey.pem -newkey rsa:1024 -passout pass:password

  • ./gencert.sh $(date +%s)
  • nvram unset https_crt_file
  • nvram commit
  • service httpd restart

Теперь httpd будет использовать новый сертификат. Если у вас установлен флажок "Сохранить в NVRAM", он будет сохранен в NVRAM и выжить при перезагрузке маршрутизатора.

Не проверяйте флажок "Восстановить", потому что автоматически восстановленные сертификаты по-прежнему имеют длину в 512 бит.

Если вы удаляете свой сертификат из NVRAM, вы должны повторить описанную выше процедуру.

Firefox 34 и новее:

Начиная с Firefox 34 вам необходимо дополнительно включить поддержку SSL 3.0 в конфигурации Firefox:

  • Введите адрес about:config в строке URL.
  • Задайте следующие параметры 0:

    security.tls.version.fallback-limit
    security.tls.version.min
    

Ответ 2

Для Webmin: Я создал новый сертификат ssl, и теперь он работает с FF 33.

Webmin → Конфигурация Webmin → Шифрование SSL → Самоподписанный сертификат

Ответ 3

отключено Аппаратное ускорение в меню "Параметры" > "Дополнительно" > "Общие" Проблема устранена.