Esperar script: remova a senha na chave privada

1

Estou tentando remover a senha em uma chave privada. Fazer isso manualmente é simples, eu executo este comando e insiro a senha: openssl rsa <newkey.pem > newkey-no-password.pem

Estou tentando fazer isso em um script de espera, para que eu não precise digitar a senha. Aqui está o código que eu escrevi:

#!/usr/bin/expect -f
set PASSWORD myPassword

spawn openssl rsa <newkey.pem > newkey-no-pass.pem
expect "Enter pass phrase:"
send "$PASSWORD\r"
expect eof

E aqui está a saída que recebo ao executar o script:

[me@mymachine]# ./test.exp
spawn openssl rsa <newkey.pem > newkey-no-pass.pem
unknown option <newkey.pem
rsa [options] <infile >outfile
... all the options for rsa command ...

Eu tentei colocar o <newkey.pem entre ' ou " , sem sucesso.

O que estou fazendo de errado e como posso corrigir esse problema?

    
por Pierre Mourlanne 25.06.2014 / 13:34

2 respostas

2

Acho que o comando spawn não analisa os redirecionamentos de shell < . Você pode fazê-lo passar por um shell com sh -c :

#!/usr/bin/expect -f
set PASSWORD myPassword

spawn sh -c "openssl rsa <newkey.pem > newkey-no-pass.pem"
expect "Enter pass phrase:"
send "$PASSWORD\r"
expect eof

Funciona para mim:

# expect -f kkf
spawn sh -c openssl rsa <newkey.pem > newkey-no-pass.pem
Enter pass phrase:myPassword
writing RSA key
    
por 25.06.2014 / 13:44
0

Eu uso isso para extrair a chave privada e remover a senha de um arquivo pkcs12:

openssl pkcs12 -in myFile.p12 -nocerts -out myFile.priv.password.pem -passin pass:SomePassword -passout pass:SomeOtherPassword

openssl pkcs8 -topk8 -nocrypt -inform pem -in myFile.priv.password.pem -passin pass:SomeOtherPassword -outform pem -out myFile.priv.pem

Alguns de meus palpites são: isso deve funcionar para você:

openssl rsa -in newkey.pem -out newkey-no-pass.pem -passin pass:SomePassword

Se você não quiser a senha na linha de comando, você pode usar um arquivo (com acesso restrito):

openssl rsa -in newkey.pem -out newkey-no-pass.pem -passin file:PasswordFile.txt
    
por 10.01.2018 / 17:35