加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

服务器内容加密 CA Server证书申请与颁发 & Apache2 HTTPS

发布时间:2022-10-19 17:01:03 所属栏目:安全 来源:转载
导读: 本文将介绍关于CA Server的相关内容。CA Server搭建与自签名证书创建,实体认证与证书颁发,服务器证书申请与导入。
另外,证书申请后,想要进行应用,还需要配置服务器的HTTPS。
CA Serve

本文将介绍关于CA Server的相关内容。CA Server搭建与自签名证书创建,实体认证与证书颁发,服务器证书申请与导入。

另外,证书申请后,想要进行应用,还需要配置服务器的HTTPS。

CA Server initialize

本文使用easy-rsa工具(GitHub repo)进行CA Server的配置与维护,easy-rsa 是基于shell的CA管理工具,可以方便进行CA的管理和基本操作。

cd easy-rsa
./easyrsa init-pki

配置 vars

vars是基本CA服务器配置文件,新版配置文件被放入pki目录中,需要另行修改

set_var EASYRSA_REQ_COUNTRY		"CN"
set_var EASYRSA_REQ_PROVINCE	"Shang Hai"
set_var EASYRSA_REQ_CITY		"Shang Hai"
set_var EASYRSA_REQ_ORG			"Zheng's Studio"
set_var EASYRSA_REQ_EMAIL		"hz1624917200@outlook.com"
set_var EASYRSA_REQ_OU			"My Organizational Unit"

生成CA根证书

./easyrsa build-ca

build CA

生成CA根证书ca.crt,此证书是CA的凭证,所有该CA签署的证书都需要该根证书证明

将ca.crt取出,分发给服务器和客户端。服务器需要CA证书作为信任链,客户端需要信任CA根证书。

Linux 安装证书

将crt证书移动到/usr/local/share/ca-certificates下,更新证书

sudo update-ca-certificates

更新后的证书可以在/etc/ssl/certs中查到(仅软链接)

Windows 安装证书

双击证书,点击install,安装在Trusted Root Certification Authorities.这一步非常关键,Windows将给予该CA机构根信任,该机构签发的所有证书都将被系统信任。

install

证书申请与颁发 服务器密钥对生成

在申请证书前,需要先生成证书的目标公钥,使用openssl工具生成密钥对。

openssl genrsa -out <key_name>.key

密钥请妥善保存,若遗失则证书将不再有保护作用,需要申请撤销

gen server CA

申请证书

Attention: 在申请证书前,需要添加DNS请求字段,否则将出现证书域名不匹配,会被浏览器拦截。

我们将在下文中看到如果不添加字段的后果,如果想避免重新申请和颁发证书,请照做

在openssl.conf文件中服务器内容加密,(位置不完全相同,笔者的文件在/etc/ssl中),增加如下信息:

...
[ req ]
...
req_extentions		= v3_req
[ v3_req ]
...
subjectAltName = @alt_names
[ alt_names ]
DNS.1	= domain1
DNS.2	= domain2

然后执行如下指令,创建申请

sudo openssl req -new -key <key_name>.key -out <request_name>.req

CA request

x509 extension

将请求文件传输给CA Server,准备颁发

证书签署

使用easy-rsa维护证书实体和申请等信息

./easyrsa import-req <req_name> <entity_name>

req imported

使用sign-req命令签署证书

./easyrsa sign-req server <entity_name>

生成文件位于./pki/issued/.crt

在Windows上查看证书:

kali cert

在Linux上查看证书:

sudo openssl x509 -in <cert_name> -noout -text

signed crt

Apache2 配置 HTTPS 启用 module

启用ssl module

sudo a2enmod ssl

查看模块信息

sudo a2query -m

配置站点

在 /etc/apache2/sites-available下,新建站点(也可以直接修改默认站点)

原先自带两个站点配置文件,000-default.conf, default-ssl.conf

将两个配置文件合并为新的配置文件,继续修改(需要同时配置80和443的端口,可以使用echo合并,自行操作)


	ServerAdmin ...
	ServerName ...
	DocumentRoot ...
	...
	SSLCertificateFile /path/to/server/certificate
	SSLCertificateKeyFile /path/to/server/certificate/key
	
	SSLCertificateChainFile /path/to/server/certificate/chain
	...

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!