openssl筆記教程

2021-10-08 20:43:53 字數 2671 閱讀 1852

生成rsa私鑰(無加密)

openssl genrsa -out rsa_private.key 2048

生成rsa公鑰

openssl rsa -in rsa_private.key -pubout -out rsa_public.key

生成rsa私鑰(使用aes256加密)

openssl genrsa -aes256 -passout pass:123456 -out rsa_aes_private.key 2048

passout代替shell進行密碼輸入,否則會提示輸入密碼

此時使用這個金鑰生成公鑰需要提供密碼

openssl -rsa -in rsa_aes_private.key -passin pass:123456 -pubout -out  rsa_public.key

轉換

私鑰轉非加密

openssl rsa -in rsa_aes_private.key -passin pass:123456 -out rsa_private.key

私鑰轉加密

openssl rsa -in rsa_private.key -aes256 -passout pass:123456 -out rsa_aes_private.key

私鑰pem轉der

openssl rsa -in rsa_private.key -outfrom der-out rsa_aes_private.der

檢視私鑰明細

openssl rsa -in rsa_private,key -noout -text

-pubin引數可檢視公鑰明細

生成自簽名證書

openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crt

req是證書請求的子命令

-newkey rsa:2048 -keyout private_key.pem 表示生成私鑰(plcs8格式)

-nodes 表示私鑰不加密,若不帶引數則提示輸入密碼

-x509 表示輸出證書

-days 365 為有效期

然後根據提示輸入證書擁有者資訊,自動輸入可使用-subj選項: -subj "/c=cn/st=gd/l=sz .........."

使用已有rsa私鑰生成自簽名證書

openssl req -new -x509 -key rsa_private.key -out cert.crt

-new 生成證書請求

-key 指定私鑰檔案

生成ca簽名的證書

生成簽名請求

先生成rsa私鑰

open genrsa -ase256 -passout 123456 -out server.key 2048

使用rsa私鑰生成csr簽名請求

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

然後就可以提交至ca進行簽發

使用ca證書及ca金鑰對請求簽發證書進行簽發,生成x509證書

openssl x509 -req -days 3650 -in server.csr -ca ca.crt  -cakey ca.key -passin pass:123456 -cacreateserial -out server.crt

密解密檔案

enc 表示對檔案進行對稱加密或解密

-e 表示對乙個檔案進行加密操作

-d 表示對檔案進行解密操作

-aes256 表示使用aes256演算法進行加密或解密

-in 表示需要被加密或被解密的檔案

-out 表示加密或解密之後生成的新檔案

加密openssl enc -e -aes256 -in data.txt -out aesdata.txt

解密openssl enc -d -aes256 -in esdata.txt -out data2.txt

passwd(用於生成加密的密碼)

-crypt:unix標準加密演算法,此為預設演算法。如果加鹽(-salt)算密碼,只取鹽的前2位,2位後面的所有字元都忽略。

"。-apr1(數字):apache中使用的備選md5演算法代號,不能和"-1"選項一起使用,因為apr1本身就預設了md5。htpasswd工具生成的身份驗證密碼就是此方法。

-salt:加密時加點鹽,可以增加演算法的複雜度。但加了鹽會有***:鹽相同,密碼相同,加密的結果將一樣。

-in file:從檔案中讀取要計算的密碼列表

-stdin:從標準輸入中獲取要輸入的密碼

-quiet:生成密碼過程中不輸出任何資訊

生成加密密碼

openssl passwd 123456 輸出隨機結果

預設使用-crypt加密的密碼是隨機的,如果加入鹽後,密碼一樣,鹽一樣,結果也一樣,另外,預設的-crypt只取鹽的前兩位字元。

openssl passwd -salt 'lsh' 123456;openssl passwd -salt 'lsh' 123456 輸出相同結果

使用md5加密,加鹽時,長度不再限於2位了。

openssl passwd -1 123456

openssl 安裝教程

安裝 原始碼安裝包解壓縮 進入解壓目錄openssl 1.1.1c,安裝 可參考安裝檔案install config make make test 可選 make install 使用管理員許可權執行該命令 驗證是否安裝成功 openssl version a openssl error while...

OpenSSL學習筆記 CRL

這個結構代表了乙個被吊銷的證書 asn1 integer serialnumber 證書序列號 asn1 time revocationdate 被吊銷的日期 stack of x509 extension optional extensions int sequence load sequence...

OpenSSL學習筆記 簡介

openssl 是乙個主要用於transport layer security tls 和 secure sockets layer ssl 協議的穩定 可商用 全功能的工具箱。openssl也是乙個強大通用的安全套接字層加密庫,用於網路上以及計算機之間的加密通訊協議等,同時它還是乙個多用途的 跨平...