目前标准的证书存储格式是x509,还有其他的证书格式,需要包含的内容为:
证书==×××
? 公钥信息,以及证书过期时间
? 证书的合法拥有人信息
? 证书该如何被使用(不用关注)
? CA颁发机构信息
? CA签名的校验码
04: OpenSSL软件详细说明
获取OpenSSL软件的版本信息:
rpm -qa openssl
openssl version <- 查看openssl版本信息
获取OpenSSL配置文件信息:
/etc/pki/tls/openssl.cnf <- openssl配置文件,主要用于配置成私有ca时进行使用
说明:基本上openssl配置文件不需要运维过多修改配置
利用openssl软件实现HTTPS访问过程
实现HTTPS:
第一步:创建出一个私钥文件(出生证明) --- 运维人员需要会
方法一:openssl genrsa 2048 >server.key <- 创建私钥信息,并指定私钥的长度为2048,并将生成
或者: 的私钥信息保存在一个文件中
openssl genrsa -out server.key 2048 <- 将私钥信息直接进行保存,加密长度一定要放在输出文件后面
chmod 600 server.key
方法二:(umask 077;openssl genrsa -out server1024.key 1024)
<- 利用小括号,实现子shell功能,临时修改umask,使之创建的私钥文件权限为600
第二步:生成证书文件信息
①. 生成自签发证书 注意:自签发证书一般用来测试用的 --- 运维人员可以自行操作
[root@NFS-server-01 ~]# openssl req -new -x509 -key server.key -out server.crt -days 365
req <- 用于请求创建一个证书文件
new <- 表示创建的是新的证书
x509 <- 表示定义证书的格式为标准格式
key <- 表示调用的私钥文件信息
out <- 表示输出证书文件信息
days <- 表示证书的有效期
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) []:BJ <- 定义生成证书的省份
Locality Name (eg, city) [Default City]:BJ <- 定义生成证书的城市
Organization Name (eg, company) [Default Company Ltd]:oldboy <- 定义生成证书的组织
Organizational Unit Name (eg, section) []:it <- 定义生成证书的职能部门
Common Name (eg, your name or your server's hostname) []:oldboy.com.cn <- 定义主机服务器名称
说明:此输出信息非常重要,客户端在获取证书前,会利用主机名与相应服务器之间建立连接,然后获得证书
Email Address []:
②. 向证书颁发机构申请证书 --- ca证书版本机构完成
生成请求证书文件 (户口本) --- 运维人员完成
openssl req -new -key server.key -out server.csr 注:这个步骤,后面要求设置密码,避免自己公司的信息泄露
获取得到证书文件 (×××) --- ca颁发机构完成
省略
第三步:配置网站服务,加载私钥和证书信息
server {
listen 80;
server_name ;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443;
server_name ;
ssl on;
ssl_certificate /server/key/server.crt;
ssl_certificate_key /server/key/server.key;
root html/www;
index index.html index.htm;
}
第四步:利用浏览器访问测试
ssl模块官方链接:
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx