Não é possível importar a chave pública para o OSX Keychain

21

Criei alguns certificados S / MIME autoassinados (usando o OSX Keychain & OpenSSL) e depois os exportei para três arquivos:

  • Certificado (.cer)
  • Chave privada (.p12)
  • Chave pública (.pem)

Ao tentar importá-los de volta para outro Mac, o Certificado e a Chave Privada são importados sem problemas. Mas a chave pública não pode ser importada.

Em vez disso, recebo a seguinte mensagem de erro:

Ocorreu um erro. Não foi possível importar um item.

O conteúdo deste período não pode ser recuperado

Captura de tela do erro OSX Keychain ao importar Chave pública

Como posso importar a chave pública? Deve ser convertido para outro formato para importação?

Prembo
fonte
por que você deseja importar a chave pública? É a chave privada que você precisa importar. A chave pública é deixada no servidor, a chave privada é exportada para o cliente e é isso.
MariusMatutiae
É justo - portanto, não há como importar uma chave pública manualmente via Keychain (por exemplo, se alguém lhe forneceu a chave pública como um arquivo, em vez de enviar um email)?
Prembo
11
Você pode usar o scp para copiar todos os arquivos de um para o outro, durante o período em que a conexão por senha é permitida. Então, quando você tiver todas as chaves no lugar, poderá desativar o login da senha.
MariusMatutiae

Respostas:

31

É um bug no OSX. Você pode importar da linha de comando conforme esta resposta:

/programming//a/11979625/59198

O comando é:

security import pub_key.pem -k ~/Library/Keychains/login.keychain

Você precisará renomear a chave em keychain.app

Chris
fonte
Para onde é importado? Ainda não consigo encontrá-lo no chaveiro.
huggie
@ huggie Carrega-o com um nome realmente genérico no chaveiro, algo como 'chave pública', possivelmente, procure algo novo lá.
Chris
1

O certificado realmente contém uma cópia da chave pública (junto com um nome e uma assinatura da autoridade de certificação dizendo que esse nome e essa chave pública se combinam). Normalmente, você não precisa lidar com a chave pública como um item separado se estiver usando um sistema baseado em certificado como o SMIME. Se desejar, você pode extrair uma cópia da chave pública do certificado usando o x509comando openssl .

(Será que o Keychain está se recusando a importar a chave pública porque acha que já possui uma cópia no certificado? As mensagens de erro do Keychain geralmente são bastante vagas.)

Wim Lewis
fonte
1

Um arquivo .p12 pode conter seu par de chaves. Você será solicitado a fornecer uma senha se ela contiver sua chave privada. O chaveiro mostrará a chave privada de maneira aninhada. Se importado corretamente, ele deve aparecer em 'Meus certificados'.

bbaassssiiee
fonte