資料的加密解密對于Linux系統來說,是至關重要的一個概念,必須懂的對資料進行保護,上次我們詳細說了關于資料加密的種種方式,如公鑰加密,單向加密,密鑰交換等,以及認證機構CA的存在;而OpenSSL指令就是一個可以幫助我們實作公鑰加密,建立私鑰,并根據私鑰建立出公鑰;還可以進行單向加密,生成随機數,對使用者的密碼進行加密操作;還有一點,就是可以利用OpenSSL自己認證生成私人CA,使用者可以根據OpenSSL指令生成CA請求證書,并将此證書發給有公信力的CA進行認證,産生一個CA憑證用來證明使用者;
openssl enc:加密解密指令,可以指定加密算法加密檔案;
in filename:加密檔案路徑;
out filename:輸出的加密檔案路徑;
-ciphername:算法名稱,des3,des,aes,rc4;
-e:加密;
-d:解密;
-a/-base64:純文字格式的加密;
-salt:随機鹽;
加密執行個體:
解密執行個體:
openssl rand:生成随機數
-hex:生成十六進制的随機數;
-base64:生成純文字格式的随機數;
執行個體:
openssl dgst:單向加密,隻能加密,不能解密;
-ciphername:指定單向加密算法,sha,md5等;
openssl passwd:使用者密碼加密;
openssl passwd -1 -salt (鹽可自寫)
openssl passwd [-1] [-salt string]
執行個體:
openssl genrsa:公鑰加密,首先建立私鑰;
-out filename:将私鑰放入檔案中;
私鑰檔案最好是将權限設定為600,這樣其他使用者就無法通路修改,隻有建立這個私鑰檔案的使用者 可以通路修改;
設定權限:
openssl rsa:根據私鑰檔案生成公鑰
一個私鑰隻能生成同一種公鑰,除非私鑰檔案遭到修改,否則公鑰檔案不會産生變化;
-in filename:私鑰檔案作為輸入;
-out filename:公鑰檔案作為輸出;
建立私有的CA
建立一個私有的CA檔案首先要建立幾個固定的CA配置檔案,這些配置檔案都是在CA專有的配置檔案中有對應的位置的,如果要修改檔案名的話,也要将CA專有的配置檔案/etc/pki/tls/openssl.cnf中的檔案名;
目錄級檔案:
/etc/pki/CA/certs
/etc/pki/CA/newcerts
/etc/pki/CA/crl
文本級檔案:
/etc/pki/CA/index.txt
/etc/pki/CA/serial
需要在檔案serial中輸入01,其餘檔案如果沒有就建立,放空即可;
CA建立的公鑰私鑰必須放在指定路徑下的檔案中;
公鑰:/etc/pki/CA/cacert.pem
私鑰:/etc/pki/private/cakey.pem
建立CA私鑰:
生成自檢的證書
openssl req -new -x509 -key filename -out filename
-new:生成一個新的證書;
-x509:當是CA生成這個自簽證書時使用x509;
-key:CA的私鑰;
-out filename:輸出的公鑰檔案即自簽證書;
-days:自簽證書的有效期限,以天為機關;
執行個體:
CA對外來使用者的證書申請,需要經過嚴格的稽核,而在稽核過後,CA就可以通過openssl ca來對使用者簽發證書,證書完成後,發送給使用者即可;
使用者的證書申請的生成也同CA的證書生成一樣,都是使用openssl req生成的;
使用者将自己生成的證書,發送給CA
openssl ca -in 使用者證書路徑 -out 生成的使用者證書路徑 -days 有效期限
本文轉自 wujunqi1996 51CTO部落格,原文連結:http://blog.51cto.com/12480612/1954607