首页 > 代码库 > OpenSSL
OpenSSL
一、openssl常用子命令
加密、解密:enc -e|-d \\更多使用方法参照man enc
信息摘要:dgst
生产私钥、提取公钥:genrsa
制作证书签署请求、自建CA:req
生成随机数:rand
salt加密:passwd、
speed:测试速率
二、enc使用示例
# openssl version \\查看ssl版本
# openssl ? \\跟任意错误选项得到命令使用提示,查看选项
# openssl enc -des3 -in filename -e \\加密filename文件
\\命令 子命令 算法 指定 文件 加密
# openssl enc -des3 -in filename -e -out filename.des3 \\加密filename保存为filename.des3
\\命令 子命令 算法 指定 文件 加密 输出 保存文件名
# openssl enc -des3 -in filename.des3 -d -out filename \\解密filename.des3保存为filename
\\命令 子命令 算法 指定 保存文件名 解密 输出 解密文件名
三、dgst使用示例
# openssl dgst -md5 filename \\获取filename文件的特征码
命令 子命令 算法 文件名
# 也可以使用md5sum 、sha1sum 、sha256sum等等后面跟文件名提取特征吗
四、speed使用示例
# openssl speed des-ede3 \\测试当前计算机指定算法的加密速率
\\命令 子命令 算法
五、openssl passwd使用示例
# openssl passwd -1 -salt 312453 filename \\ 使用salt加密md5算法
命令 子命令 md5 salt 文件
六、openssl rand使用示例
# openssl rand -base64 4 \\ 生成指定格式的随机数
命令 子命令 格式 位数
# openssl rand -hex 4 \\ 生成16进制的随机数
命令 子命令 格式 位数
# openssl passwd -1 -salt `openssl rand -hex 4` filename \\结合rand使用passwd
命令 子命令 md5 salt 随机数
七、生成私钥
# openssl genrsa 1024 \\生成1024位rsa私钥
# openssl genrsa 1024 > key.pri \\生成1024位rsa私钥并保存到key.pri
openssl genrsa -out /path/to/key.pri 1024 \\同上
# openssl genrsa -des3 1024 > key.pri \\使用des3加密生成1024位rsa私钥保存到key.pri文件
八、提取公钥
# openssl rsa -in key.pri -out pubout \\从rsa私钥key.pri中提取公钥输出到pubout
九、证书签署请求
# openssl req -new -key /home/key.pri -out /home/req.csr
\\命令 子命令 新建 指定密钥文件 输出 证书
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Tongzhou
Organization Name (eg, company) [Default Company Ltd]:latex
Organizational Unit Name (eg, section) []:NetCentre
Common Name (eg, your name or your server‘s hostname) []:www.magedu.com 这里是真实域名
Email Address []:admin@magedu.com
Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []: 到这里不想加密可以直接回车
十、自建CA
# CA配置文件 /etc/pki/tls/openssl.cnf
# cd /etc/pki/CA
# (umask 077;openssl genrsa -out private/cakey.pem 2048) \\为CA生成私钥
\\以600权限 命令 子命令 输出 指定目录文件 加密位
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3653 \\生成自签证书,x509表示自签,不加表示申请; .pem文件的路径和名称是固定的, -days表示有效时间
\\自建CA填写的有效信息需与证书签署请求的内容一致
[root@localhost CA]# openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3650
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Tongzhou
Organization Name (eg, company) [Default Company Ltd]:latex
Organizational Unit Name (eg, section) []:NetCentre
Common Name (eg, your name or your server‘s hostname) []:www.magedu.com
Email Address []:admin@magedu.com
十一、给第九步的申请签证,文接上步
[root@localhost CA]# ls
cacert.pem certs crl newcerts private
[root@localhost CA]# touch serial index.txt \\ 创建序列号和数据库文件
[root@localhost CA]# echo 01 > serial \\设置序列号从01开始
[root@localhost ~]# cd /home/ \\去找我们第九步申请的证书
[root@localhost home]# ls
key.pri lost+found pubout req.csr
[root@localhost home]# openssl ca -in req.csr -out mycert.crt -days 3656
本文出自 “滴不尽相思血泪抛红豆” 博客,请务必保留此出处http://beijgh.blog.51cto.com/8272564/1429972