共计 2645 个字符,预计需要花费 7 分钟才能阅读完成。
OpenSSL 的两个主要功能:生成证书请求和生成自签名证书
一、OpenSSL 卸载与安装
卸载时切勿直接 yum remove openssl*,系统中很多软件都和 openssl 有依赖关系,会把一大堆系统需要的库文件删掉的,会导致很多服务和命令都没法用,所以,想使用新版本,最简单就是直接安装新版本,不要删掉旧版本
实验环境:RedHat Linux 5.8
latest:openssl-1.1.0-pre5.tar.gz
old:openssl-0.9.8
openssl 下载地址:ftp://ftp.openssl.org/source/openssl-1.1.0-pre5.tar.gz
新版本安装时要求系统的 perl 版本为 5.10.0 以上,目前 perl 最新版本为 v5.22.1,故首先安装编译 perlv5.22.1
perlv5.22.1 下载地址:http://www.cpan.org/src/5.0/perl-5.22.1.tar.gz
下载完后解压安装:
tar zxvf perl-5.22.1.tar.gz
cd perl-5.22.1
./Configure –des –Dprefix=/usr/local/perl #指定编译安装的位置
make
make test
make install
到此,新版本的 perl 即安装完成
替换原来的版本:
which perl
/usr/bin/perl #查看 perl 服务链接路径
rm -f /usr/bin/perl
ln –s/usr/local/perl/bin/perl /usr/bin/perl
perl –v #查看系统当前使用的版本
——————————————————————————–
升级安装完 perl 后,即可开始编译安装 openssl
下载后解压:
tar zxvf openssl-1.1.0-pre5.tar.gz
cd openssl-1.1.0-pre5
./config –prefix=/usr/local/ssl shared zlib-dynamic
–prefix #指定编译安装的位置
shared #创建共享库
zlib-dynamic #当 openssl 需要时会调用 zlib 库文件
make
make test
make install
vim /etc/ld.so.conf
/usr/local/ssl/lib #添加新版本的库文件到系统库配置文件中,使系统开机时能自动读取
ldconfig #使系统重读库文件
mv /usr/bin/openssl /usr/bin/openssl.bak
ln –s /usr/local/ssl/bin/openssl /usr/bin/openssl #备份并替换链接文件
二、openssl 使用:
1、加密 / 解密文件:openssl enc
加密:openssl enc –des3 –a –salt –in SFILE_NAME –out DFILE_NAME
-des3 #加密使用的算法
-a #用 base64 处理数据,可选
-salt #加密时加入杂质,增加破解难度,可选
解密:openssl enc –des3 –a –salt -d –in DFILE_NAME –out SFILE_NAME
-d #解密
(更多用法 openssl enc –help 查看)
2、实现私有 CA:
①、生成私钥
openssl genrsa
可选选项:
-out 文件:指定私钥保存到的文件
数字:指定私钥长度
- 算法:指定加密私钥的算法(默认使用 rsa)
openssl genrsa –out capri.key 1024 #私钥默认权限为 600
②、从私钥中导出公钥
opensslrsa –in capri.key –pubout –out capub.key
③、生成自签署证书
openssl req
-new #生成证书请求
-x509 #生成自签名证书
-key #使用已有私钥文件
-newkey #在生成证书请求或自签名证书时自动生成密钥,生成的密钥名称由 -keyout 指定;- newkey 后面的参数格式为 type:bits(rsa:1024)type 指定算法;bits 指定密钥长度
-out #指定证书位置
-days #指定证书有效期限
openssl x509 –text –in ca.srt #查看证书信息
④、编辑 /usr/local/ssl/ssl/openssl.cnf
至此,一个私有 CA 即建立完成了
3、生成证书请求
1、生成私钥
2、导出公钥
3、生成请求
(其中
应与私有 ca 中的信息相同)
4、到私有 ca 的主机上签名
openssl ca –in httpd.csr –out httpd.crt -days +365
更多 OpenSSL 相关内容可以查看以下的有用链接:
使用 OpenSSL 命令行构建 CA 及证书 http://www.linuxidc.com/Linux/2015-10/124682.htm
Ubuntu 安装 OpenSSL http://www.linuxidc.com/Linux/2015-10/124001.htm
通过 OpenSSL 提供 FTP+SSL/TLS 认证功能,并实现安全数据传输 http://www.linuxidc.com/Linux/2013-05/84986.htm
Linux 下使用 OpenSSL 生成证书 http://www.linuxidc.com/Linux/2015-05/117034.htm
利用 OpenSSL 签署多域名证书 http://www.linuxidc.com/Linux/2014-10/108222.htm
在 OpenSSL 中添加自定义加密算法 http://www.linuxidc.com/Linux/2015-08/121749.htm
OpenSSL 的详细介绍:请点这里
OpenSSL 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130828.htm