Я пытаюсь создать 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)
Я немного исследовал тишину и попробовал несколько вещей
Есть указатели? Я сбит с толку, что это происходит в новом новом приложении.
Эта ошибка возникает из-за того, что вам не разрешено создавать файлы в вашем домашнем каталоге в 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