跳转至

使用自己的安全证书

Info

下文的操作步骤加上由可信机构颁发的证书(例如公司内部或外部)可以修复 NET::ERR_CERT_AUTHORITY_INVALID 错误。

octoplant 会在运行时自动创建自签名证书和私钥。

如果您希望在 OIDC 中使用自己的证书而不是由 octoplant 创建的证书,完全没有问题。这 不是 强制要求,但对 IT 部门或域管理员来说会很有用。

octoplant 中的配置

要使用自己的证书,请在 server.ini 文件的 [Common] 节创建一个 41388 条目,如下所示:

[Common]
41388=https://{server name}

在此处和下面的说明中使用服务器名称代替 {服务器名称}。

有效的 41388 条目示例:

41388=https://{服务器名称} 的其他有效基本 URI 可以类似于以下条目之一:

  • https://localhost:64021/octoplant/
  • https://octo.plant.localhost:123
  • https://octoplant.landau.amdt.com:64023
  • https://192.168.178.12:5555
  • https://[\:\:abcd\:1234\:dcba]\:9999
  • http://octo.ld.auvesy.de

Info

主机名或域名必须只包含 ASCII 字符。如果使用 unicode 字符,则必须用其 punycode 编码表示 进行替换。

创建 SSL 证书

  1. 安装 OpenSSL。
  2. 在包含 OpenSSL.exe 文件的文件夹中创建一个名为 sssan.conf 的空文本文件。

    根据 OpenSSL 发行版的不同,文件夹可能会有所不同。

  3. 用 Notepad 或其他纯文本编辑器打开 sssan.conf 文件,粘贴以下内容:

    [req]
    default_bits = 4096
    prompt = no
    default_md = sha256
    x509_extensions = v3_req
    distinguished_name = dn
    
    [dn]
    C = {insert country code}   ; Typically 2 characters, such as US or DE
    O = {insert company name}   ; < 64 characters
    CN = {insert_server_name}   ; < 64 characters
    
    [v3_req]
    subjectAltName = @alt_names
    
    [alt_names]
    DNS.1 = {insert_server_name}
    
  4. 以管理员权限打开命令提示符。

  5. 导航至 OpenSSL 可执行文件夹。
  6. 设置环境变量 OPENSSL_CONF。在 Shell 中输入以下命令:

    SET OPENSSL_CONF={OpenSSL 可执行文件夹的完整路径}/openssl.cfg

  7. 使用 SAN 生成 SSL 证书。输入以下命令:

    openssl.exe req -new -x509 -newkey rsa:4096 -sha256 -nodes -keyout "{insert cert location}\server.key" -days 3560 -out "{insert cert location}\cert.crt" -config "sssan.conf"
    

    这将在所选证书目录下创建两个文件:

    • server.key:私人密钥文件
    • cert.crt:证书

    Info

    如果在创建证书时收到以下错误消息:

    Error making certificate request 74110000:error:06800097:asn1 encoding routines:ASN1_mbstring_ncopy:string too long:crypto\asn1\a_mbstr.c:106:maxsize=2

    检查 sssan.conf 文件 [dn] 节的三个参数,检查数值后面是否有空格,尤其是 C(国家代码)参数,并将其删除。尤其要检查“C”参数。

    [dn]
    C = {insert country code}   ; Typically 2 characters, such as US or DE
    O = {insert company name}   ; < 64 characters
    CN = {insert_server_name}   ; < 64 characters
    
  8. 如果您要 在服务器上安装证书,请让管理员 shell 保持打开状态。

    Warning

    使用新证书(无论是自签名还是外部创建)替换 ApiCertificate 文件需要在每台 octoplant 客户端计算机上进行更新。否则将无法访问客户端。为避免这种情况,请删除 knownhosts.txt 文件:

    • 在每个已安装客户端的客户端存档中:\vdClientArchive\VD$A\Configuration\Local
    • 在服务器计算机上的服务器存档中:\vdServerArchive\VD$A\Configuration\Local,以及客户端存档中。
  9. 要用新证书替换 ApiCertificate 文件,重命名 vdServerArchive\VD$A\configuration\Local 目录中的证书文件:

    • cert.crt 重命名为 ApiCertificate (无扩展名)
    • server.key 重命名为 ApiPrivateKey(无扩展名)

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

在服务器上安装证书

  1. 在 shell 命令行输入mmc<Enter>,使用管理员权限打开 Microsoft 管理控制台

  2. 打开 Microsoft 管理控制台。

    图:MMC

  3. 创建一个新的控制台管理单元:

    1. 选择 文件 -> 添加/删除管理单元

      添加/删除管理单元 对话框随即出现:

      图:OIDC-Cert-Step-1

    2. 选择 证书 ,然后选择 添加 按钮。

      证书管理单元 向导随即出现:

      图:OIDC-Cert-Step-2

    3. 选择 计算机帐户 单选按钮,然后选择 下一步> 按钮。

      选择计算机 对话框随机出现:

      图:OIDC-Cert-Step-3

    4. 选择 本地计算机 单选按钮,然后选择 完成 按钮。

    5. 添加/删除管理单元 对话框中选择 确定 按钮。
  4. 在控制台根目录下展开 证书

    1. 右键单击 受信任的根证书颁发机构
    2. 选择 所有任务
    3. 然后选择 导入,如下图所示:

      图:OIDC-Cert-Step-4

      证书导入向导 随即出现:

      图:OIDC-Cert-Step-5

  5. 选择 下一步 按钮。

  6. 选择 浏览 按钮。

    Windows 资源管理器对话框随即打开:

    图:OIDC-Cert-Step-6

    1. 浏览到上面保存 ApiCertificate 的位置,然后选择它。

    2. 选择 打开 按钮。

      证书导入向导 将显示文件:

      图:OIDC-Cert-Step-7

  7. 选择 下一步 按钮。

    下一步是验证证书存储位置:

    图:OIDC-Cert-Step-8

    验证证书存储的是 受信任的根证书颁发机构

  8. 选择 下一步 按钮。

    向导将显示结果:

    图:OIDC-Cert-Step-9

  9. 验证该证书的设置。

  10. 选择 完成 按钮完成向导。

    向导将完成导入并显示对话框:

    图:OIDC-Cert-Step-10

  11. 选择 确定 按钮。

验证证书

  1. 证书 下,找到 {server_name} 并右键单击:

    图:OIDC-Cert-Step-11

  2. 选择 打开 菜单项。

  3. 证书信息随即显示:

    图:OIDC-Cert-Step-12

  4. 选择 详细信息 选项卡,然后选择 主题备用名称,查看您为该证书输入的 DNS 和 IP 信息:

    图:OIDC-Cert-Step-13

  5. 选择 确定 按钮,退出控制台。