Não faz sentido criptografar um arquivo com uma chave privada .
O uso de uma chave privada para anexar uma tag a um arquivo que garanta que o arquivo foi fornecido pelo proprietário da chave privada é chamado assinatura , e a tag é chamada assinatura .
Existe um criptossistema popular (RSA de livro didático) onde um algoritmo simplificado (inseguro) usa chaves públicas e privadas do mesmo tipo, e a descriptografia é idêntica à assinatura e a criptografia é idêntica à verificação. Esse não é o caso em geral: até mesmo a RSA usa mecanismos diferentes para descriptografia e assinatura (respectivamente criptografia e verificação) com modos de preenchimento adequados e seguros; e muitos outros algoritmos têm chaves privadas e públicas que nem são do mesmo tipo de objetos matemáticos.
Então você quer assinar o arquivo. A ferramenta padrão de fato para isso é GnuPG .
Para assinar um arquivo com sua chave secreta:
gpg -s /path/to/file
Use a opção --local-user
para selecionar uma chave secreta se você tiver várias (por exemplo, sua chave do aplicativo versus sua chave pessoal).
Transfira file.gpg
para o local onde você deseja usar o arquivo. Transfira também a chave pública (presumivelmente dentro do pacote de aplicativos). Para extrair o texto original e verificar a assinatura, execute
gpg file.gpg
Se for mais conveniente, você pode transferir file
e criar um arquivo de assinatura separado chamado de assinatura separada. Para produzir a assinatura destacada:
gpg -b /path/to/file
Para verificar:
gpg file.gpg file
Você também pode criptografar o arquivo com a opção -e
. Claro que isso significa que você precisa de um par de chaves separado, onde o destinatário (especificado com a opção -r
) tem a chave privada e o produtor tem a chave pública.