如何创建可信发布者证书解决Revit插件未签名安全报错?
用Makecert.exe创建证书并解决Revit插件签名报错的步骤
1. 定位Makecert.exe工具
Makecert属于Windows SDK自带工具,默认路径类似:C:\Program Files (x86)\Windows Kits\10\bin\<SDK版本号>\x64
你可以直接在这个路径下打开命令提示符(CMD),或者把该路径添加到系统环境变量Path里,方便全局调用。
2. 创建自签名根证书
在CMD里执行以下命令,生成根证书和对应私钥:
makecert -n "CN=你的根证书名称(比如MyRevitRootCA)" -r -sv MyRootCA.pvk MyRootCA.cer
参数说明:
-n "CN=...":设置证书的通用名称,随便起个好记的就行-r:标记为自签名根证书-sv:同时生成私钥文件(.pvk)和证书文件(.cer)
执行后会弹出密码输入框,设置一个私钥密码,务必记住这个密码,后续步骤要用。
3. 创建代码签名证书
用刚才生成的根证书,签发一个专门用于插件签名的证书:
makecert -n "CN=你的插件签名证书名称(比如MyRevitPluginSigner)" -iv MyRootCA.pvk -ic MyRootCA.cer -sv MyPluginSigner.pvk MyPluginSigner.cer -sky signature -pe
参数说明:
-iv:指定根证书的私钥文件-ic:指定根证书的证书文件-sky signature:明确证书用途为代码签名-pe:标记私钥可导出,方便后续转换格式
执行时会先要求输入根证书的私钥密码(步骤2设置的),然后设置这个插件证书的私钥密码。
4. 转换证书为PFX格式
后续签名插件需要PFX格式的证书,用同路径下的pvk2pfx工具转换:
pvk2pfx -pvk MyPluginSigner.pvk -spc MyPluginSigner.cer -pfx MyPluginSigner.pfx -po 你的PFX密码
-po:设置PFX文件的密码,签名插件时会用到
5. 安装根证书到信任区
要让Revit认可这个证书,必须把根证书(MyRootCA.cer)安装到系统的受信任根证书颁发机构:
- 双击MyRootCA.cer文件,点击「安装证书」
- 选择「本地计算机」,点击「下一步」
- 选择「将所有证书放入下列存储」,点击「浏览」,选中「受信任的根证书颁发机构」
- 完成安装,确认系统提示即可。
6. 给Revit插件签名
用同路径下的signtool.exe给插件DLL签名:
signtool sign /f MyPluginSigner.pfx /p 你的PFX密码 /t http://timestamp.digicert.com "你的插件路径\YourPlugin.dll"
参数说明:
/f:指定PFX证书文件路径/p:输入PFX文件的密码/t:指定时间戳服务器,确保证书过期后签名依然有效(可选但推荐)
7. 验证签名有效性
执行以下命令确认插件签名成功:
signtool verify /pa "你的插件路径\YourPlugin.dll"
如果输出「成功验证」,就说明签名没问题了。
之后重启Revit,就不会再弹出「Security Unsigned Plugin」的错误提示。
内容的提问来源于stack exchange,提问作者oğuzhan kömcü
相关产品推荐
相关产品推荐

