Cifrar um ficheiro grande com o smime do openssl

Criei um certificado local no meu sistema e estou a tentar encriptar um ficheiro através do smime. Mas quando eu executar o comando ele me dá erro Unable to load certificate Expecting trusted certificate Error 1024. Este é o meu guião que estou a tentar executar.
openssl  smime  -encrypt -aes256  -in  ABC.xml  -binary  -outform DEM  -out  DEF.xml  test.pem

Test.pem é a minha chave pública. Alguém me pode dizer Como posso contornar esta secção e gerar um ficheiro? Obrigado antecipadamente.

Author: Pranav Singh, 2013-09-20

2 answers

Você não indica como criou o seu test.pem, mas aqui está a sequência de comandos que pode ser capaz de usar:

Crie uma nova chave e um pedido de Certificado (ser-lhe-á pedida informação adicional para completar o pedido):

openssl req -newkey rsa:2048 -keyout privkey.pem -out req.pem

Autossignar o pedido de certificado para criar um certificado

openssl x509 -req -in req.pem -signkey privkey.pem -out cert.pem

(pode apagar req.pem neste momento, se quiser)

Encriptar o ficheiro com o certificado recentemente gerado:

openssl smime -encrypt -aes256 -in ABC.xml -binary -outform DER -out DEF.xml cert.pem

O ficheiro pode então ser descodificado com:

openssl smime -decrypt -in DEF.xml -inform DER -inkey privkey.pem -out GHI.xml
 7
Author: Iridium, 2013-09-20 20:15:51

Para executar o encrypt no openssl para o ficheiro Grande, primeiro destrua esse ficheiro usando o algoritmo sha e depois tente cifrar os dados porque o smime suporta dados limitados como entrada

 -3
Author: Ashish Singhal, 2014-02-21 06:27:42