2 votos

¿Existe una forma de modificar las descripciones ACL de los artículos del llavero?

Estoy importando mi identificación digital (certificado X.509 y clave privada para firmar, verificar, cifrar y descifrar mensajes) al llavero. En la interfaz gráfica de usuario veo mi certificado y la clave correspondiente y puedo modificar sus descripciones y puedo escribir una nota describiendo su uso, etc.

Sin embargo, cuando Mail.app intenta acceder a la clave privada, muestra una ventana de diálogo que dice: "Mail quiere usar tu información confidencial almacenada en "privateKey" en tu llavero".

Ahora bien, tengo varias identificaciones digitales para diferentes direcciones, así que ese mensaje no me da ninguna idea de a qué clave intenta acceder. Investigué un poco y resultó que cuando se importa una clave también se crea una lista ACL dentro del llavero. Cada elemento de esa lista ACL tiene una descripción opcional. Creo que cuando no hay una descripción definida el diálogo mencionado utilizará la descripción de la llave, pero si hay una descripción de ACL se utilizará en su lugar.

Cuando vuelco mi llavero con "security dump-keychain -a" obtengo lo siguiente:

keychain: "/Users/galaxy/Library/Keychains/login.keychain"
class: 0x00000010
attributes:
    0x00000000 <uint32>=0x00000010
    0x00000001 <blob>=0x646[...]00  "galaxy@domain.tld\000"
    0x00000002 <blob>=<NULL>
[...]
    0x0000001A <uint32>=0x00000001
access: 3 entries
    entry 0:
        authorizations (1): encrypt
        don't-require-password
        description: privateKey
        applications: <null>
    entry 1:
        authorizations (6): decrypt derive export_clear export_wrapped mac sign
        don't-require-password
        description: privateKey
        applications (0):
    entry 2:
        authorizations (1): change_acl
        don't-require-password
        description: privateKey
        applications (0):

En primer lugar, quiero cambiar la descripción de "privateKey" a "galaxy@domain.tld (Encryption)" para la entrada 0 de la ACL. He buscado mucho, pero hasta ahora sólo he encontrado referencias a la API de OS X para hacerlo. ¿Existe una herramienta para hacerlo? Si no existe tal herramienta, ¿cómo puedo configurarlo en el momento de la importación? Lo pregunto porque cuando StartSSL fuerza automáticamente a Safari a importar el ID digital, la descripción de la ACL se establece en 'www.startssl.com', así que sé que es posible configurarlo.

Por último, una pregunta extra: ¿hay alguna herramienta o forma de personalizar las ACL? Por ejemplo, quiero eliminar export_* de la ACL de la entrada 1 (también he visto que lo hace StartSSL con sus ID digitales).

ACTUALIZACIÓN: Desde que Apple ha liberado su GUI de acceso a llaveros como código abierto, he comprobado las fuentes para la importación de PKCS#12 y allí tienen una opción para configurar la descripción y las ACL en el momento de la importación. Sin embargo, nunca he codificado nada para OS X y es difícil averiguar qué condición debe cumplirse para obtener la descripción de las ACLs y las propias ACLs en el momento de la importación. La lógica se encuentra en el paquete Security en pkcs12Crypto.cpp:

[galaxy@home:~/xcode/Security-55471.14.18/libsecurity_pkcs12/lib]$ grep -B5 -A5 '"privateKey"' pkcs12Crypto.cpp
        try {
            CssmClient::KeyAclBearer bearer(
                cspHand, *privKey, Allocator::standard());
            SecPointer<KeychainCore::Access> initialAccess(access ?
                KeychainCore::Access::required(access) :        /* caller-supplied */
                new KeychainCore::Access("privateKey"));        /* default */
            initialAccess->setAccess(bearer, maker);
        }
        catch (const CssmError &e) {
            /* not implemented means we're talking to the CSP which does
             * not implement ACLs */

Desgraciadamente en todos mis intentos de importación sigo dando con esa descripción "privateKey" codificada y cuando tengo, digamos, 5 IDs digitales diferentes todos solicitan el acceso con "privateKey" en el diálogo y es confuso.

2voto

user93386 Puntos 1

Después de una investigación bastante tediosa, parece que no hay una manera fácil de editar la descripción de la clave privada, así que básicamente, a menos que Apple mejore su aplicación Keychain Access, no hay manera de distinguir entre múltiples identificaciones digitales importadas en el mismo llavero.

También parece que Google Chrome (y Chromium) han implementado algunas rutinas de gestión de claves y están gestionando las descripciones de las claves privadas importadas. Sin embargo, todavía no he descubierto exactamente cómo aprovechar esta funcionalidad.

De todos modos, la respuesta corta a mi pregunta: no hay manera de modificar el ACL del artículo y/o sus descripciones en el llavero de OS X por el momento y parece que a nadie le importa.

0voto

Sarvesh Puntos 11

Por casualidad me encontré con una solución (de tipo) para el problema de "privateKey" que se muestra en los diálogos de correo y confundir a ...

manera de distinguir entre múltiples identificaciones digitales importadas en el mismo llavero.

Esta no es una solución tan elegante y no entiendo por qué funciona, pero después de muchas pruebas, en múltiples clientes de correo, tanto en OS X 10.10.3 como en 10.10.4, he descubierto que hace funciona, es fácil, y funciona siempre. En pocas palabras, básicamente sólo tienes que arrastrar las identificaciones digitales a un nuevo llavero y luego dar la vuelta y arrastrarlas de nuevo.

Los detalles útiles y las lecciones aprendidas son los siguientes:

  • Aplicable a las identificaciones digitales en el llavero de inicio de sesión. No se han probado otros llaveros.
  • Utilizar un llavero del sistema como intermediario no funcionó.
  • Los nuevos llaveros requieren una contraseña de al menos seis caracteres pero de cualquier fuerza.
  • Cuidado con las contraseñas de los nuevos llaveros no son guardado en cualquier ¡otro llavero!
  • Por defecto Cerradura Ajustes para los nuevos llaveros son un molesto 5 minutos y Dormir .
  • Al arrastrar (o pegar) el ID, Control de acceso a la clave privada fallos a Permitir el acceso de todas las aplicaciones a este elemento . Entra manualmente y cámbialo de nuevo a Confirmar antes de permitir el acceso .
  • Dejar las identificaciones en el nuevo llavero y usarlas allí puede no ser práctico ya que los nuevos llaveros no se desbloquean al iniciar sesión.
  • Al borrar el nuevo llavero es mejor seleccionar la opción no predeterminada Eliminar referencias y archivos .
  • Las ediciones posteriores del nombre de la clave privada requieren otro "arreglo" para efectuar los cambios.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X