强制OpenSSL不使用/etc/pki/CA/newcerts

强制OpenSSL不使用/etc/pki/CA/newcerts,openssl,Openssl,我正在尝试为我的服务器生成CA密钥,但我没有根访问权限。所以当我运行下面的代码时。很明显,我的权限被拒绝了。有没有办法强迫它写在其他地方,比如我的用户文件夹下 我查看了openssl的参数,没有找到任何我需要的东西 openssl ca -extensions v3_ca -out /home/cdonohue/certs/ca.pem -keyfile /home/cdonohue/certs/server-key.pem -verbose -selfsign -md sha256 -endd

我正在尝试为我的服务器生成CA密钥,但我没有根访问权限。所以当我运行下面的代码时。很明显,我的权限被拒绝了。有没有办法强迫它写在其他地方,比如我的用户文件夹下

我查看了openssl的参数,没有找到任何我需要的东西

openssl ca -extensions v3_ca -out /home/cdonohue/certs/ca.pem -keyfile /home/cdonohue/certs/server-key.pem -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles /home/cdonohue/certs/server-crt.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /home/cdonohue/certs/server-key.pem:
I am unable to access the /etc/pki/CA/newcerts directory

如手册页所述,
ca
覆盖
new\u certs\u dir
的命令行选项为
-outdir

但是,串行文件和“索引”文件通常位于同一位置,因此您可能也无法编写它们,并且它们没有命令行选项。为了避开这些问题,您需要创建并使用自己的配置文件,一旦创建并使用了配置文件,您就不再需要现在使用的大多数选项

另外,使用默认配置文件中的section
v3\u ca
将生成一个并不真正适合服务器证书的证书,尽管它可能至少在某些情况下可以工作。而且,对服务器使用任何自签名证书都是可疑的,除非服务器仅由一个相当小的社区(如组织的内部网)内的客户端访问,或者用于调试和测试

但是,一旦您不使用“系统”CA配置的任何文件,并且您正在颁发自签名证书,则使用
CA
来执行此操作实际上没有任何意义,除非您确实需要确切的过期时间(不太可能),或者您正在使用默认配置中禁用的
copy\u extensions
。否则,
req-x509
x509-req-signkey
可以更简单地从CSR生成等效的自签名证书。在StackOverflow、SuperUser、ServerFault和Security.SX上有许多关于它们的Q,以及手册页