跳转至

使用自己的安全证书

Info

该程序与适当的证书颁发机构(内部或外部)相结合,可解决NET::ERR_CERT_AUTHORITY_INVALID 错误。

默认情况下,octoplant 会在运行时自动创建自签名证书和私钥。

如果您想使用自己的证书(例如,用于 OIDC 或WebClient )而不是 octoplant 创建的证书,请遵循此可选步骤。本指南面向 IT 部门或域管理员。

基本步骤

  1. 创建根 CA 私钥和公开证书。在服务器和使用该服务器的所有客户端上将该证书作为受信任根证书导入。此根 CA 可用于多个服务器。
  2. 为每台服务器创建私钥和证书签名请求(CSR)。
  3. 使用根 CA 的私钥签署公共服务器证书。
  4. 在服务器存档中存储服务器的私钥和签名证书。

要求

  • 您需要一个已安装 OpenSSL 的环境(推荐:OpenSSL 3.2.1 或更高版本)。要签入版本控制,请打开命令 shell 并运行

    openssl -v
    

    您应该会看到类似的输出结果:

    OpenSSL 3.5.2 5 Aug 2025 (Library: OpenSSL 3.5.2 5 Aug 2025)
    
  • 为证书创建一个本地文件夹,例如D:\certs

创建自己的根 CA

这一过程分为三个步骤:

  • 创建根密钥
  • 创建并自行签署根证书
  • 分发证书

Warning

根 CA 密钥可以签署任何服务器证书。任何可以访问此密钥的人都可以创建可信的证书。确保其安全和私密。

  1. 创建根 CA 密钥 (rootCA.key):

    openssl genrsa -aes128 -out D:\certs\rootCA.key 4096
    

    系统会提示你输入口令,每次签署证书时都需要输入口令。要创建没有口令的密钥,请删除-aes128 选项。

  2. 创建根证书 (rootCA.crt):

    openssl req -x509 -new -nodes -key D:\certs\rootCA.key -sha256 -days 1024 -out D:\certs\rootCA.crt
    
  3. rootCA.crt 分发给将连接到服务器的每个客户端。

创建服务器证书签名请求

  1. 创建服务器证书密钥 (hostname.key):

    openssl genrsa -out D:\certs\hostname.key 2048
    

    该文件是服务器的机密。请勿共享或分发该文件,只有服务器才能访问该文件

  2. 创建签名请求 (hostname.csr):

    openssl req -new -key D:\certs\hostname.key -out D:\certs\hostname.csr
    

    按照交互式提示操作。通用名称 必须与客户端用于连接的主机名完全匹配。请勿设置密码。

  3. (可选)验证 CSR:

    openssl req -in D:\certs\hostname.csr -noout -text
    

签署服务器证书

使用 CSR、根 CA 密钥和根证书创建签名服务器证书 (hostname.crt):

openssl x509 -req -in D:\certs\hostname.csr -CA D:\certs\rootCA.crt -CAkey D:\certs\rootCA.key -CAcreateserial -out D:\certs\hostname.crt -days 3650 -sha256

系统将提示您输入 CA 根密钥口令。生成的hostname.crthostname.key 是 octoplant 服务器所需要的。

验证证书

  1. Certificates 下,右键单击{server_name}

    图:OIDC-Cert-Step-11

  2. 选择 打开

  3. 查看证书信息。

    图:OIDC-Cert-Step-12

  4. Details 选项卡上,选择Subject Alternative Name 以验证 DNS 和 IP 条目。

    图:OIDC-Cert-Step-13

  5. 选择OK 并退出控制台。

存储已签名的服务器证书

替换VD$A\Configuration\Local 中的以下文件,这些文件位于服务器存档中:

  • ApiCertificate andCSCCertificate: with a copy ofD:\certs\rootCA.crt
  • ApiPrivateKey andCSCPrivateKey: with copy ofD:\certs\hostname.key

不要使用文件扩展名。

Warning

更换这些文件后,必须更新所有的 octoplant 客户端计算机。否则,客户端将无法连接。

如果D:\certs\rootCA.crt 已作为受信任的根授权机构安装在每个客户端上,且客户端使用的服务器名称与通用名称 匹配,则无需采取进一步步骤。

如果没有,请删除knownhosts.txt 文件:

  • 在每个客户端的客户端存档中:\vdClientArchive\VD$A\Configuration\Local
  • 在服务器的服务器档案中:\vdServerArchive\VD$A\Configuration\Local

证书创建过程已完成。现在您可以:


相关主题