????????????????openssl創建私有ca


1.ssl大概內容

PKI:公鑰基礎設施結構

CA:證書權威機構,PKI的核心

CRL:證書吊銷列表,使用證書之前需要檢測證書有效性


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

? 包含內容?

? ? 公鑰有效期限

? ? 證書的合法擁有人

? ? 證書該如何使用

? ? CA的信息

? ? CA簽名的校驗碼(簽名)


ssl:是在傳輸層和應用層之間的一個庫,通過調用ssl實現加密

目前常用版本:V2?V3版


客戶端和服務端通信

? ? 客戶端請求服務端

? ? 客戶端和服務端協商使用加密協議,加密算法 ?SSLv1 SSLv2 TLSv3

? ? 服務端發送證書給客戶端?

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

? ? 服務端將對稱密碼加密數據給客戶端

? ??


2.常見的加密算法 ??

對稱加密

? ? DES ?3DES

? ? AES ?AES192 AES 256 AES512

單向加密

? ? md4 ? md5

? ? SHA1 ?SHA192 SHA256 SHA384

? ? CRC-32


公鑰加密

? ? 身份認證

? ? 數據加密

? ? 密鑰交換

? ? ? ?RSA算法 可以用來加密也可用來簽名

? ? ? ?DSA算法 只可以用來簽名



3.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



4.openssl創建私有CA步驟:

? ? 1、生成一對密鑰

? ? 2、生成自簽證書

生成一對密鑰:

? ? (umask 077; openssl genrsa -out cakey.pem 1024 )?

?()中的命令只在子shell中生效,命令執行完之后退出子shell

?umask:改變默認創建的文件和目錄權限,077為反碼

?genrsa:生成密鑰,權限為600,長度為1024位的私鑰

?存放在cakey.pem文件中



生成自簽證書:

? ? openssl req -new -x509 -key ?cakey.pem -out ?cacert.pem -days 365 ?//生成私有證書

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

? ? ????-new ??????//代表生成一個新的申請

? ????? -x509 ? ????//生成自簽證書?

? ????? -key ? ????//指定密鑰文件

? ????? -out ? ????//指定輸出證書文件

? ? ????-days ?????//指定過期時間

????交互式界面:

wKiom1jYxeuA0fX6AADqfmou5Uw559.png

1、國家代碼(CN,JB...)

2、省份 ? ? 3、市 ? ? ??4、組織

5、部門 ? ? 6、主機名 ? ? 7、郵箱地址

?


在/etc/pki/CA目錄下創建必要certs , newcerts,crl目錄,和index.txt,serial文件

需要給serial文件一個初始值,一般為01,需要自己編輯


/ect/pki/CA/private/cakey.pem //存放CA自己的密鑰文件,命名為cakey.pem

/ect/pki/CA/cacert.pem //自簽證書存放位置



5、驗證

客戶機:

(umask 077; openssl genrsa -out httpd.key 2048)

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


服務器:

客戶機將httpd.csr上傳CA服務器

openssl ca -in httpd.csr -out httpd.crt -days 365

將簽署的證書發送改客戶機