如何在Ubuntu 20.04中配置CA根證書
CA是公共的,也可以是私有的。 公共CA通常用於驗證網站的身份,私有CA用於為客戶端到站點VPN、使用者、內部伺服器或基礎設施內的個人程式和服務生成證照。
在本文中,我們將學習如何在 Ubuntu 20.04 中建立私有證照頒發機構 (CA)。在這裡,我們使用
easy-rsa
來建立和管理 CA 伺服器。
Ubuntu 20.04
EasyRSA 3.0.8
Easy-RSA 是一個 行工具,極大地促進了證照頒發機構 (CA) 的建立和證照的管理。它會生成一個私鑰和公共根證照。
從github下載Easy-RSA管理工具:
bpang@node02:~$ wget bpang@node02:~$ tar xvf EasyRSA-3.0.8.tgz bpang@node02:~$ mv EasyRSA-3.0.8 easy
進入easy目錄,複製一份vars變數檔案,它用來存放組織資訊。
bpang@node02:~/easy$ cp -p vars.example vars
編輯vars檔案
bpang@node02:~/easy$ vim vars
將下面幾行內容複製到vars檔案中,修改後面的值為自己想要的。
set_var EASYRSA_REQ_COUNTRY "CN" set_var EASYRSA_REQ_PROVINCE "BJ" set_var EASYRSA_REQ_CITY "BJ" set_var EASYRSA_REQ_ORG "Linuxprobe" set_var EASYRSA_REQ_EMAIL "test@example.com" set_var EASYRSA_REQ_OU "COm"
下面來初始化以下目錄:
bpang@node02:~/easy$ ./easyrsa init-pki Note: using Easy-RSA configuration from: /home/bpang/easy/vars init-pki complete; you may now create a CA or requests. Your newly created PKI dir is: /home/bpang/easy/pki
使用下面
為 CA 伺服器生成根私鑰對:
bpang@node02:~/easy$ ./easyrsa build-ca nopass Note: using Easy-RSA configuration from: /home/bpang/easy/vars Using SSL: openssl OpenSSL 1.1.1f 31 Mar 2020 Generating RSA private key, 2048 bit long modulus (2 primes) .....................................................................................................................................+++++ ..........................................................................................................................+++++ e is 65537 (0x010001) 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. ----- Common Name (eg: your user, host, or server name) [Easy-RSA CA]: CA creation complete and you may now import and sign cert requests. Your new CA certificate file for publishing is at: /home/bpang/easy/pki/ca.crt
上面命令中的
nopass
不設定密碼保護。
上面的命令已經生成了公私鑰了。公鑰的位置:
/home/bpang/easy/pki/ca.crt
,私鑰位置:
/home/bpang/easy/pki/private/ca.key
。Common Name可以根據需要修改。
現在我們生成了公共證照,我們需要將它匯入到另一臺伺服器上。
bpang@node02:~/easy/pki$ scp ~/easy/pki/ca.crt root@node01:~
然後開啟chrome瀏覽器,將ca.crt證照匯入
Settings - Privacy and security - Security - Manage certificates
我們可以在不同的伺服器上建立一些證照籤名請求 (CSR),讓CA證照伺服器對這些請求進行簽名。
建立一個名為 cert 的目錄來儲存 CSR 和私鑰:
bpang@node02:~$ mkdir cert bpang@node02:~$ cd cert bpang@node02:~/cert$
使用openssl生成私鑰:
bpang@node02:~/cert$ openssl genrsa -out server.key 2048 Generating RSA private key, 2048 bit long modulus (2 primes) .......+++++ ....................................+++++ e is 65537 (0x010001)
下面用建立的私鑰來生成證照請求檔案:
bpang@node02:~/cert$ openssl req -new -key server.key -out server.req -subj "/C=CN/ST=BJ/L=BJ/O=Linuxprobe/OU=poc/CN=192.168.56.103/emailAddress=admin@example.com"
將csr證照請求檔案複製到CA伺服器中,用來簽名。
首先使用easyrsa工具的
import-req
將請求檔案匯入:
bpang@node02:~/easy$ ./easyrsa import-req ~/cert/server.req server Note: using Easy-RSA configuration from: /home/bpang/easy/vars Using SSL: openssl OpenSSL 1.1.1f 31 Mar 2020 The request has been successfully imported with a short name of: server You may now use this name to perform signing operations on this request.
匯入證照請求的語法為:
show-req[ cmd-opts ]
現在使用以下命令簽署 CSR:
bpang@node02:~/easy$ ./easyrsa sign-req server server Note: using Easy-RSA configuration from: /home/bpang/easy/vars Using SSL: openssl OpenSSL 1.1.1f 31 Mar 2020 You are about to sign the following certificate. Please check over the details shown below for accuracy. Note that this request has not been cryptographically verified. Please be sure it came from a trusted source or that you have verified the request checksum with the sender. Request subject, to be signed as a server certificate for 825 days: subject= countryName = CN stateOrProvinceName = BJ localityName = BJ organizationName = Linuxprobe organizationalUnitName = poc commonName = 192.168.56.103 emailAddress = admin@example.com Type the word 'yes' to continue, or any other input to abort. Confirm request details: yes Using configuration from /home/bpang/easy/pki/easy-rsa-761176.rivirt/tmp.7Wh15B Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'CN' stateOrProvinceName :ASN.1 12:'BJ' localityName :ASN.1 12:'BJ' organizationName :ASN.1 12:'Linuxprobe' organizationalUnitName:ASN.1 12:'poc' commonName :ASN.1 12:'192.168.56.103' emailAddress :IA5STRING:'admin@example.com' Certificate is to be certified until Aug 13 13:33:36 2024 GMT (825 days) Write out database with 1 new entries Data Base Updated Certificate created at: /home/bpang/easy/pki/issued/server.crt
從輸出來看證照已經儲存到
/home/bpang/easy/pki/issued/server.crt
裡面了。驗證一下:
下面將證照可秘鑰複製到web伺服器中,用來配置web的https:
# 將證照複製到/etc/ssl/certs bpang@node02:~$ sudo cp -p easy/pki/issued/server.crt /etc/ssl/certs/ # 將私鑰複製到/etc/ssl/private bpang@node02:~$ sudo cp -p cert/server.key /etc/ssl/private/
修改apache2的配置檔案,指定ssl的證照和私鑰檔案位置:
bpang@node02:~$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key
重啟apache。
客戶端匯入根證照之後,訪問以下可以看到不再顯示not secure了。
在本教程中,我們學習瞭如何在 Ubuntu 20.04 上建立私有證照頒發機構 (CA)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2896621/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 根證書 CA
- 使用 OpenSSL 建立私有 CA:1 根證書
- CA證書伺服器(6)利用CA證書配置安全Web站點伺服器Web
- CDN加速域名https中級CA證書的配置HTTP
- ca 證書機制
- 使用 OpenSSL 建立私有 CA:2 中間證書
- 建立自簽名根證書-中間證書。
- 【原】CA證書的理解
- 細說 CA 和證書
- 數字證書認證(CA)中心
- 配置docker和containerd,使用ca證書訪問harborDockerAI
- PKI/CA與數字證書
- TAM和CA證書的整合
- android 安裝CA證書Android
- Ubuntu 20.04 中配置NFS服務UbuntuNFS
- 根證書和中間證書有什麼不一樣
- 基於CFSSL工具建立CA證書,服務端證書,客戶端證書服務端客戶端
- Ubuntu 20.04 簡述環境配置&美化Ubuntu
- 【筆記】Ubuntu 20.04 快速配置 SSH筆記Ubuntu
- ubuntu 20.04安裝配置mysql8.0UbuntuMySql
- CA數字證書包括哪些內容?
- 如何在Ubuntu 20.04上安裝Unity桌面環境UbuntuUnity
- 中移鏈結合CA證書實現節點准入控制
- VMware之Ubuntu20.04擴充根目錄磁碟空間Ubuntu
- 使用 openssl 命令列構建 CA 及證書命令列
- go-自籤ca證書,客戶端數字證書,服務端數字證書Go客戶端服務端
- ca證書怎樣理解?與恆訊科技的ssl證書一樣嗎?
- 使用 OpenSSL 建立私有 CA:3 使用者證書
- 如何配置內網IP SSL證書?附客戶端匯入IP根證書兩種方案內網客戶端
- 如何在Ubuntu 20.04上獲取最新版本的vim?Ubuntu
- 使用OpenSSL建立生成CA證書、伺服器、客戶端證書及金鑰伺服器客戶端
- Ubuntu smtp驗證配置Ubuntu
- 自己成為一個證書頒發機構(CA)
- https--OpenSSL生成root CA及簽發證書HTTP
- 通過Go語言建立CA與簽發證書Go
- CA證書伺服器(2)非對稱式加密伺服器加密
- CA證書伺服器(1)資料加密技術伺服器加密
- 如何在 Ubuntu 上配置網橋Ubuntu