2012-07-13 21 views
7

Tengo un certificado en un llavero que contiene una clave privada. Me gustaría agregar una aplicación a la "lista blanca" de control de acceso para esa clave. Sé cómo hacer esto usando la herramienta gráfica de la cadena de claves, pero me gustaría hacerlo a través de la línea de comandos como parte de una secuencia de comandos de construcción de Xcode.¿modificar el control de acceso por aplicación para la clave privada a través de la línea de comandos?

Según lo que puedo decir, el comando de "seguridad" es la forma de manipular llaveros en la línea de comandos, pero no puedo deducir de la página del manual cómo realizar esta tarea.

Para completar, esto es exactamente lo que hago en la herramienta llavero que me gustaría hacer a través de la línea de comandos:

  1. Haga clic en el certificado para mostrar su clave privada.
  2. Haga clic con el botón derecho en la clave privada y seleccione la opción de menú "Obtener información".
  3. Haga clic en la pestaña "Control de acceso".
  4. Haga clic en el botón "+" para agregar una aplicación a la lista blanca.
  5. Seleccione la aplicación (en mi caso Xcode) y haga clic en "Agregar".

También podría estar interesado en cómo permitir el acceso a todas las aplicaciones.

Respuesta

4

No creo que haya ninguna forma de security de hacer esto después de la clave fue importada. Sin embargo, si va a importar la clave por primera vez, se puede utilizar la bandera -T:

-T Specify an application which may access the imported key 
    (multiple -T options are allowed) 

Así que en mi caso yo era capaz de hacer esto:

security import my.key -P mypassword -T /usr/bin/pkgbuild 

y todo funcionaba!

0

Negación

Soy honesto, esto probablemente no es el mejor lugar para publicar esto ... pero había tropezado con esta (y otras) las entradas con más o menos el mismo problema. Vea también https://stackoverflow.com/a/34388302/359100. Pero desde que encontré una solución que podría ayudar a otras personas que intentan cambiar el control de acceso para clave privada en Keychain mediante sesión remota, mi solución podría ayudar ...

B/c para mí la importación a través de CLI trabajo () usando -T o -A). Siempre obtuve ese pop con respecto al acceso de Keychain.

Por cierto: Si conoces una mejor respuesta siempre y cuando esto pertenece ... por favor hágamelo saber o moverlo allí ...

Solución

Crear un llavero en su máquina local . P.ej. nombrelo apple-development [.keychain]. Agregue allí sus claves privadas y asigne el control de acceso necesario (mejor: "Permitir todo ..."). Ahora copie ese llavero a su Mac remota y agréguela allí a través de la aplicación Keychain (Archivo/Añadir llavero ...). Para CI quizás haga algo como esto:

security unlock-keychain -p YOUR-KEYCHAIN-PASSWORD "${HOME}/apple-development.keychain" 
Cuestiones relacionadas