要为Apache生成 SSL 证书文件,我使用以下命令:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.cert
我用这些参数手动输入它:
国家名称(2 个字母代码)[AU]:AU
州或省名称(全名):Myname
[Some-State]:Some-State
地区名称(例如,城市)[]:城市
组织名称(例如,公司)[ Internet Widgits Pty Ltd]:Internet
组织单位名称(例如,section)[]:Section
Common Name(例如服务器 FQDN 或您的姓名)[]:yourname
电子邮件地址 []:[email protected]
是否可以使用选项从文件或直接从 OpenSSL 命令行输入它们?
OpenSSL 手册页中没有任何提示。
您可以创建一个配置文件并在您的命令中使用它。例如,您可以创建一个名为的配置文件
openssl.cnf
并像这样使用它:在您的情况下,您可以设置以下参数:
更多信息可以在http://www.flatmtn.com/article/setting-openssl-create-certificates#SSLCert-4找到
在您的配置文件中的某处,您需要以下内容:
该部分
prompt = no
中的[ req ]
停止您看到的提示并更改该distinguished_name
部分中预期的格式。如果您没有此选项,OpenSSL 将期望您当前拥有的提示格式。请注意,字段的顺序是可变的,并规定了证书中的顺序。
它也可以从脚本运行:
在以下位置找到它:http ://www.jamescoyle.net/how-to/1073-bash-script-to-create-an-ssl-certificate-key-and-request-csr