У меня есть самозаверяющий корневой сертификат только с расширением подписи кода (никаких других расширений) в моей ключевой цепочке Mac; Я использую его, чтобы подписать весь код, выходящий из ∞labs, с помощью инструментария Apple codesign, и он отлично работает.
Я хотел немного расширить себя и сделать некоторые разработки Java. Я знаю, что Apple предоставляет реализацию KeyStore, которая читает из Keychain, и я могу перечислить все сертификаты, которые у меня есть в цепочке:
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 для получения идентификатора подписи.)