Назад | Перейти на главную страницу

openshift: невозможно записать «случайное состояние»

Я пытаюсь создать CSR, используя openssl на openshift. Я столкнулся с этим, когда запускаю команду с помощью 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)

Я немного исследовал тишину и попробовал несколько вещей

  1. перейдите в каталог данных или какой-либо другой каталог, в котором у пользователя есть права, а затем выполните команду. Это не сработало. Та же ошибка
  2. Некоторые предлагали запускать эту команду как sudo. Но я не могу этого сделать на серверах openshift
  3. Другие упоминали об удалении файлов .rnd с помощью этой команды sudo rm ~ / .rnd, и снова я не могу запустить это на openshift.

Есть указатели? Я сбит с толку, что это происходит в новом новом приложении.

Эта ошибка возникает из-за того, что вам не разрешено создавать файлы в вашем домашнем каталоге в Openshift. Эта команда пытается создать файл на $HOME/.rnd и вы видите ошибку, потому что файл не может быть создан.

Ты должен сказать openssl какой файл использовать для записи случайного состояния, и вы делаете это, экспортируя $RANDFILE переменная окружения. В Openshift вы можете писать в $OPENSHIFT_DATA_DIR каталог, поэтому создайте команду следующим образом:

export RANDFILE=$OPENSHIFT_DATA_DIR/.rnd
openssl genrsa -des3 -out $OPENSHIFT_DATA_DIR/myApp.key 2048

Подобное решение, но сообразительность для меня я нашел Вот.

Итак, я сделал следующее:

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"

Сейчас openssl genrsa -des3 -out server.key 2048 команда работает у меня правильно.

На моей машине у меня возникала эта проблема, потому что файл «.rnd» принадлежал пользователю root, а не моему пользователю.

Смена собственника решила мою проблему:

sudo chown $USER:$USER ~/.rnd