MAC APP 签名证书查看

背景:

前一阵子,在xcode的证书管理中心,测试了一下新建证书的功能,想看看在apple 开发者账户产生证书的流程,结果由于网络延迟问题,apple开发者账户刷新未看到,连着新建了几个证书,在某次刷新之后发现,早已生成了好几个,我这个强迫症啊,想找办法删掉,最终没找到方法删掉,只有过期的证书才能删除掉, 后来我只能在本地删掉了一些没用证书的;可是最近在打包新版本APP,发现APP原有的自动升级在签名验证的时候报错:

code signature at url xxx did not pass validation:code failed to satisfy specified code requirements

于是查找签名问题,首先要做的就是对比前后两次签名是否一致,在此做一个记录方便后来人,用到的工具是:codesign, 具体命令如下:

举个例子,查看APP签名信息:

>% codesign -d -vv  "/Applications/Xcode.app"                                                                                                                                <develop ✗>
Executable=/Applications/Xcode.app/Contents/MacOS/Xcode
Identifier=com.apple.dt.Xcode
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20200 size=725 flags=0x2000(library-validation) hashes=15+5 location=embedded
Signature size=4698
Authority=Apple Mac OS Application Signing
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Info.plist entries=44
TeamIdentifier=APPLECOMPUTER
Sealed Resources version=2 rules=13 files=466812
Internal requirements count=1 size=224

当然,你想看更详细的签名西溪可以 “-vvvv”, "v"越多越详细,当然也是有限度的,具体参数详解,可以查阅命令: codesign 

接下来就是查看 Application 证书信息了, 需要用到参数“ --extract-certificates ”, 如下:

% codesign -d -vvv --extract-certificates "/Applications/Xcode.app"                                                                                                         <develop ✗>
Executable=/Applications/Xcode.app/Contents/MacOS/Xcode
Identifier=com.apple.dt.Xcode
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20200 size=725 flags=0x2000(library-validation) hashes=15+5 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=004dce7c24fd6c4c8a0866ddcb3603027f8a891f
CandidateCDHashFull sha1=004dce7c24fd6c4c8a0866ddcb3603027f8a891f
CandidateCDHash sha256=2db4cab95fc0caba9def3e37e92a81c02d0ffb62
CandidateCDHashFull sha256=2db4cab95fc0caba9def3e37e92a81c02d0ffb626025455155f316ebb34fb71b
Hash choices=sha1,sha256
CMSDigest=04d06f85c09f677e35ccb0633d7ac293e4f6b3846f8231df4e7ad04a87478bf8
CMSDigestType=2
CDHash=2db4cab95fc0caba9def3e37e92a81c02d0ffb62
Signature size=4698
Authority=Apple Mac OS Application Signing
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Info.plist entries=44
TeamIdentifier=APPLECOMPUTER
Sealed Resources version=2 rules=13 files=466812
Internal requirements count=1 size=224

 此时,你会发现当前目录下产生了 codesign* 文件,接下来就是查看证书信息了,需要用到常用又冷门命令“almanage”,如下:

% qlmanage -c public.x509-certificate -p codesign*

该命令是Quick Look, 是不是既熟悉又陌生。。。

通过以上命令,可以快速查看APP 所用的签名信息和签名证书信息;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron是一个能够使用JavaScript、HTML和CSS开发跨平台应用程序的框架。在Mac上,为了保证应用程序的安全性和完整性,我们可以对Electron应用进行签名。 首先,我们需要一个Mac开发者账号,这将允许我们在Mac上创建证书签名应用程序。在获得开发者账号后,我们需要创建一个开发者证书。这个证书将用于将我们的应用程序与我们的开发者账号绑定,确保应用的合法性和来源可信。 接下来,我们需要在Electron应用程序的构建过程中使用这个开发者证书进行签名。在终端中,我们可以使用命令`codesign`来为应用程序进行签名。首先,我们需要使用私钥文件和证书文件创建一个标识。然后,我们可以使用`codesign`命令为我们的应用程序进行签名。 最后,我们需要使用苹果公司的开发工具xcrun altool将应用程序上传到Mac App Store进行审查和分发。在上传过程中,我们需要提供应用程序的签名信息和开发者账号信息。 通过对Electron应用进行签名,我们可以增加应用程序的可信度和安全性。签名可以验证应用的来源,并确保没有被篡改或损坏。此外,苹果公司对签名应用有更高的信任,这将使得应用能够更容易地通过App Store的审核和分发。 总结来说,通过获取开发者账号、创建开发者证书、使用`codesign`工具进行签名,以及使用xcrun altool上传应用程序,我们可以将Electron应用程序安全签名并分发到Mac平台上。签名能够增加应用的可信度和安全性,并为开发者提供更好的分发渠道。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值