处理客户端和服务器证书仅当 OPC UA 服务器可向 OPC UA 客户端证明身份时,才能建立服务器与客户端之间的安全连接。服务器证书可用于证实身份。OPC UA 服务器的证书激活 OPC UA 服务器并确认安全提示后,STEP 7 会自动为服务器生成证书,并将其保存在 CPU的局部证书目录中。可以使用 CPU 的局部证书管理器查看并管理此目录(导出或删除证书)。下图所示为包含 OPC UA 服务器自动生成的证书的 CPU 局部证书管理器:图 11-26 CPU 的本地证书管理器或者,您还可以自行生成服务器证书。在建立连接时,服务器证书将从服务器传送到客户端。客户端将检查该证书。客户端用户将确定是否信任该服务器证书。此时,客户端用户需确定是否信任该服务器证书。如果信任该服务器证书,则客户端将服务器证书存储在包含可信服务器证书的目录中。在以下示例中,显示了客户端 "UA Sample Client" 的对话框。如果用户单击“是”(Yes) 按钮,则客户端将信任此服务器证书:图 11-27 “UA Sample Client”客户端的对话框205OPC UA 通信11.3 将 S7-1500 用作 OPC UA 服务器通信功能手册, 11/2023, A5E03735819-AL客户端证书来自哪里?S7-1500 的客户端如果使用 S7-1500 CPU 的 OPC UA 客户端(已启用 OPC UA 客户端),可使用 STEP 7 V15 及更高版本为这些客户端创建证书。1. 在项目树中,选择将用作客户端的 CPU。2. 双击“设备组态”(Device configuration)。3. 在该 CPU 的属性中,单击“保护和安全 > 证书管理器”(Protection & Security > Certificatemanager)。4. 在“设备证书”(Device certificates) 表格中,双击“<新增>”(<Add new>)。在 STEP 7 中,将打开一个对话框。5. 单击“添加”(Add) 按钮。6. 从“使用”(Usage) 列表选择“OPC UA 客户端”(OPC UA client) 条目。注:必须在“主题备用名称 (SAN)”(Subject Alternative Name (SAN)) 中输入用于访问系统中 CPU的 IP 地址。因此,在生成客户端证书之前,需要对 CPU 的 IP 接口进行组态。7. 单击“确定”(OK)。此时,STEP 7 将在“设备证书”(Device certificates) 表格中显示该客户端证书。8. 右键单击该行,并在快捷菜单中选择“导出证书”(Export certificate) 条目。9. 选择该客户端证书的目标存储目录。其它制造商的客户端如果使用来自制造商或 OPC 基金会的 UA 客户端,则会在安装期间或在首次调用程序时自动生成客户端证书。需要在 STEP 7 中通过全局证书管理器导入这些证书,并将其用于相应的CPU(如前文所示)。用户自己编程 OPC UA 客户端时,可生成相应的证书;请参见“客户端的实例证书”部分。也可通过工具生成证书(如,使用 OpenSSL 或 OPC 基金会的证书生成器):• 使用 OpenSSL 时的操作步骤:“用户自己生成 PKI 密钥对和证书”。• 使用 OPC 基金会的证书生成器时:“创建自签名的证书”。向服务器宣布客户端证书您需要向服务器发送客户端证书,以允许建立安全连接。为此,请执行以下操作步骤:1. 在服务器的本地证书管理器中,选择“使用证书管理器的全局安全设置”(Use global securitysettings for certificate manager) 选项。这将激活全局证书管理器。可以在用作服务器的 CPU 的特性“保护和安全 > 证书管理器”(Protection & Security >Certificate manager) 下找到此选项。如果项目未受保护,请在 STEP 7 的项目树中选择“安全设置 > 设置”(Security settings >Settings),然后单击“保护此项目”(Protect this project) 按钮并登录。“全局安全设置”(Global security settings) 菜单项随即显示在 STEP 7 项目树的“安全设置”(Security setting) 下。2. 双击“全局安全设置”(Global security settings)。3. 双击“证书管理器”(Certificate manager)。STEP 7 将打开全局证书管理器。4. 单击“受信任证书”(Trusted certificates) 选项卡。206通信功能手册, 11/2023, A5E03735819-ALOPC UA 通信11.3 将 S7-1500 用作 OPC UA 服务器5. 在此选项卡的空白区域(而非证书上)中,右键单击鼠标。6. 选择快捷菜单中的“导入”(Import) 命令。将显示用于导入证书的对话框。7. 选择服务器信任的客户端证书。8. 单击“打开”(Open),导入证书。客户端证书现已包含在全局证书管理器中。请留意刚刚导入的客户端证书 ID。9. 单击用作服务器的 CPU 的特性中的“常规”(General) 选项卡。10.单击“OPC UA > 服务器 > 安全 > 安全通道”(OPC UA > Server > Security > Secure Channel)。11.在“安全通道”(Secure Channel) 对话框中向下滚动至“受信客户端”(Trusted clients) 部分。12.双击表中空行的“<新增>”(<add new>)。随即会在该行中显示浏览按钮。13.单击该按钮。14.选择已导入的客户端证书。15.单击带有绿色复选标记的按钮。16.编译项目。17.将组态加载到 S7-1500 CPU。结果:服务器现已信任此客户端。如果还将服务器证书视为受信证书,则服务器和客户端之间可建立安全连接。自动接受客户端证书如果选择选项“运行时自动接受所有客户端证书”(Automatically accept all client certificatesduring runtime)(位于“受信客户端”(Trusted clients) 列表下),则服务器会自动接受所有客户端证书。注意调试后的设置为了避免安全风险,在调试后,需再次取消选中“运行过程中自动接受客户端证书”(Automatically accept client certificates during runtime) 选项。组态服务器的安全设置下图显示了适合对消息进行签名和加密的服务器安全设置。图 11-28 组态服务器的安全设置默认情况下,服务器证书创建时使用 SHA256 签名。并启用以下安全策略:• 无不安全端点说明禁用不需要的安全策略如果在 S7-1500 OPC UA 服务器的安全通道设置中启用了所有安全策略(默认设置),即采用端点“无”(None)(不安全),则服务器和客户端之间还可能存在非安全数据通信(既未签名也未加密)。由于选择“不安全”(No security),客户端的身份仍然未知。无论后续为哪种安全设置,每个 OPC UA 客户端随后都可以连接到服务器。组态 OPC UA 服务器时,请确保只选择与您的设备或工厂的安全概念兼容的安全策略。应禁用所有其它安全策略。建议:如果可能,请使用“Basic256Sha256”设置。• Basic128Rsa15 - 签名不安全端点,支持一系列使用哈希算法 RSA15 和 128 位加密的算法。该端点通过签名确保数据的完整性。• Basic128Rsa15 - 签名和加密安全端点,支持一系列使用哈希算法 RSA15 和 128 位加密的算法。该端点通过签名和加密确保数据的完整性。• Basic256Rsa15 - 签名安全端点,支持一系列使用哈希算法 RSA15 和 256 位加密的算法。该端点通过签名确保数据的完整性。• Basic256Rsa15 - 签名和加密安全端点,支持一系列使用哈希算法 RSA15 和 256 位加密的算法。该端点通过签名和加密确保数据的完整性。• Basic256Sha256 - 签名端点进行安全连接,支持一系列 256 位哈希和 256 位加密算法。该端点通过签名确保数据的完整性。208通信功能手册, 11/2023, A5E03735819-ALOPC UA 通信11.3 将 S7-1500 用作 OPC UA 服务器• Basic256Sha256 - 签名和加密安全端点,支持一系列 256 位哈希和 256 位加密算法。该端点将通过签名与加密机制确保数据的完整性和保密性。• Aes256_Sha256_RsaPss - 签名端点进行安全连接,支持一系列 256 位加密和 256 位哈希算法。所有证书必须至少使用Sha256 签名。该端点通过签名来保护数据的完整性。对于较高的安全性要求。需要 PKI 基础结构。• Aes256_Sha256_RsaPss - 签名和加密端点进行安全连接,支持一系列 256 位加密和 256 位哈希算法。所有证书必须至少使用Sha256 签名。该端点通过签名和加密来保护数据的完整性和机密性。对于较高的安全性要求。需要 PKI 基础结构。要启用安全设置,请单击相关行的复选框。说明如果设置为“Basic256Sha256 - 签名”(Basic256Sha256 -Sign) 和“Basic256Sha256 - 签名并加密”(Basic256Sha256 -Sign & Encrypt),则 OPC UA 服务器和 OPC UA 客户端必须使用“SHA256”签名的证书。对于“Basic256Sha256-签名”(Basic256Sha256 -Sign) 和“Basic256Sha256-签名并加密”(Basic256Sha256 -Sign & Encrypt) 设置,STEP 7 中的证书颁发机构将使用“SHA256”自动对证书进行签名。“不安全”安全策略和通过用户名和密码进行身份验证可执行以下组合设置:“不安全”安全策略和通过用户名和密码进行身份验证• S7-1500 的 OPC UA 服务器支持该组合设置。OPC UA 客户端可连接并加密认证数据,反之亦然。• S7-1500 CPU 的 OPC UA 客户端也支持该组合设置:但在运行时,仅当通过电缆发送加密的认证数据时才能连接! 使用 STEP 7 生成服务器证书在下文中,将介绍使用 STEP 7生成新证书的操作过程,以及各种证书的不同应用方式。STEP 7 将基于启动以下对话框时的CPU 属性区域,设置应用目标。在本示例中,为“OPC UA 客户端和服务器”(OPC UA Client &Server)。建议:要使用 OPC UA 服务器的所有安全功能,则需使用全局安全设置。在 CPU 特性的“保护和安全 > 证书管理器”(Protection & Security > Certificate manager) 下启用全局安全设置。用户自定义的服务器证书如果您激活 S7-1500 的 OPC UA 服务器,则 STEP 7 会自动为该服务器生成证书(请参见“激活OPC UA 服务器 (页 198)”)。在该过程中,STEP 7 使用证书参数的默认值。如果要更改参数,请按照以下步骤进行操作:1. 单击 CPU 属性中“常规 > OPC UA > 服务器 > 安全 > 安全通道 > 服务器证书”(General > OPCUA > Server > Security > Secure channel > Server certificate) 下的“浏览”(Browse) 按钮。随即会显示一个对话框,用于显示局部可用的证书。2. 单击“添加”(Add) 按钮。3. 将显示用于生成新证书的对话框(如下图所示)。