最近在调试服务时须要使用证书,所以对证书的生成和使用作了一些整理,网上关于这部分资料也不少,可是很杂乱,我整理出如下简单的步骤生成自签名证书,具体让咱们来看一看吧。css
第一种方式
经过openssl生成私钥html
openssl genrsa -out server.key 1024
使用私钥生成自签名的cert证书文件,如下是经过参数只定证书须要的信息git
openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN/ST=mykey/L=mykey/O=mykey/OU=mykey/CN=domain1/CN=domain2/CN=domain3"
若是对上面参数具体的说明不太了解的,可使用不带参数的方式,经过命令行步骤生成,参考第二种方式。github
第二种方式
经过openssl生成私钥ajax
openssl genrsa -out server.key 1024
根据私钥生成证书申请文件csr编程
openssl req -new -key server.key -out server.csr
这里根据命令行向导来进行信息输入:app
ps.Common Name能够输入:*.yourdomain.com,这种方式生成通配符域名证书dom
使用私钥对证书申请进行签名从而生成证书ssh
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
这样就生成了有效期为:10年的证书文件,对于本身内网服务使用足够。post
第三种方式
直接生成证书文件
openssl req -new -x509 -keyout server.key -out server.crt -config openssl.cnf
ps.以上生成获得的server.crt证书,格式都是pem的。
我我的比较推荐使用第二种方式,若是不在意其余参数可使用第三种直接一步生成。