Как позволить PyCharm принять мой самозаверяющий сертификат SSL? - PullRequest
1 голос
/ 20 мая 2019

Мне нужен PyCharm (2019.1, на macOS High Sierra), чтобы принять мой самозаверяющий сертификат SSL при подключении к удаленному безопасному серверу ноутбуков Jupyter. (https://jupyter -notebook.readthedocs.io / ен / последний / public_server.html )

Я пробовал

  1. Добавьте файл сертификата в Предпочтения / Инструменты / Сертификаты сервера.

  2. keytool -import -alias cacerts -file jupytercert.pem (я думаю, что это, вероятно, позволит JRE, на которое полагается PyCharm, принять сертификат)

Ни одна из них не решает проблему. При попытке подключения появляется сообщение об ошибке:

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target.

P.S. Сертификат был создан с использованием: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyterkey.key -out jupytercert.pem

1 Ответ

0 голосов
/ 03 июля 2019

У меня была такая же проблема в Ubuntu, используя метод мгновенной установки.

Мне удалось решить проблему, сначала добавив пользовательский сертификат в мое локальное хранилище ключей Java с помощью:

sudo keytool -import -trustcacerts -keystore /etc/ssl/certs/java/cacerts \
   -storepass changeit -noprompt -file path/to/my/certificate.crt  -alias my_cert_alias

Затем мне пришлось переопределить хранилище ключей, используемое pycharm в оснастке, используя мое локальное хранилище ключей. Я мог бы сделать это с помощью монтирования, как предложено в https://askubuntu.com/a/1036611/143257:

sudo mount --bind -o nodev,ro /etc/ssl/certs/java/cacerts \
    /snap/pycharm-professional/136/jre64/lib/security/cacerts

Может ли быть ошибка в Pycharm 2019, когда сертификаты для доступа к ноутбуку Jupyter не проверяются с помощью фильтра «Preferences / Tools / Server Certificates»?

Я бы посоветовал вам найти, где pycharm хранит свое хранилище ключей на macOS, и добавить туда собственный сертификат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...