Openssl建立私有CA

2022-07-31 13:42:17 字數 3383 閱讀 2278

1.a和b通過ssl傳輸資料大概過程

私鑰加密的資料只能自己對應的公鑰才能解密,

ca 簽證機關先給自己發乙個證書,公共認可的機構,

a b之間通訊  資料都是通過自己生成的私鑰加密的後生成的資料

首先  a 將自己的 姓名 位址 公鑰 發給ca  ,傳送的資料稱為aa,

ca自己生成的有一對公鑰和私鑰。ca先提取aa資料的特徵碼, 然後用自己的私鑰加密,生成一段 資料,加密的結果附加到aa資料的後面也就是簽名,稱為aaa。

b 拿到發證機構的證書,裡面包含有發證機構的公鑰,能夠解密aaa中的資料證明證書是發證機構發的。得到aa,然後拿到a的公鑰,驗證資料的完整性。然後用a的公鑰解密a的  資料。

2.ssl大概內容

pki public key infrastructure  公鑰基礎設施結構

核心是ca  certificate authority  證書權威機構

crl   證書吊銷列表 certificate revocation list,使用證書之前需要檢測證書有效性。

證書儲存格式常見的x509格式

包含內容

公鑰有效期限

證書的合法擁有人

證書該如何使用

ca的資訊

ca簽名的校驗碼(簽名)

pki:tls/ssl  使用的x509格式

pki:opengpg

五層協議 : 物理層  資料鏈路層 網路層 傳輸層  應用層

ssl secure socket layer netscape公司

是在傳輸層和應用層的乙個庫,通過呼叫ssl實現加密

v1 v2  v3 版本

tls transport layer security 國際化標準組織

v1相當於sslv3

https 443埠

客戶端和服務端通訊

客戶端請求服務端

客戶端和服務端協商使用加密協議,加密演算法  sslv1 sslv2 tlsv1

服務端傳送證書給客戶端

客戶端生成隨機數,通過服務端公鑰加密後,傳輸資料(對稱密碼)給服務端

服務端勇對稱密碼加密資料給客戶端

3.常見的加密演算法

對稱加密

des

3des

aesaes192 aes 256 aes512

單向加密

md4md5

sha1

sha192 sha256 sha384

crc-32

公鑰加密

身份認證

資料加密

金鑰交換

rsa演算法 可以用來加密也可用來簽名

dsa演算法 只可以用來簽名

openssl ssl的實現,一種加密工具

元件libcrypto 通用加密庫各種加密演算法

libssl  tls/ssl的實現,實現了資料機密性,會話完整性的tsl/ssl庫

openssl 多用途命令列工具,可以實現私有證書頒發機構

4.openssl命令

speed 測試本機對各種加密演算法的速度

openssl speed rsa  可以接演算法表示測試單個演算法的速度

enc -des  指定加密演算法,對稱加密演算法    

-a 對檔案內容進行base64處理

-e 加密 預設選項

-d  解密

-salt 加鹽加密

-in  指定要加密的檔案

-out 加密後輸出檔案

dgst -md5 計算檔案特徵碼

genrsa 生成rsa金鑰

gendsa 生成dsa金鑰

加密 openssl enc -des3 -salt -a  -in /etc/fstab -out fstab.des3

解密 openssl enc -des3 -d -salt -a in fstab.des3 -out fstab

md5sum  sha1sum  計算檔案的md5,sha1特徵碼

openssl passwd -1 -salt ffgs

-1指定md5加密

openssl rand -base64 100 生成100位base64加密的隨機數

whatis passwd 獲取幫助

5.openssl製作私有ca

生成一對金鑰

生成自簽證書

(umask 077; openssl genrsa -out test.key 1024 )  ()中的命令只在子shell中生效,生成

許可權為600,長度為1024位的私鑰

openssl rsa -in test.key -pubout  表示從私鑰中提取公鑰

openssl req -new -x509 -key  test.key -out  server.crt -days 365  //生成私有證書

req  生成證書,和申請證書的命令

-new 代表生成乙個新的申請

-x509 生成自簽證書

-key 指定金鑰檔案

-out 指定輸出證書檔案

-days 指定過期時間

opsenssl x509 -text -in server.crt       //檢視私有證書內容文字格式

/etc/pki/tls/openssl.cnf  openssl配置檔案

dir  表示ca工作目錄   /etc/pki/ca

certs 客戶端證書儲存目錄

crl  證書吊銷列表目錄

database  證書儲存資料庫

new_certs_dir 新生成的證書儲存路徑

certificate  自有的證書檔案

serial      證書序列號檔案

crlnumber    證書吊銷列表的號碼

crl           吊銷證書檔案

private_key    ca的私鑰檔案

在/etc/pki/ca  目錄下建立certs , newcerts,crl目錄,和index,serial檔案,

/ect/pki/ca/private/cakey.pem 存放自簽私有證書,必須命名為cakey.pem

給serial檔案乙個初始值為01(自定義) ,自簽證書cacrt.pem

6.**請求ca簽署請求

openssl req -new -key request.key -out request.csr   //請求ca簽署證書

將證書傳送給ca

opensssl ca -in request.csr  -out request.crt -days 3655    //ca簽署請求證書  

ca將證書傳送給請求的主機

OpenSSL建立私有CA

ca default dir etc pki ca 工作目錄 certs dir certs 客戶端證書儲存位置 crl dir dir crl 證書吊銷列表 database dir index.txt 證書列表 new certs dir dir newcerts 新生成的證書儲存目錄 cert...

利用openssl建立私有CA

本次利用openssl建立私有ca,實現https加密通訊.openssl由三部分組成 加密演算法和協議 對稱加密演算法和協議 公鑰體系 分為公鑰和私鑰 des data encryption standard ibm研發 3des triple des aes advanced encryptio...

ssl協議,openssl,建立私有CA

ssl是security socket layer 安全的套接字層 他介於http和tcp協議層之間 ssl是netscape公司開發的,屬於個人 tls是標準委員會制定的 openssl是ssl的開源實現 ca 證書頒發機構 certification authority 兩台主機要通訊,他們需要...