A exportação de segurança do Mac OS X não aceita senha

11

Estou tentando exportar alguns itens no meu chaveiro como este:

hostname:~ username$ security export -k login.keychain -t all -P "passphrase"

mas sempre recebo este erro:

security: SecKeychainItemExport: Passphrase is required for import/export

O que da?

esclarecimento : Estou logado via SSH.

Ben Collins
fonte

Respostas:

2

Quando eu corro

security export -t identities

Eu recebo a mesma mensagem de erro:

security: SecKeychainItemExport: Passphrase is required for import/export.

No entanto, se eu especificar um formato com -f aberto (e colocar o fluxo de saída binário em um arquivo), ele funcionará:

security export -P testing -f pkcs12 -t identities -o test.p12

produz um arquivo com o qual posso trabalhar via openssl.

Parece-me que securityestá apenas usando a mensagem de erro errada aqui, fazendo parecer que o recurso não funciona. Provavelmente deveria estar dizendo "Você deve especificar um formato para exportar chaves privadas" ou palavras para esse efeito.

O insight real vem desse tweet .

NateEag
fonte
5

Isso está quebrado, IMO. 'exportação de segurança' se comporta muito mal se você tentar exportar chaves privadas e efetuar login com SSH. Os mesmos comandos funcionam quando você efetua login na GUI. Isso é de propósito?

Dependendo do que você precisar, você poderá contorná-lo com 'certificados de localização de segurança' ou 'certificados de exportação de segurança'. Tudo funciona desde que você não exporte uma chave privada.

Skrymsli
fonte
3

Se sua senha tiver símbolos estranhos que seu shell esteja engolindo, tente usar aspas simples em vez de duas para impedir a interpolação.

security export -k login.keychain -t all -P 'passphrase'
Walt Stoneburner
fonte
Eu acho que isso não é uma questão de cotação.
Charles Stewart