接收错误我无法访问./demoCA/newcerts目录./demoCA/newcerts:没有这样的文件或目录

问题描述:

我试图用我的CA签署我的CSR文件。我使用下面的命令接收错误我无法访问./demoCA/newcerts目录./demoCA/newcerts:没有这样的文件或目录

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

我openssl.cnf中没有被改变,这是其默认state.please参见下图:error

+0

看起来像一个权限问题。你可以尝试访问newcerts目录吗? – Jay

+0

可能有[没有这样的文件或目录,但目录在那里]的副本(http://*.com/questions/20225787/no-such-file-or-directory-but-directory-is-right-there) – czifro

+0

堆栈溢出是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://*.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布关于Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww

修改权限是一个简单的测试,看看你目标是错误的位置。对于踢腿和咧嘴笑,尝试将你的压倒性位置覆盖到你正在使用的位置,如下所示:

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

此实例中的'#'不是dir名称的一部分。这是Linux指示根会话的方式。如果你在Linux终端上执行'sudo su',你会注意到'$'变成'#'。 – czifro

+0

不是以root身份运行的最佳主意......无论如何,给openssl一个已知可访问的out文件的设置位置应该可以解决问题。 –