1. 程式人生 > >Linux 部署CA數字證書服務

Linux 部署CA數字證書服務

systemctl ati pass code 獨立 gui state 機構 rest

CA數字證書服務

CA Certificate Authority 數字證書授權中心

被通信雙方信任的,獨立的第三方機構

負責證書頒發,驗證,撤銷等管理

PKI公鑰基礎設施

一套標準的密鑰管理平臺

通過公鑰加密,數字證書技術確保信息安全

PKI體系的基礎組成

權威認證機構(CA)

數字證書庫,密鑰備份及恢復系統

證書作廢系統,應用接口


OpenSSL加密/解密工具

對稱加密:

— enc 算法 -e -in 輸入文件 -out 輸出文件 #加密

— enc 算法 -d -in 輸入文件 -out 輸出文件 #解密

[root@localhost ~]# which openssl

/usr/bin/openssl

[root@localhost ~]# rpm -qf /usr/bin/openssl

openssl-1.0.1e-42.el7_1.9.x86_64

[root@localhost ~]# vim f1.txt

[root@localhost ~]# openssl enc -des3 -e -in f1.txt -out f1.txt.enc

enter des-ede3-cbc encryption password:

Verifying - enter des-ede3-cbc encryption password:

[root@localhost ~]# ls f1*

f1.txt f1.txt.enc

[root@localhost ~]# rm -rf f1.txt

[root@localhost ~]# openssl enc -des3 -d -in f1.txt.enc -out f1.txt

enter des-ede3-cbc decryption password:

[root@localhost ~]# ls f1*

f1.txt f1.txt.enc


部署CA服務器

第一步:配置CA簽署環境

[root@CA ~]# ls /etc/pki/CA/ #工作目錄

certs crl newcerts private

[root@CA ~]# ls /etc/pki/CA/certs/ #存儲簽發的數字證書

[root@CA ~]# touch /etc/pki/CA/index.txt #存儲發放出去的數字證書信息

[root@CA ~]# chmod 600 /etc/pki/CA/index.txt

[root@CA ~]# touch /etc/pki/CA/serial

#證書編號文件

[root@CA ~]# chmod 600 /etc/pki/CA/serial

[root@CA CA]# echo 01 > serial

[root@CA CA]# cat serial

01


[root@CA ~]# vim /etc/pki/tls/openssl.cnf #調整配置

42 dir = /etc/pki/CA #CA簽署工作目錄

43 certs = $dir/certs #用戶證書存放路徑

44 crl_dir = $dir/crl

45 database = $dir/index.txt #存儲發放出去的數字證書信息

50 certificate = $dir/my-ca.crt #CA根證書文件名

51 serial = $dir/serial #證書編號文件

55 private_key = $dir/private/my-ca.key #CA私鑰文件名


130 countryName_default = CN

135 stateOrProvinceName_default = beijing

138 localityName_default = beijing

141 0.organizationName_default = Xuenqlve

148 organizationalUnitName_default = ope


84 [ policy_match ] #匹配策略

85 countryName = match

86 stateOrProvinceName = match

87 organizationName = match

88 organizationalUnitName = optional

89 commonName = supplied

90 emailAddress = optional


match 必須匹配

optional 可選

supplied 忽略


第二步:為CA生成私鑰

[root@CA ~]# cd /etc/pki/CA/private/

[root@CA private]# openssl genrsa -des3 2048 > my-ca.key

Generating RSA private key, 2048 bit long modulus

.....................................................................+++

..+++

e is 65537 (0x10001)

Enter pass phrase: #設私鑰口令

Verifying - Enter pass phrase: #重復私鑰口令

[root@CA private]# ls

my-ca.key

[root@CA private]# chmod 600 my-ca.key


第三步:為CA服務器創建根證書

-new 新文件

-x509 證書的版式

./private/my-ca.key 私鑰文件名

-day 365 有效日期

[root@CA private]# cd ..

[root@CA CA]# openssl req -new -x509 -key ./private/my-ca.key -days 365 > my-ca.crt

Enter pass phrase for ./private/my-ca.key:

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) [CN]:

State or Province Name (full name) [beijing]:

Locality Name (eg, city) [beijing]:

Organization Name (eg, company) [Xuenqlve]:

Organizational Unit Name (eg, section) [ope]:

Common Name (eg, your name or your server's hostname) []:Xuenqlve.ca.com

Email Address []:[email protected]




第四步:發布根證書

可以通過Web,FTP等方式進行發布

[root@CA ~]# yum -y install httpd

[root@CA ~]# systemctl stop firewalld

[root@CA ~]# setenforce 0

[root@CA ~]# systemctl restart httpd

[root@CA ~]# systemctl enable httpd.service

[root@CA ~]# mkdir /var/www/html/ca

[root@CA ~]# cp /etc/pki/CA/my-ca.crt /var/www/html/ca/


客戶端下載應用

[root@test ~]# wget http://192.168.4.2/ca/my-ca.crt

--2018-01-04 20:27:49-- http://192.168.4.2/ca/my-ca.crt

正在連接 192.168.4.2:80... 已連接。

已發出 HTTP 請求,正在等待回應... 200 OK

長度:1399 (1.4K)

正在保存至: “my-ca.crt”


100%[======================================>] 1,399 --.-K/s 用時 0s


2018-01-04 20:27:49 (141 MB/s) - 已保存 “my-ca.crt” [1399/1399])


[root@test ~]# firefox

進入火狐瀏覽器 點擊瀏覽器右側打開菜單--> 點擊首選項

然後點擊高級--->點擊證書--->點擊查看證書

技術分享圖片


點擊證書機構--->點擊導入

技術分享圖片


在計算機上找到剛剛下載的 my-ca.crt 證書 ---> 點擊打開

技術分享圖片

勾選信任--->點擊確定

技術分享圖片

然後就可以看見我們自己搭建的證書信息了

技術分享圖片



Linux 部署CA數字證書服務