Ubuntu 18.04 制作证书请求时出现问题,字符串太短

Ubuntu 18.04 Problem Making Certificate Request, string too short

我目前在 Hyper-VM 上 运行ning Ubuntu 18.04,我需要 运行 机架代理服务器,我正在使用 ruby 2.2.0和 rails 4.2.11.

我找到的第一个选项是prax:https://ysbaddaden.github.io/prax/

当我按照下载说明使用命令 ./bin/prax install 时,我得到以下输出:

make: 'libnss_prax.so.2' is up to date.
ln -sf /opt/prax/ext/libnss_prax.so.2 /lib
Installing Prax firewall rules
/etc/init.d/prax: 19: /etc/init.d/prax: ifconfig: not found
Creating ~/.prax directory
Symlinking prax into /usr/local/bin
Generating SSL key and certificate
problems making Certificate Request
... encoding routines:ASN1_mbstring_ncopy:string too short:../crypto/asn1/a_mbstr.c:100:minsize=2
Can't open server.csr for reading, No such file or directory
... Cant open server.csr for reading, No Such file or directory:../crypto/bio/bss_file.c:72:fopen('server.csr','r')
... :BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:79:

我对这一切都很陌生,所以我对 SSL 密钥不是很熟悉,但问题似乎出在 Prax 中的这个文件中:

#! /usr/bin/env sh

FILE="test_require_sudo"
SUDO=`touch $FILE 2>/dev/null && rm $FILE || echo "sudo"`

if [ ! -e server.key ]; then
  $SUDO openssl genrsa -out server.key 2048
fi

if [ ! -e server.csr ]; then
  $SUDO openssl req -new -key server.key -out server.csr \
    -subj "/C=/ST=/L=/O=Prax Dev Cert/OU=/CN=localhost"
fi

if [ ! -e server.crt ]; then
  $SUDO openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
fi

不确定从这里去哪里,我尝试使用 sudo openssl genrsa - out *.key 2048 生成我自己的密钥,当我 运行 它时它工作正常。基于“字符串太短错误”,似乎所需选项之一未传递给生成密钥的命令。关于如何解决这个问题有什么想法吗?

我最终完全放弃了 prax,并找到了更好的解决方案。我按照他们的说明安装了 puma-dev 并使其正常工作:https://github.com/puma/puma-dev