共计 1494 个字符,预计需要花费 4 分钟才能阅读完成。
利用 OpenSSL 生成库和命令程序, 在生成的命令程序中包括对加 / 解密算法的测试,openssl 程序,ca 程序. 利用 openssl,ca 可生成用于 C / S 模式的证书文件以及 CA 文件。
证书文件的生成步骤:
一、服务器端
1. 生成服务器端的私钥(key 文件);
openssl genrsa -des3 -out server.key 1024
运行时会提示输入密码, 此密码用于加密 key 文件 (参数 des3 是加密算法, 也可以选用其他安全的算法), 以后每当需读取此文件(通过 openssl 提供的命令或 API) 都需输入口令. 如果不要口令, 则可用以下命令去除口令:
openssl rsa -in server.key -out server.key
2. 生成服务器端证书签名请求文件(csr 文件);
openssl req -new -key server.key -out server.csr
生成 Certificate Signing Request(CSR), 生成的 csr 文件交给 CA 签名后形成服务端自己的证书. 屏幕上将有提示, 依照其 提示一步一步输入要求的个人信息即可(如:Country,province,city,company 等).
二、客户端
1. 对客户端也作同样的命令生成 key 及 csr 文件;
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr
三、生成 CA 证书文件
server.csr 与 client.csr 文件必须有 CA 的签名才可形成证书.
1. 首先生成 CA 的 key 文件:
openssl genrsa -des3 -out ca.key 1024
2. 生成 CA 自签名证书:
openssl req -new -x509 -key ca.key -out ca.crt
可以加证书过期时间选项 “-days 365”.
四、利用 CA 证书进行签名
用生成的 CA 证书为 server.csr,client.csr 文件签名, 利用 openssl 中附带的 CA.pl 文件
1. 在提示输入已有的证书文件时, 输入上面已生成的 ca.crt 证书文件;
ca.pl –newca
2. 生成服务端证书文件
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
3. 生成客户端证书文件
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
必须保证 openssl.cnf 在当前目录下, 这个文件可以在 apps 目录中找到.
五、可能出现的错误
错误 1:
error loading the config file ‘openssl.cnf’
解决方法
find . -name “openssl.c*”
cp /usr/local/ssl/openssl.cnf ./
错误 2:
解决方法
touch demoCA/serial
echo “00” > demoCA/serial
通过 OpenSSL 提供 FTP+SSL/TLS 认证功能,并实现安全数据传输 http://www.linuxidc.com/Linux/2013-05/84986.htm
利用 OpenSSL 签署多域名证书 http://www.linuxidc.com/Linux/2014-10/108222.htm
OpenSSL 的详细介绍:请点这里
OpenSSL 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/117034.htm