2017-10-19 352 views
0

[OpenSSL的v1.1.0f]的OpenSSL创建证书和密钥

我使用下面的命令来创建自签名证书,仅用于测试目的:

$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 10000 -nodes 

但是我得到消息像这样:

Can't open /usr/local/ssl/openssl.cnf for reading, No such file or directory 
140480609138432:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:74:fopen('/usr/local/ssl/openssl.cnf','r') 
140480609138432:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:81: 
Generating a 4096 bit RSA private key 
..................................++ 
.................................................................................................................................................................................................................++ 
writing new private key to 'key.pem' 
----- 
unable to find 'distinguished_name' in config 
problems making Certificate Request 
140480609138432:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto/conf/conf_lib.c:272: 

我该怎么做才能解决这个问题?

+0

你用哪种方法安装了openssl? sudo apt-get install libssl-dev? –

回答

0

通常openssl会使用默认的配置,但似乎你没有在正确的地方。您也可以将配置文件作为命令行参数传递。请注意-config选项。

openssl req -x509 -config openssl.cnf -newkey rsa:4096 -keyout key.pem -out cert.pem -days 10000 -nodes 
+0

谢谢。至少,openssl.cnf文件应包含哪些内容? –

+0

最好的信息来源应该是[openssl doc](https://www.openssl.org/docs/man1.1.0/apps/)。你也可以直接从github下载[openssl.cnf](https://github.com/openssl/openssl/blob/master/apps/openssl.cnf) - 这可能是最简单的方法,因为你只需要测试一些东西。 –

相关问题