如何为draw.io桌面版配置EV证书:确保数字签名安全的完整指南

如何为draw.io桌面版配置EV证书:确保数字签名安全的完整指南

【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop

draw.io桌面版作为一款功能强大的图表绘制工具,其数字签名的安全性直接关系到用户的使用体验和系统安全。本文将详细介绍如何为draw.io桌面版配置EV证书,通过完整的步骤指南,帮助开发者确保应用程序的数字签名安全,提升用户信任度。

一、了解EV证书与代码签名的重要性

在软件发布过程中,代码签名是保障应用程序完整性和来源可信度的关键步骤。对于draw.io桌面版而言,主要有两种类型的代码签名证书:EV Code Signing Certificate(扩展验证代码签名证书)和普通的Code Signing Certificate。

EV证书相比普通证书具有更高的安全性,它通常绑定到物理USB加密狗,能立即建立软件 publisher 的身份,减少用户在安装时看到的安全警告。而普通证书虽然成本较低,但在初始阶段可能会显示警告,直到积累足够的用户信任后才会消失。

图:draw.io桌面版主界面,用户可通过该界面创建各种图表

二、准备工作:获取必要的证书

2.1 Windows系统证书获取

Windows系统下,你需要获取专门的代码签名证书。微软官方提供了详细的获取代码签名证书指南,你也可以通过像cheapsslsecurity这样的平台获取合适的证书。

需要注意的是,SSL证书不能用于应用程序签名,必须使用专门的代码签名证书。

2.2 macOS系统证书获取

macOS构建需要苹果颁发的Developer ID证书,你必须成为Apple Developer Program的成员才能获得。

三、配置CI环境变量

为了在CI环境中实现自动构建和签名,需要配置以下环境变量:

  • GH_TOKEN:用于GitHub发布的令牌
  • CSC_LINK:转换为base64编码字符串的证书,或指向证书(.p12或.pfx文件)的URL
  • CSC_KEY_PASSWORD:用于解密CSC_LINK中给定证书的密码

3.1 Travis CI配置(OSX和Linux安装程序)

在Travis CI的相关仓库页面,通过"More options" > "Settings"定义上述环境变量。

3.2 AppVeyor CI配置(Windows NSIS安装程序)

在AppVeyor的SETTINGS > Environment > Environment variables中添加上述变量。

四、证书的导出与编码

4.1 macOS证书导出步骤

  1. 打开Keychain(钥匙串访问)
  2. 选择"login"钥匙串和"My Certificates"类别
  3. 选择所需的证书(可按住cmd键选择多个):
    • "Developer ID Application:" 用于为macOS签名应用
    • "3rd Party Mac Developer Application:" 和 "3rd Party Mac Developer Installer:" 用于为Mac App Store签名应用
    • "Developer ID Application:" 和 "Developer ID Installer" 用于为Mac App Store外部分发的应用和安装程序签名
  4. 打开上下文菜单并选择"Export"(导出)

4.2 证书编码为base64

在macOS或Linux系统上,使用以下命令将证书文件编码为base64:

base64 -i yourFile.p12 -o envValue.txt

五、特别注意事项

5.1 EV证书在CI中的限制

需要注意的是,EV Certificate不能在CI环境中使用,因为它绑定到物理USB加密狗。CI环境只能使用常规的Code Signing Certificate。

5.2 依赖项管理

draw.io/war/package.json中的"dependencies"会被打包到安装程序中,因此请将不相关的依赖项放入"devDependencies",这些将被构建工具忽略。例如:

"devDependencies": { "electron": "^1.6.3" // 不需要将electron作为依赖打包到electron应用中 }

通过以上步骤,你可以为draw.io桌面版正确配置EV证书或常规代码签名证书,确保应用程序的安全性和可信度。详细的开发指南可以参考项目中的DEVELOPMENT.md文件,其中包含了更多关于构建和发布的信息。

【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考