1Panel-dev / 1Panel

🔥🔥🔥 Web-based linux server management control panel. / 现代化、开源的 Linux 服务器运维管理面板。
https://www.1panel.cn
GNU General Public License v3.0
20.6k stars 1.84k forks source link

[FEATURE]针对自签证书增加下载根证书功能 #4911

Closed wan92hen closed 1 week ago

wan92hen commented 2 months ago

1Panel 版本

v1.10.6-lts

请描述您的需求或者改进建议

目前处理用户自签证书受信任问题时,需要手动在签发机构详情中复制 CSR 并保存到文件后,再导入到操作系统中。建议针对自签证书直接提供下载根证书功能,方便用户直接导入。

请描述你建议的实现方案

No response

附加信息

No response

zhengkunwang223 commented 2 months ago

感谢建议 后续版本支持

xiwangly2 commented 1 month ago

我的速记,供参考

建议 p12 的格式,可以 Windows 和 Mac 通用

Xiwangly@DESKTOP-2LSBP1D:"E:\Users\Xiwangly\Downloads\Motrix\dev"$ openssl pkcs12 -export -out certificate.p12 -inkey .\privkey.pem -in .\fullchain.pem -name "hrss"
Enter Export Password:
Verifying - Enter Export Password:
Xiwangly@DESKTOP-2LSBP1D:"E:\Users\Xiwangly\Downloads\Motrix\dev"$

AI组织了一下语言((

如果浏览器仍然显示不安全,您可能需要将证书和私钥转换为 .p12 格式并导入到 Windows 中。以下是将 .crt.key 文件转换为 .p12 文件的步骤:

转换 .crt.key 文件为 .p12 文件

  1. 准备文件

    • 确保您有以下两个文件:
      • 证书文件:certificate.crt
      • 私钥文件:private.key
  2. 使用 OpenSSL 生成 .p12 文件

    • 您需要安装 OpenSSL 工具。如果没有安装,可以从 OpenSSL 官网 下载并安装。

    • 打开命令提示符或终端,运行以下命令将 .crt.key 文件转换为 .p12 文件:

      openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt -name "My Certificate"
    • 在运行此命令时,系统会提示您设置导出密码,请记住该密码,因为导入时需要用到。

导入 .p12 文件到 Windows

  1. 打开证书管理工具

    • Win + R 打开“运行”对话框。
    • 输入 certmgr.msc 并按 Enter,打开证书管理控制台。
  2. 导入 .p12 文件

    • 在左侧窗格中,选择“受信任的根证书颁发机构”或适当的存储位置。
    • 在右侧窗格中,右键点击并选择“所有任务” -> “导入...”。
    • 在证书导入向导中,点击“下一步”。
    • 点击“浏览”,找到刚刚生成的 .p12 文件 certificate.p12,选择它并点击“打开”。
    • 点击“下一步”。
    • 输入在生成 .p12 文件时设置的密码。
    • 选择“将所有的证书放入下列存储”。
    • 确认存储为“受信任的根证书颁发机构”。
    • 点击“下一步”,然后点击“完成”。

检查浏览器

  1. 重新启动浏览器

    • 完成证书导入后,重新启动 Chrome 浏览器。
  2. 访问您的网站

    • 访问您部署证书的网站,检查是否显示为安全。

通过上述步骤,将 .crt.key 文件转换为 .p12 文件并导入到 Windows 后,Chrome 等浏览器应该会信任该证书并显示为安全。

需要先创建一个CA机构,然后再颁发证书

然后将私钥和证书链一起生成 p12 证书

wanghe-fit2cloud commented 1 week ago

v1.10.12-beta 版本已发布。