一、 简述

证书说明

网络安全性最首先要解决的就是身份验证问题;而解决身份验证问题,最主要的方式就是借助私钥和公钥,而最主要的公钥信息获取就变得尤为重要:利用第三方公正者,公正公钥信息

目前标准的证书存储格式是x509,还有其他的证书格式,需要包含的内容为:

  • 公钥信息,以及证书过期时间
  • 证书的合法拥有人信息
  • 证书该如何被使用(不用关注)
  • CA颁发机构信息
  • CA签名的校验码

所需软件和模块

  • 需要服务器已安装openssl和openssl-devel软件
  • 需要nginx安装了--with-http_ssl_module模块

二、 创建自签发证书

1.创建私钥文件

1)方法1

cd /etc/nginx/conf.d/
openssl genrsa 2048 >server.key
chmod 600 server.key

创建私钥信息,并指定私钥的长度为2048,并将生成的私钥信息保存在一个文件中

2)方法2

cd /etc/nginx/conf.d/
openssl genrsa -out server.key 2048
chmod 600 server.key

将私钥信息直接进行保存,加密长度一定要放在输出文件后面

3)方法3

cd /etc/nginx/conf.d/
(umask 077;openssl genrsa -out server1024.key 1024)

利用小括号,实现子shell功能,临时修改umask,使之创建的私钥文件权限为600

2.生成证书文件信息

1)生成自签发证书[测试用]

openssl req -new -x509 -key server.key -out server.crt -days 365

req		<- 用于请求创建一个证书文件
new		<- 表示创建的是新的证书
x509		<- 表示定义证书的格式为标准格式
key		<- 表示调用的私钥文件信息
out		<- 表示输出证书文件信息
days		<- 表示证书的有效期

092244406.png

2)申请真的CA证书[正式用]

向CA机构申请在正式环境中用的证书分两步

  1. 生成证书请求文件

    openssl req -new -key httpd.key -out httpd.csr

  2. 申请CA证书
    拿此csr文件与公司资质文件,向ca机构进行申请,申请成功会得到一个正式证书

或者直接在阿里云购买证书。

三、配置网站服务,加载私钥和证书信息

nginx此部分配置

server {
   listen        80;
   server_name  www.etiantian.org;
   rewrite ^(.*)$  https://$host$1 permanent; 
}
server {
  	listen       443;
	server_name  www.etiantian.org;
	ssl on;
	ssl_certificate /etc/nginx/conf.d/server.crt;
	ssl_certificate_key /etc/nginx/conf.d/server.key;
	root   html/www;
	index  index.html index.htm;
}

文章转自:https://www.kancloud.cn/noahs/linux/1539361#1_17

Q.E.D.