Skip to main content

操作方法:通过 PLC 外壳请求和提供 CA 签名证书

目前只能通过设备编辑器的 PLC 外壳为 PLC 证书创建 CSR。

重要

创建时 CSRCertificate Signing Request),PLC 将所有必需的 X509 扩展添加到证书签名请求中。因此,证书颁发机构 (CA) 可能会添加一些扩展,但不能省略现有扩展。如果签名证书中不存在 CSR 的扩展,则 PLC 无法使用它。

以下条目包含在 CA 签名的证书中,因此必须存在于 CSR 中:

  • Key Usage

  • Extended Key Usage

  • Subject Alternative Name

  • 每个都有 Critical 标志

  1. 首先,为所有必需的证书或组件生成证书请求 (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。

  2. 点击 日志 选项卡,然后单击 _cds_icon_update.png 刷新按钮。

    在日志条目中,您可以看到 CSR 文件已生成。

  3. 点击 档案 选项卡并打开文件路径 cert/export 在右边 运行时间 对话框。

    这个 export 文件夹包含生成的 CSR 文件。

    示例: 0_CmpsecureChannl.csr, 1_CmpApp.csr, 2_CmpWebServer.csr

  4. 在文件左侧选择要插入 CSR 文件的文件路径 主持人 对话框,在对话框右侧标记 CSR 文件,然后单击 _cds_button_double_arrow_left.png

    CSR 文件将复制到所需的文件夹。

  5. 这些证书请求可以由证书颁发机构 (CA) 签署。结果,您将获得证书颁发机构签名的证书。

  6. 在接下来的步骤中,您将这些签名证书导入控制器。

    注意

    重新启动控制器后,将自动使用 CA 签名的证书。

    提示

    或者,你也可以使用 CODESYS Security Agent 将证书转移到控制器。有关更多信息,请参阅以下内容: CODESYS 安全代理

  7. 选择 路径 cert/import 在右边 运行时间 对话框。

  8. 在左边 主持人 对话框中,选择文件系统中保存签名证书的路径并选择证书。

  9. 点击 _cds_button_double_arrow_right.png

    证书已复制到 cert/import 文件夹。

  10. 点击 PLC 外壳 选项卡。

  11. 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 已安装,那么也可以编辑 通信设置 在设备编辑器的通信设置选项卡上。