基于 AutoCAD 的程序使用数字签名来验证自定义程序文件是否可以安全载入。可以对带有 ARX、CRX、DBX 或 DLL 文件扩展名的二进制(ObjectARX 和 Managed .NET)文件进行数字签名。此外,为部署自定义程序而创建的 MSI 文件可以并且也应该进行数字签名。
注: 需要使用 Microsoft 提供的签名工具 (SignTool.exe),才能将数字签名附着到二进制文件。必须从 Microsoft 网站 (https://docs.microsoft.com/zh-cn/windows/apps/desktop/) 下载并安装最新版本的 Windows SDK 来使用签名工具。除了签名工具,还需要获取数字证书。数字证书通常从供应商(例如,Symantec ™
和 DigiCert ®
)处获取,但也可以创建自己的数字证书,用于在公司内部分发应用程序。
下面是使用“SignTool.exe”工具对二进制文件进行签名的样例:
"C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f MyCert.pfx /p MyPassword /t http://timestamp.verisign.com/scripts/timstamp.dll "c:\Autodesk\AdskUtil.arx"
- "C:\Program Files (x86)\Windows Kits\<version>\bin\x64\MakeCert.exe" - 指定“SignTool.exe”工具的位置。
- sign - 指示将对二进制文件进行签名。
- /f MyCert.pfx - 指定将用于对文件进行签名的 PFX 文件的位置。在本例中,该文件名为“MyCert.pfx”。
- /p MyPassword - 指定分配给 PFX 文件的密码。在本例中,密码为“MyPassword”。
- /t http://timestamp.verisign.com/scripts/timstamp.dll - 指定时间戳服务器的 URL。服务器上的文件必须已经过数字签名。在本例中,用于时间戳的服务器和文件为“http://timestamp.verisign.com/scripts/timstamp.dll”。
- "c:\Autodesk\AdskUtil.arx" - 指定要进行签名的文件。在本例中,将进行签名的文件为位于 c:\Autodesk 文件夹中的 AdskUtil.arx。
要对二进制文件进行签名,请执行以下操作:
- 依次单击 Windows“开始”按钮
“Windows 系统”
“命令提示”。
- 在 Windows 命令提示窗口中,键入“cd %userprofile%\Documents”,然后按 Enter 键以将“Documents”文件夹设置为当前工作文件夹。要使用其他工作文件夹,请改为指定该位置。
- 键入“SignTool.exe”的位置和应执行的参数。
只要文件没有标记为只读或位于只读位置,对文件进行签名应该会成功。
- 根据签名的文件类型,执行下列操作之一:
- 将新签名的文件加载到基于 AutoCAD 的程序中并验证数字签名是否可识别。
- 确认新签名的 MSI 文件已在 Windows 文件资源管理器中进行数字签名,然后测试该文件以确保其按预期运行。
注: 数字证书必须位于受信任的根证书存储中,以便基于 AutoCAD 的程序验证签名。