¿Usar seguridad para obtener una lista de claves en el llavero según el tipo?

1

Estoy utilizando con éxito security para recuperar las claves de mi llavero a través de su etiqueta, por ejemplo:

security find-generic-password -l "PDF Encryption"

Sin embargo, estoy tratando de construir una IU que me ofrezca una ELECCIÓN de claves para descifrar. Específicamente, solo me interesan las claves que AÑADIDO MANUALMENTE a través de Keychain Access. Estos muestran el Tipo: Contraseña de la aplicación cuando se ve en Keychain Access:

Lamentablemente,parecequenopuedoencontrarningúncomando/filtro/búsquedaparacrearestalista.Cuandollamoespecíficamenteaunoatravésdeunaetiqueta,ousounllaverodevolcado,veolossiguientesdatosparacadaclave:

keychain:"/Users/jay/Library/Keychains/vault.keychain-db"
version: 512
class: "genp"
attributes:
    0x00000007 <blob>="PDF Encryption"
    0x00000008 <blob>=<NULL>
    "acct"<blob>="PDF Encryption"
    "cdat"<timedate>=0x32303137313030323032333433385A00  "20171002023438Z
keychain: "/Users/jay/Library/Keychains/vault.keychain-db"
version: 512
class: "genp"
attributes:
    0x00000007 <blob>="PDF Encryption"
    0x00000008 <blob>=<NULL>
    "acct"<blob>="PDF Encryption"
    "cdat"<timedate>=0x32303137313030323032333433385A00  "20171002023438Z%pre%0"
    "crtr"<uint32>=<NULL>
    "cusi"<sint32>=<NULL>
    "desc"<blob>=<NULL>
    "gena"<blob>=<NULL>
    "icmt"<blob>=<NULL>
    "invi"<sint32>=<NULL>
    "mdat"<timedate>=0x32303137313030323032333433385A00  "20171002023438Z%pre%0"
    "nega"<sint32>=<NULL>
    "prot"<blob>=<NULL>
    "scrp"<sint32>=<NULL>
    "svce"<blob>="PDF Encryption"
    "type"<uint32>=<NULL>
0" "crtr"<uint32>=<NULL> "cusi"<sint32>=<NULL> "desc"<blob>=<NULL> "gena"<blob>=<NULL> "icmt"<blob>=<NULL> "invi"<sint32>=<NULL> "mdat"<timedate>=0x32303137313030323032333433385A00 "20171002023438Z%pre%0" "nega"<sint32>=<NULL> "prot"<blob>=<NULL> "scrp"<sint32>=<NULL> "svce"<blob>="PDF Encryption" "type"<uint32>=<NULL>

Lamentablemente, parece que todos los bits de datos, excepto la cuenta y el servicio, están configurados en NULL. Pero, parece que no puedo buscar a través de NULL.

¿Hay alguna forma directa de obtener una lista de estas claves?

    
pregunta jaydisc 22.10.2018 - 04:35

1 respuesta

0

Parece que la respuesta aquí es lo más cercana que puedo obtener, que es usar dump-keychain y filtrar por 0x00000007:

security dump-keychain | grep 0x00000007 | awk -F= '{print $2}'

Incluye más que solo contraseñas de aplicaciones, pero definitivamente es un subconjunto más funcional, y puedo filtrar una lista negra con grep -v .

    
respondido por el jaydisc 23.10.2018 - 00:41

Lea otras preguntas en las etiquetas