openshift: incapaz de escrever 'estado aleatório'

3

Estou tentando gerar um CSR usando o openssl no openshift. Eu tenho encontrado isso quando eu executar o comando usando SSH.

openssl genrsa -des3 -out myApp.key 2048
Generating RSA private key, 2048 bit long modulus
...........+++
.....................................................................+++
unable to write 'random state'
e is 65537 (0x10001)

Eu pesquisei um pouco e tentei algumas coisas

  1. mude para o diretório de dados ou outro diretório que o usuário tenha direitos e, em seguida, execute o comando. Isso não funcionou. Mesmo erro
  2. Algumas pessoas sugeriram executar este comando como sudo. Mas eu não posso fazer isso em servidores openshift
  3. Outros mencionados para remover arquivos .rnd usando este comando sudo rm ~ / .rnd, e novamente eu não posso rodar isso no openshift.

Algum apontador? Estou confuso que isso esteja acontecendo em um novo aplicativo limpo.

    
por R.W 11.08.2015 / 15:02

3 respostas

3

Esse erro ocorre porque você não tem permissão para criar arquivos em seu diretório pessoal no Openshift. Este comando tenta criar um arquivo em $HOME/.rnd e você vê o erro porque o arquivo não pode ser criado.

Você deve informar openssl qual arquivo deve ser usado para gravar o estado aleatório e faz isso exportando a variável de ambiente $RANDFILE . No Openshift você pode escrever no diretório $OPENSHIFT_DATA_DIR , então crie o comando da seguinte forma:

export RANDFILE=$OPENSHIFT_DATA_DIR/.rnd
openssl genrsa -des3 -out $OPENSHIFT_DATA_DIR/myApp.key 2048
    
por 11.11.2015 / 21:32
2

Solução semelhante, mas um experiente para mim eu encontrei aqui .

Então eu fiz o seguinte:

mkdir ~/"directory where certificates will be generated" 
cd ~/"directory where certificates will be generated"
touch .rnd
export RANDFILE="~/"directory where certificates will be generated"/.rnd"

Agora o comando openssl genrsa -des3 -out server.key 2048 está funcionando corretamente para mim.

    
por 07.07.2016 / 10:45
0

Na minha máquina estava me dando esse problema porque o arquivo ".rnd" era de propriedade do root e não do meu usuário.

Mudar o proprietário resolveu meu problema:

sudo chown $USER:$USER ~/.rnd
    
por 18.09.2017 / 17:29

Tags