Mac Openssl命令

注意:命令和值之間最好只有一個空格符,不然openssl會吧多餘的空格當成命令或值得一部分,導致出錯

消息摘要

openssl dgst -md5 1.txt //輸出到stdout

openssl md5 1.txt //輸出到stdout

openssl md5 -out 3.txt 1.txt //將1.txt的MD5值輸出到3.txt

對稱加密

openssl enc -e -des3 -in 1.txt -out 2.txt //加密,需要輸入密碼

openssl enc -e -des3 -in 1.txt -out 2.txt -pass pass:123 //加密,不需要輸入密碼

openssl enc -d -des3 -in 2.txt -out 3.txt //解密,需要輸入密碼

openssl enc -d -des3 -in 2.txt -out 3.txt -pass pass:123 //解密,不需要輸入密碼

openssl enc -e -des3 -salt -in 1.txt -out 2.txt -pass pass:456 //加鹽

RSA

生成的文件的後綴名其實可以隨意的更改,文件本身的格式取決於命令參數設置,而不是我們指定的文件名。生成的私鑰文件的後綴名我可以任意指定爲pem,key,abc但是查看這個文件本身的格式(file "file.xxx")時,展示的文件格式都是PEM RSA private key。生成的公鑰文件也不管後綴是什麼,本身的格式都是文本文件(ASCII text)

openssl genrsa -out privatekey.pem -des3 2048 //生成私鑰,帶密碼

openssl genrsa -out privatekey.pem 2048 //生成私鑰,不帶密碼

openssl rsa -in privatekey.pem -pubout -out publickey.pem //根據私鑰生成公鑰

openssl rsautl -encrypt -inkey publickey.pem -pubin -in 1.txt -out 2.txt //公鑰加密文件,生成的文件不能直接打開

openssl rsautl -decrypt -inkey privatekey.pem -in 2.txt -out 3.txt //私鑰解密文件

openssl rsautl -sign -inkey privatekey.pem -in 1.txt -out 2.txt //私鑰加密

openssl rsautl -verify -pubin -inkey publickey.pem -in 2.txt -out 4.txt //公鑰解密

證書

證書中包含了證書的基本信息,請求者的公鑰,CA的私鑰加密過後的數字簽名

證書請求包含了證書的基本信息,請求者的公鑰(可以直接使用私鑰,openssl會自動從私鑰中提取公鑰)

證書請求文件和根證書都有一個數字簽名,都是用自己的私鑰進行加密的

openssl genrsa -out privatekey.pem 2048 //生成私鑰,不帶密碼

openssl req -new -key privatekey.pem -out req.csr //生成證書請求,文件格式爲PEM certificate request

openssl req -in req.csr -text -noout //查看證書請求內容,-text和-noout都是可選項,證書請求內容分爲文本和頭部信息,-subject也可以只輸出subject部分(個人基本信息:subject=/C=CN/ST=SH/L=SH/CN=172.31.132.83),-pubkey可以輸出公鑰部分

openssl req -x509 -key privatekey.pem -in req.csr -out root.crt -days 365 //根據證書請求文件創建證書,文件格式爲PEM certificate

req -new -x509 -key privatekey.pem -out root1.crt -days 365 //直接創建證書,創建的過程中在內存中生成證書請求文件

openssl req -new -out req3.csr //可以自動創建私鑰和證書請求文件,在Mac下面會將私鑰打印的公屏上,生成請求文件

openssl x509 -req -CA root.crt -CAkey root.key.pem -CAserial ca.srl -CAcreateserial -in server.req.csr -out server.crt -days 365 //創建由根證書籤名的應用證書

openssl x509 -req -in req.csr -signkey privatekey.pem -out idsrv4.crt -days 365 //創建根證書自簽名證書

格式轉換

openssl x509 -outform der -in root.crt -out root.cer //將pem轉爲der 編碼格式是der,但是後綴一般取爲cer

openssl x509 -inform der -in root.cer -out root1.crt //將der轉爲pem

openssl pkcs12 -export -out cert.pfx -inkey privatekey.pem -in root.crt //將pem轉化成pfx

openssl pkcs12 -in cert.pfx -out tet.pem //將pfx專務pem,直接用cat file打開,將裏面的多份數據分別保存獲得私鑰和證書


1.祕鑰只有pem和der2中格式,pem是base64編碼,der是二進制編碼

2.PKCS12/PFX 將多個證書和私鑰存儲在一個加密文件中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章