Tengo un certificado raíz autofirmado con solo la extensión de firma de código (sin otras extensiones) en mi llavero Mac; Lo uso para firmar todo el código que sale de ∞labs usando la herramienta de señalización de Apple y funciona muy bien.¿Cómo firmo un applet de Java usando un certificado en mi llavero Mac?
Estaba buscando expandirme un poco y hacer un poco de desarrollo Java. Sé que Apple proporciona una implementación de KeyStore que lee desde el llavero, y puedo enumerar todos los certificados que tengo en la 'cadena con:
keytool -list -provider com.apple.crypto.provider.Apple -storetype KeychainStore -keystore NONE -v
Sin embargo, cada vez que intento utilizar jarsigner para firmar un archivo JAR prueba simple, Termino con:
$ 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.
¿Qué estoy haciendo mal?
(El certificado se creó tras Apple's instructions for obtaining a signing identity.)
El alias de la entrada del almacén de claves es correcto, si es el que muestra el primer comando keytool -list y no es algo más de lo que no tengo conocimiento. – millenomi