У меня есть самоподписанный корневой сертификат только с расширением для подписи кода (без других расширений) в моей цепочке для ключей 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 по получению подписи .)