通过 PLC 外壳请求和提供 CA 签名证书
目前只能通过设备编辑器的 PLC 外壳为 PLC 证书创建 CSR。
重要
创建时 CSR
(Certificate Signing Request
),PLC 将所有必需的 X509 扩展添加到证书签名请求中。因此,证书颁发机构 (CA) 可能会添加一些扩展,但不能省略现有扩展。如果签名证书中不存在 CSR 的扩展,则 PLC 无法使用它。
请注意,CA 签名证书应用了 CSR 中的以下条目: Key Usage
, Extended Key Usage
, Subject Alternative Name
,每个都有 Critical
标志。CSR 中必须包含以下扩展名: Key Usage
, Extended Key Usage
, Subject Alternative Name
,每个都有 Critical
标志。
首先,为所有必需的证书或组件生成证书请求 (
CSR
=Certificate Signing Request
)。它们也可以成为客户证书(例如,OPC UA 客户端)。要执行此操作,请单击 PLC 外壳 控制器的选项卡。在输入行中,键入cert-createcsr
命令。Syntax:
cert-createcsr [<number retrieved by \"cert-getapplist\">] [encoding=Base64 | ASN.1]
<number retrieved by \"cert-getapplist\">
可选:从的输出中指定单个组件的数量
cert -getapplist
。如果未指定,则为所有生成的组件生成证书。encoding=Base64 | ASN.1
可选:指定导出格式(默认设置:
ASN.1
)。ANS.1
:证书、CSR 和非对称密钥的二进制文件格式。Base64
:ASN.1 数据的文本表示,基于 Base64 编码。注意
文件格式可以由 CA 指定。然后以正确的格式自动生成 CSR。
否则,一种格式到另一种格式的无损转换也是可能的。例如,OpenSSL 可用于执行此操作:
openssl req -in <file name> -inform <DER|PEM> -out <file name_new> -outform <PEM|DER>
DER
对应于 ASN.1;PEM
对应Base64。点击 日志 选项卡,然后单击
刷新按钮。
在日志条目中,您可以看到 CSR 文件已生成。
点击 档案 选项卡并打开文件路径
cert/export
在右边 运行时间 对话框。这个
export
文件夹包含生成的 CSR 文件。示例:
0_CmpsecureChannl.csr, 1_CmpApp.csr, 2_CmpWebServer.csr
在文件左侧选择要插入 CSR 文件的文件路径 主持人 对话框,在对话框右侧标记 CSR 文件,然后单击
。
CSR 文件将复制到所需的文件夹。
这些证书请求可以由证书颁发机构 (CA) 签署。结果,您将获得证书颁发机构签名的证书。
在接下来的步骤中,您将这些签名证书导入控制器。
注意
重新启动控制器后,将自动使用 CA 签名的证书。
提示
或者,你也可以使用 0_Global: Produkt Security Agent 将证书转移到控制器。有关更多信息,请参阅:CODESYS Security Agent
选择 路径
cert/import
在右边 运行时间 对话框。在左边 主持人 对话框中,选择文件系统中保存签名证书的路径并选择证书。
点击
。
证书已复制到
cert/import
文件夹。点击 PLC 外壳 选项卡。
Type the
cert-import own <file name of the certificate.cer>
command in the input line of the tab and press the Enter key.The signed certificates are available to the runtime servers.
注意
在控制器的配置文件中(例如, CODESYSControl.cfg
),可以在 OPC UA 服务器的证书中使用以下条目设置组织名称:
[CmpOPCUAServer]
SECURITY.CompanyOrOrganizationName="<organization name>"
如果 CODESYS Security Agent 已安装,那么也可以编辑 通信设置 在设备编辑器的通信设置选项卡上。