2010-12-06 14 views
36

Estoy configurando el servidor de compilación automático para el proyecto de aplicación de iOS. He hecho la mayor parte. Ahora, es la ronda final. La seguridad.¿Cómo instalar el certificado de desarrollador/clave privada y el perfil de aprovisionamiento para el desarrollo de iOS a través de la línea de comandos?

El certificado de desarrollador/clave privada y el perfil de aprovisionamiento pueden instalarse fácilmente en Keychain con GUI. Pero quiero hacer esto a través de la línea de comando para automatizar incluso el proceso de configuración. Exportación/importación de certificados, claves privadas, perfiles de aprovisionamiento a través de la línea de comandos.

Cualquier recomendación será muy apreciada.

+4

¿Alguna vez encontró una forma de instalar un perfil de aprovisionamiento? Tengo el bit del certificado clavado pero el otro bit me elude aún ... – jkp

Respuesta

15

me encontró indicios de: http://lists.apple.com/archives/apple-cdsa/2010/Mar/msg00021.html

El comando es security. Estoy leyendo la página del manual. Voy a actualizar esta respuesta más tarde después de un juicio :)

- (edit) -

En primer lugar, tenemos que dar 'Permitir siempre' el acceso a los certificados/llaves en el llavero manualmente una vez. No sé cómo hacer esto sin GUI.

Y ejecute el comando security unlock-keychain antes de ejecutar la herramienta de compilación para cada sesión. He usado SSH, así que tuve que ejecutarlo una vez por cada sesión de inicio de sesión.

+5

Para otorgar acceso 'Permitir siempre', use el interruptor -A en 'importación de seguridad' cuando agregue los certificados y las claves. – Luke

+1

La opción -A no se recomienda, ya que permite que cualquier aplicación use estos certificados. Para ser más seguro, use la opción '-T/usr/bin/codesign' descrita anteriormente. Esto permitirá aplicaciones específicas. Ver 'security import --help' para otras opciones. – atreat

46

La GUI de permitir siempre se activa debido a que no se le ha asignado un acl para acceder a su clave privada. intente esto:

security unlock-keychain -p <my keychain password> 
security import Certificate.p12 -k ~/Library/Keychains/login.keychain -P password -T /usr/bin/codesign 

La bandera -T dice de seguridad para permitir codesign para tener acceso a las claves que va a importar en Certificate.p12.

+6

Sí, esto es lo que estaba buscando también. Me gustaría señalar que me encontré con el mensaje de error 'security: SecKeychainItemImport: la interacción del usuario no está permitida'. al intentar ejecutar el comando anterior. Olvidé desbloquear mi llavero. Doh! Ejecutar 'security unlock-keychain' lo hizo funcionar como un encanto. – awolf

+0

Esto funciona como se esperaba, pero necesito un poco más ... Mi certificado + par de claves NO es la cosa original de Apple, sino un certificado autofirmado que creamos para nuestros desarrolladores internos (no queremos que tengan nuestro verdadero clave privada en sus máquinas). Ahora aquí también necesito configurar KeyChain para confiar siempre en el certificado. Sé cómo hacerlo en GUY, y también sé cómo agregar (importar + confiar) un certificado confiable a través de: security add-trusted-cert -k /Library/Keychains/System.keychain -d XXXX.cer - - Sin embargo, ese comando no funciona con archivos .p12. ¿Alguna idea de cómo puedo hacer esto? –

+0

Actualización: a partir de maOS Sierra, probablemente debería seguir el flujo de Ilian Iliev aquí: http://stackoverflow.com/questions/39868578/security-codesign-in-sierra-keychain-ignores-access-control-settings- y-ui-p – ablarg

Cuestiones relacionadas