Macキーチェーンにコード署名拡張機能のみ(他の拡張機能はない)の自己署名ルート証明書があります。私はこれを使用して、Appleのcodesignツールを使用して∞labsから出てくるすべてのコードに署名します。これはうまく機能します。
私は自分自身を少し拡張して、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.
私は何が間違っているのですか?
(証明書は、署名IDを取得するためのAppleの指示に従って作成されました。)