No abaixo, note que você pode especificar qualquer algoritmo que você quer, seja os listados ou RSA (embora eu não saiba o nome exato usado pelo RSA pelo OpenSSL)
use "openssl enc-help" para obter uma lista de cifras suportadas em seu sistema, e passe isso como um argumento. por exemplo, "-aes256"
Nota no meu sistema Eu não tenho RSA em minhas opções - pelo menos com esse nome.
Como criptografo uma mensagem S / MIME?
Digamos que alguém lhe envie seu certificado público e peça que você criptografe alguma mensagem para ela. Você salvou o certificado dela como cert-cert.pem. Você salvou sua resposta como minha mensagem.txt.
Para obter a criptografia padrão - embora bastante fraca - RC2-40, basta informar a openssl onde a mensagem e o certificado estão localizados.
openssl smime her-cert.pem -encrypt -in my-message.txt
Se você tem certeza de que seu correspondente remoto tem um kit de ferramentas SSL robusto, é possível especificar um algoritmo de criptografia mais strong, como o DES triplo:
openssl smime her-cert.pem -encrypt -des3 -in my-message.txt
Por padrão, a mensagem criptografada, incluindo os cabeçalhos de e-mail, é enviada para a saída padrão. Use a opção -out ou seu shell para redirecioná-lo para um arquivo. Ou, muito mais complicado, canalize a saída diretamente para o sendmail.
openssl smime her-cert.pem \
-encrypt \
-des3 \
-in my-message.txt \
-from 'Your Fullname <[email protected]>' \
-to 'Her Fullname <[email protected]>' \
-subject 'My encrypted reply' |\
sendmail [email protected]
Como faço para assinar uma mensagem S / MIME?
Se você não precisa criptografar toda a mensagem, mas deseja assiná-la para que seu destinatário possa ter certeza da integridade da mensagem, a receita é semelhante à da criptografia. A principal diferença é que você precisa ter sua própria chave e certificado, pois não pode assinar nada com o certificado do destinatário.
openssl smime \
-sign \
-signer /path/to/your-cert.pem \
-in my-message.txt \
-from 'Your Fullname <[email protected]>' \
-to 'Her Fullname <[email protected]>' \
-subject 'My signed reply' |\
sendmail [email protected]
(de link )
(er ... todas essas barras invertidas - elas devem ter escapadas de linhas novas. Não tenho certeza do que está acontecendo, pois elas são exibidas na minha caixa de edição aqui!