2017-10-19 217 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) - 這可能是最簡單的方法,因爲你只需要測試一些東西。 –

相關問題