如何让PyCharm接受我的自签名SSL证书?

4
我需要在连接到远程安全的Jupyter笔记本服务器时,让我在PyCharm (2019.1,macOS High Sierra)中接受自签名的SSL证书。 (来源:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html
我已经尝试过:
  1. 将证书文件添加到首选项/工具/服务器证书。

  2. keytool -import -alias cacerts -file jupytercert.pem(我认为这可能会允许PyCharm依赖的JRE接受证书)

但都未能解决问题。在尝试连接时,会提示错误信息。
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target.

附注:证书是通过以下方式生成的:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout jupyterkey.key -out jupytercert.pem

1个回答

1
在Ubuntu上,使用了snap安装方法后遇到了同样的问题。我通过先使用以下命令将自定义证书添加到本地Java keystore来解决了这个问题:
sudo keytool -import -trustcacerts -keystore /etc/ssl/certs/java/cacerts \
   -storepass changeit -noprompt -file path/to/my/certificate.crt  -alias my_cert_alias

然后我需要使用我的本地密钥库覆盖snap中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可能存在一个bug,即无法通过“Preferences/Tools/Server Certificates”过滤器检查jupyter笔记本访问所需的证书。

我的建议是,在macOS上找到Pycharm存储其密钥库的位置,并在那里添加自定义证书。


参考资料,PyCharm的错误已在https://youtrack.jetbrains.com/issue/PY-35376上进行跟踪。 - Maximilian Hils

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接