You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下如何获取SPM集合签名所需的PEM编码私钥及DER编码证书路径

问题内容

我正尝试使用苹果的全新SPM Collection签名工具,但不清楚如何获取该工具要求的相关文件。
该工具的使用定义如下:

USAGE: package-collection-sign <input-path> <output-path> <private-key-path> [<cert-chain-paths> ...] [--verbose]

ARGUMENTS:
  <input-path>            待签名的包集合文件路径
  <output-path>           签名后的包集合文件输出路径
  <private-key-path>      证书对应的私钥文件路径,要求为PEM编码
  <cert-chain-paths>      证书链中所有证书的路径,要求为DER编码。签名所用的证书必须放在第一位,根证书放在最后一位

我明白input-path和output-path参数的含义,但不知道应该从哪里获取PEM编码的私钥以及DER编码的证书链文件,我在这一领域没有相关经验,如果有人能告知我如何获取或生成这些文件将不胜感激,谢谢。


解答

首先需要明确,该工具要求的证书必须来自苹果开发者账号体系,自签证书生成的签名不会被Xcode信任,你可以按以下步骤获取所需文件:

1. 生成PEM格式私钥

  • 打开Mac自带的「钥匙串访问」应用,在顶部菜单栏选择「钥匙串访问」-「证书助理」-「从证书颁发机构请求证书」
  • 填写开发者账号绑定的邮箱和自定义名称,勾选「存储到磁盘」,点击继续后将CSR文件保存到本地,此时钥匙串会自动生成对应的RSA私钥
  • 在钥匙串的「登录」分类-「密钥」栏目找到刚生成的私钥,右键选择「导出」,存储格式选.pem,设置密码后保存的文件就是你需要的private-key-path参数对应的文件

2. 获取DER格式签名证书

  • 登录苹果开发者后台的证书管理页,选择创建「Swift Package Collection Certificate」类型的证书,上传之前生成的CSR文件,提交后下载生成的.cer格式证书,该文件本身就是DER编码的,可直接使用
  • 若你已经有对应类型的证书,直接从钥匙串导出为.cer格式即可

3. 准备完整证书链

苹果的证书链默认包含三级,你需要按顺序整理路径:

  • 第一位:刚才获取的Swift Package Collection签名证书
  • 第二位:Apple Worldwide Developer Relations Certification Authority中级证书,可直接从钥匙串搜索导出为DER格式
  • 第三位:Apple Root CA根证书,同样导出为DER格式
  • 将三个文件的路径按上述顺序填入cert-chain-paths参数即可

你可以用以下命令校验文件格式是否合法:

  • 校验PEM私钥:openssl rsa -in 你的私钥路径.pem -check 无报错即为正常
  • 校验DER证书:openssl x509 -in 你的证书路径.cer -inform DER -noout -text 可正常输出证书信息即为正常

内容的提问来源于stack exchange,提问作者Ferdinand Rios

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:09:03