????????????????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 ?????//指定過期時間
????交互式界面:
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
將簽署的證書發送改客戶機
轉載于:https://blog.51cto.com/hongchen99/1910778