Linux 接收错误。/demoCA/newcerts:没有此类文件或目录

Linux 接收错误。/demoCA/newcerts:没有此类文件或目录,linux,ssl,openssl,certificate,ssl-certificate,Linux,Ssl,Openssl,Certificate,Ssl Certificate,我正在尝试与我的CA签署我的CSR文件 我正在使用以下命令: openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf 我的openssl.cnf尚未更改,它处于默认状态 请参阅下图: 修改权限是一个很容易的测试,可以查看您的目标位置是否错误。对于踢腿和露齿而笑,请尝试将out位置覆盖到您正在使用的同一位置,如下所示: openssl ca -in server.csr

我正在尝试与我的CA签署我的CSR文件

我正在使用以下命令:

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
我的openssl.cnf尚未更改,它处于默认状态

请参阅下图:


修改权限是一个很容易的测试,可以查看您的目标位置是否错误。对于踢腿和露齿而笑,请尝试将out位置覆盖到您正在使用的同一位置,如下所示:

openssl ca -in server.csr -out ~/demoCA/server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

当此命令在demoCA文件夹中运行并且正在查找newcerts文件夹时,它应该只搜索
newcerts
,而不是搜索
/demoCA/newcerts
,即使它已经在newcerts文件夹中!我不知道为什么

为了解决这个问题,我向上移动了一个文件夹(从demoCA文件夹中移出,并移动到存放demoCA文件夹的任何文件夹中),然后更改了命令,以便所有文件前面都有./demoCA:

openssl ca -in ./demoCA/server.csr -out ./demoCA/server.crt -cert ./demoCA/ca.crt -keyfile ./demoCA/ca.key -config ./demoCA/openssl.cnf
然后我终于成功了


(解决此问题的更好方法是找出它为什么搜索
/demoCA/newcerts
,而不是简单地搜索newcerts,但我无法找出原因。)

看起来像是权限问题。您能尝试访问newcerts目录吗?堆栈溢出的可能副本是一个用于编程和开发问题的站点。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另外,请看Czibro是正确的。./demoCA是在openssl.cnf文件中指定的。在本例中,
#
不是目录名的一部分。这是Linux指示根会话的方式。如果您在Linux终端中执行
sudo su
,您会注意到
$
更改为
#
。作为root用户运行不是最好的主意……无论哪种方式,为openssl提供一个已知可访问的输出文件的设置位置,都可以解决问题。