我的 Mac 钥匙串中只有代码签名扩展(没有其他扩展)的自签名根证书;我用它来签署所有来自∞实验室的代码,使用 Apple 的代码设计工具,它工作得很好。
我正在寻求扩展自己并进行一些 Java 开发。我知道Apple提供了一个从钥匙串中读取的KeyStore实现,我可以列出我在'链中拥有的所有证书:
keytool -list -provider com.apple.crypto.provider.Apple -storetype KeychainStore -keystore NONE -v
但是,每当我尝试使用 jarsigner 来签署一个简单的测试 JAR 文件时,我都会得到:
$ jarsigner -keystore NONE -storetype KeychainStore -providerName Apple a.jar infinitelabs_codesigning_2
Enter Passphrase for keystore: <omitted>
jarsigner: Certificate chain not found for: infinitelabs_codesigning_2. infinitelabs_codesigning_2 must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
我究竟做错了什么?
(证书是按照Apple 获取签名身份的说明创建的。)