Skip to main content

对启动应用程序进行加密和/或签名

下载代码和启动应用程序的专有技术保护和复制保护最好使用基于证书的加密来实现。签名可用于确保仅将来自可信来源的应用程序下载到 PLC。

如有必要,您可以让加密向导立即创建合适的证书 CODESYS Security Agent

注意

还有 CODESYS 项目本身(即应用程序的源代码)也可以使用只有特定用户才能收到的证书进行加密。有关证书的更多信息,请参阅: 的证书 CODESYS 和 PLC

提示

有关证书的一般信息,请参见 CODESYS Development System 环境,请参阅: 的证书 CODESYS 和 PLC

使用证书加密应用程序

要确保启动应用程序数据以不可读的形式传输,应使用基于证书的加密对其进行加密。不再推荐基于许可证的加密(加密狗)

注意:如果您想将应用程序下载到不同的控制器,则需要为每个控制器提供相应的证书。

要求:你有一个带有应用程序的项目。

  1. 在设备树中选择应用程序。

  2. 在上下文菜单中选择命令 特性.

    对话 属性 - <应用程序名称> 出现。

  3. 点击 安全 选项卡。

  4. 对于 保护,选择 使用证书加密 选项。

    注意

    如果 强制对下载、在线更改和启动应用程序进行加密 在上选择了选项 用户 中的选项卡 安全级别 的区域 安全屏幕 视图,然后 使用证书加密 该选项已永久设置。

    这个 加密证书 对话框字段已启用。

  5. 如果您的计算机上已有有效的应用程序加密证书,但该证书尚未输入到表中,则单击 _cds_icon_cert_store_open.png 按钮。如果您还没有证书,请继续执行步骤 7。

    对话 证书选择 打开以从本地 Windows 证书存储中选择证书。

  6. 在下方区域选择一个证书并用按钮将其带上 _cds_icon_arrow_up.png 在上场。确认 .

    该证书显示在 加密证书 的领域 安全 对话框。

  7. 如果您还没有有效的证书,则可以立即生成一个。 属性 应用程序对话框,单击 加密向导 按钮。 加密向导 对话框,单击 开始 按钮。

    这个 加密向导 提示你输入 密钥长度(位)有效期(天)

    现在,应用程序只能由具有指定证书的控制器读取。

  8. 注意:至 标志 启动应用程序:在 Properties 对话框,选择 对应用程序代码进行数字签名 选项并完成以下 “仅使用证书(不加密)对启动应用程序进行签名” 说明中的第 1—13 步。

仅使用证书签署引导应用程序(无加密)

当你选择 使用证书签名 / 对应用程序代码进行数字签名 中的选项 属性 在应用程序中,应用程序未加密,但签名用于确保所有权和完整性。

要求:您需要一份数字签名证书,该证书应分配给用户个人资料 用户 的选项卡 安全屏幕。如果您还没有这样的证书可供在对话框中选择,请先查看说明: 在用户配置文件中为数字签名配置证书。如果您已经拥有合适的证书,请完成以下步骤:

  1. 双击选项卡 用户 在证书上 电子签名.

    对话 证书 出现。

  2. 详情 选项卡,单击 复制到文件 按钮。

    证书出口协助 开始。

  3. 提示时选择 导出私钥 选项 不,不要导出私钥.

  4. 选择在 要导出的文件格式 格式 DER 编码的二进制 X.509 (.CER).

  5. 在下一步中,选择证书的文件名和存储位置。

  6. 最后一步之后 完全的 将显示一条消息,说明导出过程是否成功完成。

  7. 成功导出到 CODESYS,双击设备树中的控制器即可打开 设备编辑器 然后选择 档案 文件传输选项卡。

  8. 在对话框的右侧选择 期间小路cert/import.

  9. 在对话框的左侧选择 主持人 文件系统中存储导出证书的路径并选择证书。

  10. 点击 _cds_button_double_arrow_right.png.

    证书将在文件夹中 cert/import 复制。

  11. 现在选择选项卡 SPS外壳.

  12. 在选项卡的输入行输入命令 cert-import trusted <Dateiname.cer> 一个,然后按 回车键.确保文件名以文件扩展名结尾 .cer 指定,否则将无法成功导入证书。

    证书位于控制器上 trusted 创建的。使用此证书,控制器可以检查启动应用程序的完整性。

  13. 在状态栏中,双击 _cds_icon_cyber_screen_grey.png 按钮打开 安全屏幕 观点。

    用户 选项卡,确保 强制对下载、在线更改和启动应用程序进行加密 未选择保护选项。

  14. 在设备树中,选择应用程序对象,然后在快捷菜单中打开 属性 —<应用程序名称> 对话框然后 安全 选项卡。 使用证书签名 选项。这个 属性 对话框打开。或者,也可以通过以下方式访问此对话框 安全屏幕 的视图 项目 选项卡。在窗口下半部分的应用程序条目上双击。

    注意:如果 强制签署下载、在线更改和启动应用程序 适用于所有项目的选项在 安全屏幕 查看,然后 用证书签名 选项已被选中。

    现在,控制器可以检查应用程序的完整性。只有当用于签名的证书有效时,您才能将应用程序转移到控制器。

加密下载、在线更改和启动应用程序

如果 CODESYS Security Agent 安装完毕,然后 安全屏幕 视图包括额外的 设备 选项卡。这允许为与控制器的加密通信配置证书。在这种情况下,请参阅 “帮助” CODESYS Security Agent: CODESYS 安全代理

通过 PLC 外壳替代方案:

如果你这样做 CODESYS Security Agent 不可用,您可以通过设备编辑器的 PLC shell 进行如下操作:

要使用控制器上的证书对下载、在线更改和启动应用程序进行加密,必须首先在控制器上生成这些证书,然后从控制器加载并安装在 Windows 证书存储区中。

要求:您已连接到控制器。

  1. 在设备树中,双击控制器打开 设备编辑器 ,然后选择 PLC 外壳 选项卡。

    该选项卡将出现一个空白显示窗口。您将在下面找到命令的输入行。

  2. 键入问号 (?) 在命令行中,然后按 输入 钥匙。

    所有命令都列在显示窗口中。

  3. 发出命令 cert-getapplist 进入输入行。

    所有使用的证书都列出了有关组件的信息以及证书是否可用。

  4. If no certificate is available for the CmpApp component, then type in the command cert-genselfsigned <number of the component in the applist>. If a suitable certificate is already available, then continue to Step 6.

  5. 选择标签 日志 并单击刷新按钮 _cds_icon_update.png.

    显示证书是否生成成功。

  6. PLC 外壳 选项卡,键入命令 cert-getcertlist 然后按 输入 钥匙。

    列出了可用于加密的自己的证书。下一步是信息 NumberKey usage(s) 重要的。

    Number:输入此处指定的数字作为下一步中的参数。

    Key usage(s): Data Encipherment 表示它是控制器的证书,用于下载、在线更改和启动应用程序。

  7. 使用命令导出所需的证书 cert-export own 0 并按下 回车键. 0 是个 Number 证书的 Key usage(s):Data Encipherment.

    证书似乎在一个文件夹中 cert 被出口了。

  8. 选择标签 文件 设备编辑器。

  9. 单击对话框右侧的 期间 在更新按钮上 _cds_icon_update.png.

    文件和目录列表已更新。

  10. 从列表中,打开文件夹 证书 在这个子文件夹中 出口.

  11. 在对话框的左半部分打开 主持人 证书将从控制器加载到的目录。

  12. 在对话框的右半部分,选择您已导出的证书并单击 _cds_button_double_arrow_left.png.

    证书将复制到所选文件夹。

  13. 使用文件资源管理器,转到复制证书的文件夹,然后双击证书。

    对话 证书 出现并显示有关此证书的信息。

  14. 在选项卡中单击 一般的 在按钮上 安装证书.

    证书导入向导 开始。

  15. 选择在 证书导入向导 在对话中 证书存储 选项 将所有证书放在以下存储中 并选择文件夹 控制器证书 出去。

    控制证书存储在 Windows Certificate Store 的文件夹中 控制器证书 已导入,现在可用于下载、在线更改和启动应用程序的加密。

  16. 打开 安全屏幕 双击按钮 _cds_icon_cyber_screen_grey.png 在状态栏中。

  17. 如果您希望项目的下载、在线更改和启动应用程序始终加密,请在选项卡中激活 用户 在那个地区 安全级别 选项 对下载、在线更改和启动应用程序实施加密.

  18. 打开选项卡 项目 并双击该区域 启动应用程序、下载和在线更改的加密 应用程序。

    出现应用程序的属性对话框。

  19. 点击 安全 选项卡,选择 使用证书加密 在里面 加密技术 列表框,然后单击 _cds_icon_cert_store_open.png.

    注意:如果 强制对下载、在线更改和启动应用程序进行加密 在上选择了适用于所有项目的选项 安全屏幕,那么 使用证书加密 已被选中。

  20. 证书选择 对话框中,从中选择相应的证书 控制器证书 文件夹,然后单击 _cds_icon_arrow_up.png 按钮。

  21. 确认对话框 .

    证书显示在属性对话框中。

  22. 确认应用程序的属性对话框。

    证书显示在 项目 的选项卡 安全屏幕启动应用程序的加密、下载和在线更改 组。

    启动应用程序、下载和在线更改都是加密的。

删除证书用于加密启动应用程序、下载和在线更改

先决条件:您有附加产品 CODESYS Security Agent 已安装。带有“加密应用程序”信息的证书已安装在您的计算机上。

  1. 在视图中双击 安全屏幕,选项卡 项目,在窗口的下半部分,单击应用程序的条目。

    对话 特性, 标签 加密 应用程序打开。

  2. 选择 加密技术使用证书加密.在字段中单击 证书_cds_icon_cert_store_open.png.

  3. 在对话中 证书选择 如上所述删除证书。

  4. 结束对话 证书选择.

    证书将出现在对话框中 特性 不再显示。

使用加密狗加密

重要

使用加密狗的加密不再被归类为安全加密方法。

建议改为使用证书加密。

要求:您有一个项目,其中包含要作为加密启动应用程序加载到控制器上的应用程序。许可证管理加密狗已插入您的计算机。

  1. 在设备树中选择应用程序。

  2. 在上下文菜单中选择命令 特性.

    对话 属性 - <应用程序名称> 出现。

  3. 点击 安全 标签。

  4. 选择在 加密技术 选项 简单加密 出去并给 产品代码 您从控制器的硬件制造商处收到的信息。根据控制器的不同,这可以通过加密狗(公司代码自动显示)或例如内置的 Wibu SD 卡进行保护。

  5. 点击 在线 → 登录 命令并下载应用程序。

    如果合适的加密狗和/或有效许可证可用,您可以将应用程序加载到控制器上。默认情况下,会在控制器目录中自动创建引导应用程序。此默认设置位于 特性 类别中的应用程序 启动应用程序 被定义。

  6. 再次注销,更改应用程序并再次登录。

    系统会询问您是否应进行在线更改。在查询对话框中,您还可以选择更新控制器上的启动应用程序。如果加密狗和许可证匹配,您可以登录,否则您将收到相应的消息。