使用自己的安全证书
Info
下文的操作步骤加上由可信机构颁发的证书(例如公司内部或外部)可以修复 NET::ERR_CERT_AUTHORITY_INVALID 错误。
octoplant 会在运行时自动创建自签名证书和私钥。
如果您希望在 OIDC 中使用自己的证书而不是由 octoplant 创建的证书,完全没有问题。这 不是 强制要求,但对 IT 部门或域管理员来说会很有用。
octoplant 中的配置
要使用自己的证书,请在 server.ini
文件的 [Common] 节创建一个 41388 条目,如下所示:
在此处和下面的说明中使用服务器名称代替 {服务器名称}。
有效的 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 证书
- 安装 OpenSSL。
-
在包含
OpenSSL.exe
文件的文件夹中创建一个名为sssan.conf
的空文本文件。根据 OpenSSL 发行版的不同,文件夹可能会有所不同。
-
用 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}
-
以管理员权限打开命令提示符。
- 导航至 OpenSSL 可执行文件夹。
-
设置环境变量 OPENSSL_CONF。在 Shell 中输入以下命令:
SET OPENSSL_CONF={OpenSSL 可执行文件夹的完整路径}/openssl.cfg
-
使用 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”参数。 -
如果您要 在服务器上安装证书,请让管理员 shell 保持打开状态。
Warning
使用新证书(无论是自签名还是外部创建)替换
ApiCertificate
文件需要在每台 octoplant 客户端计算机上进行更新。否则将无法访问客户端。为避免这种情况,请删除knownhosts.txt
文件:- 在每个已安装客户端的客户端存档中:
\vdClientArchive\VD$A\Configuration\Local
- 在服务器计算机上的服务器存档中:
\vdServerArchive\VD$A\Configuration\Local
,以及客户端存档中。
- 在每个已安装客户端的客户端存档中:
-
要用新证书替换
ApiCertificate
文件,重命名vdServerArchive\VD$A\configuration\Local
目录中的证书文件:- 将
cert.crt
重命名为ApiCertificate
(无扩展名) - 将
server.key
重命名为ApiPrivateKey
(无扩展名)
- 将
证书创建过程已完成。现在您可以:
- 设置由 Active Directory 管理的证书服务
- 使用组策略向客户端计算机分发证书
- 在服务器上安装证书
- 或者使用内部证书颁发机构签署证书
在服务器上安装证书
-
在 shell 命令行输入
mmc<Enter>
,使用管理员权限打开 Microsoft 管理控制台 。 -
打开 Microsoft 管理控制台。
-
创建一个新的控制台管理单元:
-
选择 文件 -> 添加/删除管理单元。
添加/删除管理单元 对话框随即出现:
-
选择 证书 ,然后选择 添加 按钮。
证书管理单元 向导随即出现:
-
选择 计算机帐户 单选按钮,然后选择 下一步> 按钮。
选择计算机 对话框随机出现:
-
选择 本地计算机 单选按钮,然后选择 完成 按钮。
- 在 添加/删除管理单元 对话框中选择 确定 按钮。
-
-
在控制台根目录下展开 证书。
- 右键单击 受信任的根证书颁发机构。
- 选择 所有任务。
-
然后选择 导入,如下图所示:
证书导入向导 随即出现:
-
选择 下一步 按钮。
-
选择 浏览 按钮。
Windows 资源管理器对话框随即打开:
-
浏览到上面保存 ApiCertificate 的位置,然后选择它。
-
选择 打开 按钮。
证书导入向导 将显示文件:
-
-
选择 下一步 按钮。
下一步是验证证书存储位置:
验证证书存储的是 受信任的根证书颁发机构。
-
选择 下一步 按钮。
向导将显示结果:
-
验证该证书的设置。
-
选择 完成 按钮完成向导。
向导将完成导入并显示对话框:
-
选择 确定 按钮。
验证证书
-
在 证书 下,找到 {server_name} 并右键单击:
-
选择 打开 菜单项。
-
证书信息随即显示:
-
选择 详细信息 选项卡,然后选择 主题备用名称,查看您为该证书输入的 DNS 和 IP 信息:
-
选择 确定 按钮,退出控制台。