O GPG e o GPGSM usam o mesmo banco de dados de chaves?

6

Eu preciso exportar uma das minhas chaves GPG como uma chave / certificado PKCS12. gpg é incapaz de fazer isso, mas a ferramenta gpgsm é. No entanto, inserir gpgsm -o <file> --export-secret-key-p12 <key-id> retorna gpgsm: can't export secret key '<key-id>' . Eu testei gpgsm --list-keys e não retornou nada.

O GPGSM deve funcionar com o GPG? Percebi que na primeira vez que ele foi executado, um novo arquivo foi criado para ele. Eu diria que não seria necessário se o GPG já tivesse sido executado e configurado. Ambos significam ter acesso ao mesmo chaveiro? Se sim, como faço para corrigir isso? Se não, como posso exportar minha chave do GPG e importá-la para o GPGSM?

    
por Melab 06.11.2014 / 21:49

2 respostas

3

Seria mais útil descrever por que você deseja fazer algo, não apenas o que deseja fazer. Eu estou supondo que você está tentando usar sua chave PGP com criptografia ou assinatura de e-mail S / MIME, o que não é realmente possível.

Para responder à pergunta, não, o GPG e o GPGSM usam diferentes formatos e protocolos, e é por isso que eles são implementados como ferramentas separadas. O GPG é uma implementação do OpenPGP, enquanto o GPGSM trabalha com o X.509 (principalmente o S / MIME).

Enquanto ambos usam os mesmos algoritmos criptográficos e poderiam em teoria usar o mesmo material de chave (por exemplo, parâmetros RSA idênticos), é aí que a similaridade termina - você não pode traduzir Certificado de usuário do OpenPGP diretamente para um certificado X.509, portanto você não pode exportá-lo no formato PKCS # 12.

(gpg-agent é capaz de usar chaves OpenPGP para autenticação SSH, mas isso é somente porque o formato da chave SSH tem nenhum metadados anexados, então a "conversão" é apenas extrair os parâmetros RSA. Por outro lado, os certificados X.509 possuem metadados como o nome do sujeito que usa uma sintaxe diferente do OpenPGP; nome do emissor que o OpenPGP não tem (sendo baseado em web-of-trust); uso de chaves (o que é complicado, pois a maioria das implementações do OpenPGP usa duas chaves separadas dentro de um único 'certificado', uma para assinatura e outra para criptografia).

    
por 06.11.2014 / 21:58
0

Não é uma resposta direta à sua pergunta, mas o CACert publicou uma entrada no Wiki detalhando o que você deseja fazer.

Essencialmente, você deve gerar uma solicitação de assinatura de certificado usando a chave secreta exportada do seu par de chaves e ter um certificado criado por uma CA como o CACert.

Eu apenas não exporto para um formato de arquivo p12 no Windows usando gpgsm, mas no Linux isso não foi um problema.

Fonte: link

    
por 11.02.2017 / 15:19

Tags