通过 PLC 专用许可证管理及其在应用程序对象属性中的设置,可以实现启动应用程序的专有技术保护和复制保护。下载代码和启动程序可以加密和签名。
使用加密狗加密
要求:您有一个包含应用程序的项目,希望将其作为加密启动应用程序下载到控制器。用于许可证管理的安全密钥已连接到您的计算机。
-
在设备树中选择应用程序。
-
在右键菜单中选择“Properties” 命令。
将打开“Properties - <application name>” 对话框。
-
单击“Security” 选项卡。
-
对于“Encryption Technology” ,选择“Simple Encryption” 选项,然后键入“Product Code” (产品代码),该代码是从控制器硬件制造商处获得的。根据控制器的不同,可通过安全密钥(自动显示公司代码)或内置的 Wibu 存储卡等进行保护。
-
点击“在线 登录” 并下载申请表。
如果有匹配的安全密钥和/或有效许可证,则可以将应用程序下载到控制器。默认情况下,此时会在控制器目录下自动创建启动程序。默认设置在应用程序“Properties” 中定义,在“Boot Application” 类别中。
-
注销,更改应用程序,然后重新登录。
系统会提示您执行在线更改。该对话框提供更新 PLC 上启动应用程序的选项。如果安全密钥和许可证匹配,则可以登录。如果没有,则会收到相应的信息。
用证书加密
要求:您有一个包含应用程序的项目,希望将其作为加密启动应用程序下载到控制器。在计算机的 Windows 证书存储库中,有一个用于加密应用程序的控制器证书。请注意:如果要将应用程序下载到不同的控制器,则每个控制器都需要相应的证书。
-
在设备树中选择应用程序。
-
在右键菜单中选择“Properties” 命令。
将打开“Properties - <application name>” 对话框。
-
单击“Security” 选项卡。
-
在“Encryption Technology” 上,选择“Encryption with certificates” 选项。
“Certificates” 组已启用。
-
如果表中没有列出任何证书,请单击
按钮。
此时将打开“Certificate Selection” 对话框,用于从本地 Windows 证书存储库中选择证书。
-
在下部区域选择证书,点击
按钮将其添加到上部区域,点击“OK” 确认。
证书显示在 “Encryption” 对话框的 “Certificates” 组中。
-
选择证书,点击“Apply” 或“OK” 。
证书现在用于加密应用程序。它只能在 Windows 证书存储库中安装了相应密钥的计算机上传输到控制器。
仅使用证书对启动程序签名(不加密)
-
单击 CODESYS 状态栏中的
,打开“安全屏幕”视图。然后为“数字签名” 选择带有用户配置文件私钥的证书。操作步骤参见 "在用户配置文件中配置数字签名证书 "说明。
-
双击“用户”标签页中“数字签名”的证书。
“Certificate” 对话框将打开。
-
在“Details” 选项卡上,单击“Copy to file” 。
“证书导出向导” 启动。
-
在“Export Private Key” 提示符下,选择“No, do not export private key” 选项。
-
对于“Export File Format” ,选择“DER encoded binary X.509 (.CER)” 选项。
-
下一步,选择文件名和证书位置。
-
最后一步“Finish” 之后,会出现导出成功的信息。
-
成功导出至CODESYS 后,双击设备树中的控制器,打开设备编辑器,选择“Files” 标签进行文件传输。
-
在“运行时”对话框右侧选择“路径”
cert/import
。 -
在“Host” 对话框左侧,选择文件系统中保存导出证书的路径,并选择证书。
-
单击
。
证书被复制到
cert/import
文件夹。 -
单击“PLC Shell” 选项卡。
-
在选项卡的输入行中键入命令
cert-import trusted <file name of the certificate.cer>
,然后按[Enter] 键。请注意,指定的文件名扩展名为.cer
;否则证书无法成功导入。证书在
trusted
下的控制器上创建。有了这个证书,控制器就可以测试启动应用程序的完整性。 -
双击状态栏中的
,打开“安全屏幕”。
-
如果希望始终对项目的下载、在线更改和启动应用程序进行加密,则在 “User” 选项卡上的 “Security level” 组中选择 “Enforce signing of downloads, online changes and boot applications” 选项。为此,还必须选择“Enforce encryption of downloads, online changes and boot applications” 选项。
加密下载、在线更改和启动应用程序
要求:CODESYS Security Agent 附加产品已安装。
“安全屏幕” 视图提供了一个附加选项卡:“设备”.这样就可以为与控制器的加密通信配置证书。在这种情况下,请参见CODESYS Security Agent 的帮助。
替代品
如果CODESYS Security Agent 不可用,则可通过设备编辑器的 PLC 外壳执行以下操作:
要使用控制器上的证书对下载、在线更改和启动应用程序进行加密,首先必须在控制器上生成这些证书,然后从控制器加载并安装到 Windows 证书存储区。
要求:您已连接到控制器。
-
双击设备树中的控制器,打开设备编辑器,并选择“PLC Shell” 选项卡。
标签页出现空白显示窗口。下面是命令行。
-
在命令行中键入
?
,然后按[Enter] 键。所有命令都会在显示窗口中列出。
-
在命令行中键入以下命令:
cert-getapplist
。所有使用过的证书都列出了组件信息和证书可用性。
-
如果
CmpApp
组件没有证书,则键入命令cert-genselfsigned <Number of the Component in the applist>
。 -
单击“Log” 选项卡,然后单击刷新按钮 (
)。
显示屏会显示证书是否成功生成。
-
输入
cert-getcertlist
,然后按[Enter] 键。您自己的证书已列出,可用于加密。
Number
和Key usage(s)
的信息对下一步工作非常有用。Number
:该数字将在下一步中作为参数指定。Key usage(s): Data encryption
表示这是用于下载、在线更改和启动应用程序的控制器证书。 -
输入
cert-export own 0
命令,按[Enter] 键,导出所需证书。0
是证书的Number
,Key usage(s):
Data encryption
。显示屏显示证书已导出到
cert
目录。 -
单击设备编辑器的“Files” 选项卡。
-
单击 “Runtime” 对话框右侧的刷新按钮 (
) 。
刷新文件和目录列表。
-
打开列表中的“cert” 文件夹,然后打开“export” 子文件夹。
-
在“Host” 对话框左侧,打开加载控制器证书的目录。
-
在对话框右侧,选择已导出的证书,然后单击
。
证书被复制到所选目录。
-
在文件资源管理器中,进入复制证书的目录,双击证书。
“Certificate” 对话框将打开并显示有关此证书的信息。
-
在“常规” 选项卡上,单击“安装证书” 。
“证书导入向导” 启动。
-
在“Certificate Storage” 对话框中,对于“Certificate Import Wizard” ,选择“Store all certificates in the following store” 选项,然后选择“Controller Certificates” 文件夹。
控制器证书被导入“Controller Certificates” 文件夹中的 Windows 证书存储库。现在,证书可用于加密启动应用程序、下载和在线更改。
-
双击状态栏中的
,打开“安全屏幕”。
-
如果希望始终对项目的下载、在线更改和启动应用程序进行加密,则在 “User” 选项卡上的 “Security level” 组中选择 “Enforce encryption of downloads, online changes and boot applications” 选项。
-
打开“Project” 标签,双击“Encryption of boot application, download and online change” 区域中的应用程序。
打开应用程序的属性对话框。
-
单击 “Encryption” 选项卡,在 “Encryption technology” 列表框中选择 “Encryption with certificates” ,然后单击
。
如果在 “Security Screen” 中选择了 “Enforce encryption of downloads, online changes and boot applications” 选项,则 “Encryption with certificates” 已被选中。
-
在“Certificate Selection” 对话框中,从“Controller Certificates” 文件夹中选择相应的证书,然后单击
。
-
单击“OK” 确认对话框。
证书将显示在属性对话框中。
-
确认应用程序的属性对话框。
证书显示在“安全屏幕”的“项目”选项卡上,在“加密启动应用程序、下载和在线更改”组中。
启动应用程序、下载和在线更改都是加密的。
另见
-
CODESYS Security Agent 附加产品帮助
删除用于加密启动应用程序、下载和在线更改的证书
要求:CODESYS Security Agent 附加产品已安装。您的计算机上已经安装了带有 "加密应用程序 "信息的证书。
-
在“安全屏幕” 视图中,在底部视图的“Project” 选项卡上,单击应用程序条目。
打开应用程序的“Properties” 对话框,其中有“Encryption” 选项卡。
-
“加密技术” ,选择“使用证书加密” 。在“Certificates” 组中,单击
。
-
在“Certificate Selection” 对话框中,按上述方法删除证书。
-
单击“OK” 关闭“Certificate Selection” 对话框。
“Properties” 对话框中不再显示证书。
另见
-
CODESYS Security Agent 附加产品帮助