Firmado de código devuelve error desconocido -1=ffffffffffffffff

Traté de firmar el código de una aplicación de iOS,
Estos son los pasos que he seguido

    security create-keychain -p password ${KEYCHAIN}
    security set-keychain-settings -u -t 300 ${KEYCHAIN}
    security list-keychains -d user -s login.keychain ${KEYCHAIN}
    security import "$1" -k ${KEYCHAIN} -A -P "${PASSPHRASE}" -A >/dev/null
    security unlock-keychain -p password ${KEYCHAIN}

    /usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app

Este me devolvió firmado de código devuelve error desconocido -1=ffffffffffffffff a través de ssh.

Si puedo ejecutar directamente el código de la señal de comando en la máquina, es el éxito de la firma.

El problema es sólo en Mac OS Sierra.

8 Kommentare

  1. 21

    Tenido el mismo problema hace un tiempo, la adición de

    security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k password ${KEYCHAIN}

    resuelto para mí.

    • ¿puede por favor explicar qué es el problema ? ¿y cómo es que esta pieza de código solucionado ?
    • A partir de mi investigación en el momento en que pensé que el problema está relacionado con llavero permisos, y eso es lo que este comando corrige: se le indica al sistema que el llavero en cuestión es adecuado para la firma de código.
    • Abrí un github problema con fastlane en el tiempo, github.com/fastlane/fastlane/issues/8797 – tal vez algunos de la información a través de la ayuda, incluso si usted no está ejecutando fastlane.
    • Gracias por la info, pero ninguno de ellos me ayudó, Desde la máquina local es capaz de firmar correctamente, pero a través de ssh es tirar de mí este error
    • Gracias hombre tenía que configurar alguna otra cosa así con esta lista de seguridad-llaveros -d usuario s de inicio de sesión.llavero ${LLAVERO} a la lista de seguridad-llaveros -d usuario -s ${LLAVERO}
    • Esto resuelve el problema para mí. Gracias @Gereon!
    • Todavía estoy enfrentando el mismo problema a través de ssh
    • Para mí, era con una temperatura llavero, tengo que hacer el de arriba, pero por alguna razón, también necesito desbloquear mi Defecto llavero (mi nombre de uno en este caso). Sólo necesita de una alta Sierra,
    • En caso que usted no sabe lo que ${LLAVERO} es decir, el tipo security list-keychains y seleccionar uno de ellos (deben ser los caminos para el inicio de sesión del sistema y archivos de llaves).
    • Esto funciona para mí, pero tuve que firmar normal GUI terminal al menos una vez antes de que funcionaría.

  2. 20

    Tengo el mismo problema pero al archivar directamente desde Xcode.
    Compartir la solución en caso de que ayuda.

    A veces, Llavero parece terminar en un estado corrupto. Usando MacOS Sierra también.

    Síntomas :

    A entrar necesarios para acceder a las Cuentas después de reiniciar Xcode
    Firmado de código devuelve error desconocido -1=ffffffffffffffff

    Pide contraseña, mientras que el uso de Acceso a Llaveros para algunas operaciones
    Firmado de código devuelve error desconocido -1=ffffffffffffffff

    Acceso a llaveros – Error al acceder llavero de inicio de sesión a través de Cambiar la Configuración de Llavero …
    Firmado de código devuelve error desconocido -1=ffffffffffffffff

    Lo corrige para mí es el bloqueo y desbloqueo (contraseña requerida) de que el Llavero, de inicio de sesión en mi caso.

    • muchas gracias! esto me ha salvado
    • El bloqueo y desbloqueo de acceso a llaveros me funciona.. estoy usando macOS Alta Sierra 10.13.1.. El error desconocido -1=fffffff no es significativo Apple : |
    • Extraño bug. No recuerdo el desbloqueo de mi llavero, pero estaba cerrada con llave. De cierre y multa de nuevo.
    • Esta es la mejor respuesta que me ayudó con mi problema y salvó un montón de tiempo para mí. Gracias, Romano.
    • Una imagen vale más que mil palabras. De trabajo .
    • Muchas gracias. Yo estaba pegado con esta por un tiempo. bloqueo/desbloqueo en el Llavero obras. Estoy usando Xcode 9.2, MacOS Sierra 10.12.6

  3. 6

    Voy a chip, así como el que yo tenía que probar un par de cosas más de las que las mencionadas aquí: el problema era que el llavero no le gusta sesiones SSH. Yo tenía que ejecutar estas en mi sesión de solucionarlo:

    security unlock-keychain -p MY_PASS ~/Library/Keychains/login.keychain
    security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k MY_PASS ~/Library/Keychains/login.keychain
    security set-keychain-settings ~/Library/Keychains/login.keychain

    También he quitado mi actual certificados del sistema de cuenta certificados por la eliminación de mi cuenta de XCode (yo uso fastlane para hacer la construcción), pero sospecho que esto no debería haber impactado en él.

    • Divertido. Este solucionado mi firma de código de problema, pero se me rompió el Git cliente. Mi Mac es una Jenkins esclavo y ahora no puede retirar el código fuente de Git. Alguna idea de por qué puede suceder esto?
    • Y también por favor, explique cómo revertir este comando si se puede.
    • Bien, supongo que te has cambiado el almacén de claves de las credenciales (MI_CONTRASEÑA) y git cliente no puede utilizar el almacén de claves/llavero más. Sin embargo, no puedo explicar cómo arreglar eso porque he usado MacOS sólo para establecer que el agente así que mi experiencia aquí es más bien… limitada.
    • Gracias @TadasŠubonis. Nota: Si dice nombre de usuario o la contraseña es incorrecta, a continuación, intente ejecutar los comandos sin -p <contraseña> parámetro y, a continuación, introduzca la contraseña cuando se le solicite.
  4. 5

    @madhu he estado tratando de solucionar el mismo problema y se encontró que el Control de Acceso de la clave asociada con el certificado en cuestión fue creado para «Confirmar antes de permitir el acceso», que no funcionó en Jenkins. He modificado (a través de «Acceso a Llaveros» gui – Obtener Información, Control de Acceso) para «Permitir todas las aplicaciones para acceder a este elemento» y mi compilación fue un éxito.

    • Gracias, esto funcionó para mí. Tenga en cuenta que un cuadro de diálogo que todavía se acercó pidiendo una contraseña, pero entonces se puede decir «siempre».
  5. 2

    Usted podría haber exportado algunos archivos como p12 de Llavero, y cuando se OS pide su contraseña de root, y lo negó, luego de Xcode va a firmar el código de error con esta info.

    Si este tal vez sea así, se debe repetir la acción anterior, introduzca su contraseña y haga clic en permitir y, a continuación, va a estar bien para firmar el código.

  6. 2

    Esto sucede en una cabeza de construir debido a que el indicador de la tecla de acceso no puede ser mostrado o respondido. La solución es evitar que el prompt de la muestra mediante la concesión de acceso a la clave de antelación.

    Abrir Acceso a Llaveros, encontrar la clave de su certificado de firma (inicio de sesión-> Certificados, a continuación, expanda el certificado para revelar su clave). Haga clic en la tecla y seleccione: Obtener Info -> Control de Acceso y seleccione «Permitir todas las aplicaciones para acceder a este elemento».

  7. 0

    He probado casi todas las sugerencias a través de la web, ninguno de ellos ayudó a…

    Finalmente sólo se re-generar el Perfil de suministro (ad hoc), vuelve a descargarlo y colocarlo a ~/Library/MobileDevice/Provisioning Profiles/ sobrescribir el existente salvó la vida.

    Por el camino, la AppStore de construir fue un éxito de todo este tiempo, así que el problema estaba definitivamente en el AdHoc perfil de sí mismo (bastante extraño, ya que se veía bien por todos los medios).

    • Se enfrenta con el mismo problema que tengo publicado ??
    • Sí, exactamente el mismo error -1=ffffffffffffffff a través de ssh y no se observan razón (tengo macOS Sierra 10.12.6).
    • Hola, yo pasé por todo eso de nuevo hoy y encontré el siguiente: 1) *.mobileprovision archivos en ~/Library/MobileDevice/Provisioning\ Profiles/ dir NO debe tener com.apple.quarantine atributo extendido. Se añade por defecto al descargar desde el Mac a través de Safari. Esta es la razón por la re-descargar me ayudó a última hora, porque he intentado descargar desde Windows y poner la Mac via WinSCP. 2) La security comando de la respuesta debe ser demasiado. Justo la última vez que hice esto antes de que el Paso #1 y no ayuda, y en este momento de ejecutarlo me ayudó (porque ya lo hice el Paso #1 a la derecha).
    • Por cierto, la presencia de este atributo se puede comprobar a través de la ls [email protected] y se puede quitar con xattr -d com.apple.quarantine /path/to/file.mobileprovision
    • No tengo ninguna pista sobre su escenario, pero para el problema que he publicado no tiene ningún efecto con la solución, podría ser esto podría ser una solución para algo más
    • ¿has probado este stackoverflow.com/q/42402434/2518705 ? Debería ser posible para permitir el acceso para codiseñar sólo, si usted no desea que esté disponible para todas las aplicaciones.
    • el mío es un llavero que se crea sobre la marcha y se eliminan tan pronto como la firma obtiene completado

  8. 0

    Aunque hemos instalado el derecho de certificados en el llavero y el derecho de Aprovisionamiento de Perfil bajo ~/Library/MobileDevices/Perfiles de Aprovisionamiento.

    También podemos ver

    unknown error -1=ffffffffffffffff

    De este error, he intentado los pasos a continuación para solucionado el problema:

    1. Reiniciar la máquina, desbloquear el llavero uso de «securify desbloquear-llavero», de bloqueo de la llave de nuevo
    2. Eliminar ~/Library/Developer/Xcode/DerivedData carpeta.
    3. Ejecutar cartago bootstrap –plataforma iOS
    4. Abrir el código fuente de la sincronización de abajo del área de trabajo, ejecute «xattr -rc .», a continuación, abra el .xcodeproject archivo en xcode.
    5. Convertido en la firma automática para cada objetivo. Necesidad de iniciar sesión con credenciales válidas.
    6. Haga clic en el perfil de suministro en virtud de la firma.
    7. desbloquear el llavero de nuevo
    8. Cambio de la construcción de dispositivo para Dispositivos Genéricos, en virtud de Producto –> Limpio, luego de Producto –> Archivo
    9. Habrá un llavero de permitir acceso a la mostrada, haga clic en «Permitir Siempre».
    10. Debe asegurarse de que el archivo es correcta, a continuación, activar la Jenkins trabajo de nuevo.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea