红联Linux门户
Linux帮助

如何用openssl命令行生成证书

发布时间:2016-07-05 10:25:13来源:linux网站作者:shareinfo2018
准备:sudo apt-get install libssl-dev libncurses5-dev libncursesw5-dev
 
步骤主要有:
一、安装openssl,装好在目录/usr/local下面能找到一个ssl的文件夹
cd   /usr/local/ssl
 
二、拷贝openssl.cnf,把ssl下的openssl.cnf拷贝到你的工作目录下去,就是你要生成证书的目录,我的是/home/projects/server/
cp  openssl.cnf  /home/projects/server
 
三、在工作目录下创建一个demoCA的文件夹, 新建两个文件,index.txt serial , 再在demoCA下创建一个newcerts的文件夹
mkdir demoCA
cd demoCA
touch ./{serial,index.txt}
vi serial        //    写入01
mkdir newcerts
cd .. 
 
1.首先要生成服务器端的key及csr文件:
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr -config openssl.cnf
运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:openssl rsa -in server.key -out server.key
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.
 
2.对客户端也作同样的命令生成key及csr文件:
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf
 
3.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
 
4.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
 
现在我们所需的全部文件便生成了.
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22079.html