【问题标题】:How does spaceship gets the #id value for .cer files from Apple Developer Portal?spaceship 如何从 Apple Developer Portal 获取 .cer 文件的 #id 值?
【发布时间】:2019-03-21 17:08:55
【问题描述】:

我有 .cer 证书,该证书是从我没有身份验证的客户端的 Apple Developer Portal 下载的。我正在运行 openssl x509 来读取 .cer,它没有显示任何与 #id 匹配的值( >.cer.p12 上传到 fastlane 托管 repo),但 Team IdTeam Name

请建议当我无法使用 Spaceship 获取证书时如何在本地获取 #id 值(它确实返回 #id登录宇宙飞船后的强>值)?

参考:

https://www.rubydoc.info/github/fastlane/spaceship/Spaceship/Certificate

【问题讨论】:

  • 为什么需要 .cer 文件的证书 ID?知道这可能有助于回答您的第二个问题。
  • 我认为stackoverflow.com/questions/55285747/… 应该是这里的回应。如果你想手动添加东西到你的match repo,你应该看看docs.fastlane.tools/advanced/other/… 老实说,我不确定你是否真的必须用证书 ID 来命名你的文件。
  • 哦,所以我可以加密和解密。我知道我不需要 id,因为无论如何匹配都不起作用,但我只是在尝试如果我提供正确的 ID 是否可以运行匹配
  • 我认为 ID 只是一个装饰物,因为它在创建私钥(通过 CSR)和下载证书时很方便。但我不确定这里。如果您需要更多信息,请联系github.com/fastlane/fastlane/issues
  • 是否匹配存储在 fastlane 存储库中但不在您的苹果开发者门户中的证书/配置文件?由于比赛或宇宙飞船需要登录苹果开发者门户来获取比赛的证书

标签: ios x509certificate fastlane apple-developer spaceship-operator


【解决方案1】:

我可以回答你的两个问题之一:

spaceship 如何从 Apple Developer Portal 获取 .cer 文件的 #id 值?

当 spaceship 创建证书时,它通过向 API 发送请求来实现: https://github.com/fastlane/fastlane/blob/75302f9f842fb1d7361dc1e769cdd7398022f4b4/spaceship/lib/spaceship/portal/certificate.rb#L309-L313

该 API 调用的响应用于创建一个对象(通过上面的 new),该对象还包括一个 id 属性: https://github.com/fastlane/fastlane/blob/75302f9f842fb1d7361dc1e769cdd7398022f4b4/spaceship/lib/spaceship/portal/certificate.rb#L214-L253

然后使用 id 定义写入证书的文件名(除非您手动定义 filename): https://github.com/fastlane/fastlane/blob/f32b007ff45e648b37b6c9c2037ac481f36b7780/cert/lib/cert/runner.rb#L191-L195

【讨论】:

  • 我正在尝试使用外部 .cer 并使用带有 ID 的脚本手动命名 .cer。我的计划是使用与 Fastlane 相同的存储库来存储来自外部客户端(不属于 Apple 门户)的外部证书和 .mobileprovision。我知道 match/sigh 不适用于未经门户验证的外部 cer,但在这些情况下,我将明确构建、签名和发布
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 2016-04-28
  • 2018-07-05
  • 2021-04-18
相关资源
最近更新 更多