<< 点击显示目录 >> 主页 mappServices帮助手册 > mapp Recipe:配方管理 > 使用案例 > 用外部工具创建一个签名的配方 |
mapp Services V5.16
带有机器数据的配方是由机器制造商创建的。机器制造商希望防止终端客户修改机器数据并可能损坏机器。出于这个原因,配方应该与机器数据一起签名。
组件列表
▪MpRecipeXml (自有MpLink):保存和加载配方文件。
▪MpRecipeRegPar (来自MpRecipeXml的MpLink):注册过程变量(PVs)。整个结构体也可以被注册。
MpRecipe配置允许指定一个密码来签署配方数据。
如果现在加载一个配方,将检查其内容和定义的密码,以确定该配方是否包含有效数据。
配方是在外部创建的。
如果使用FTP客户端程序(如FileZilla)从控制器下载配方,必须遵守以下规定。
该文件必须以二进制格式传输。这样可以确保所需文件的二进制文件被正确传输。这是创建有效签名的唯一方法。
然后必须生成签名并保存在第二个文件中。该签名是一个 基于 SHA256的 HMAC 值。这个签名可以按以下方式生成。
在我们的用例中,签名是用 HashCalc工具生成的 。
▪输入口令。
•为了生成 SHA256 值,选择 "SHA256 "并按 "计算"。
•计算出的 SHA256 值就会显示在这里。
•选择HMAC密钥。
首先, SHA256 值被复制。然后选择HMAC,将密钥添加为 "十六进制字符串"。
•选择配方文件。
现在指定配方文件。选择数据格式 "文件",然后选择配方文件。
选择文件后,点击 "计算"。
•签名就会显示在这里:
这个值会被保存在一个新的文件中。该文件必须与配方文件的名称相同,但文件扩展名为.mprecipesgn(例如:Recipe1.xml.mprecipesgn)。
该文件的结构必须像这样, 在 "值 "下输入先前生成的 SHA256 值。
如果配方文件和签名文件具有相同的名称,并且保存在相同的数据存储设备上(用 "DeviceName "定义),并且在 配置中启用了签名选项 ,那么MpRecipe将在加载文件时检查签名。如果配方文件没有被改变,那么检查将是成功的。否则,将显示一个错误。