亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Linux 中的 Openssl命令及實例代碼

2020-07-27 18:51:19
字體:
來源:轉載
供稿:網友

openssl命令的格式是"openssl command command-options args",command部分有很多種命令,這些命令需要依賴于openssl命令才能執行,所以稱為偽命令(pseudo-command),每個偽命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能。

OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,并提供豐富的應用程序供測試或其它目的使用。在OpenSSL被曝出現嚴重安全漏洞后,發現多數通過SSL協議加密的網站使用名為OpenSSL的開源軟件包。由于這是互聯網應用最廣泛的安全傳輸方法,被網銀、在線支付、電商網站、門戶網站、電子郵件等重要網站廣泛使用,所以該漏洞影響范圍廣大。

OpenSSL有兩種運行模式:交互模式批處理模式。

直接輸入openssl回車進入交互模式,輸入帶命令選項的openssl進入批處理模式。

OpenSSL整個軟件包大概可以分成三個主要的功能部分:密碼算法庫、SSL協議庫以及應用程序。OpenSSL的目錄結構自然也是圍繞這三個功能部分進行規劃的。 

對稱加密算法

OpenSSL一共提供了8種對稱加密算法,其中7種是分組加密算法,僅有的一種流加密算法是RC4。這7種分組加密算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持電子密碼本模式(ECB)、加密分組鏈接模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它算法使用的則是64位。事實上,DES算法里面不僅僅是常用的DES算法,還支持三個密鑰和兩個密鑰3DES算法。 

非對稱加密算法

OpenSSL一共實現了4種非對稱加密算法,包括DH算法、RSA算法、DSA算法和橢圓曲線算法(EC)。DH算法一般用戶密鑰交換。RSA算法既可以用于密鑰交換,也可以用于數字簽名,當然,如果你能夠忍受其緩慢的速度,那么也可以用于數據加密。DSA算法則一般只用于數字簽名。 

信息摘要算法

OpenSSL實現了5種信息摘要算法,分別是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事實上包括了SHA和SHA1兩種信息摘要算法,此外,OpenSSL還實現了DSS標準中規定的兩種信息摘要算法DSS和DSS1。 

密鑰和證書管理

密鑰和證書管理是PKI的一個重要組成部分,OpenSSL為之提供了豐富的功能,支持多種標準。 

首先,OpenSSL實現了ASN.1的證書和密鑰相關標準,提供了對證書、公鑰、私鑰、證書請求以及CRL等數據對象的DER、PEM和BASE64的編解碼功能。OpenSSL提供了產生各種公開密鑰對和對稱密鑰的方法、函數和應用程序,同時提供了對公鑰和私鑰的DER編解碼功能。并實現了私鑰的PKCS#12和PKCS#8的編解碼功能。OpenSSL在標準中提供了對私鑰的加密保護功能,使得密鑰可以安全地進行存儲和分發。 

在此基礎上,OpenSSL實現了對證書的X.509標準編解碼、PKCS#12格式的編解碼以及PKCS#7的編解碼功能。并提供了一種文本數據庫,支持證書的管理功能,包括證書密鑰產生、請求產生、證書簽發、吊銷和驗證等功能。 

事實上,OpenSSL提供的CA應用程序就是一個小型的證書管理中心(CA),實現了證書簽發的整個流程和證書管理的大部分機制。

實例

1、消息摘要算法應用例子

用SHA1算法計算文件file.txt的哈西值,輸出到stdout:

# openssl dgst -sha1 file.txt

用SHA1算法計算文件file.txt的哈西值,輸出到文件digest.txt:

# openssl sha1 -out digest.txt file.txt

用DSS1(SHA1)算法為文件file.txt簽名,輸出到文件dsasign.bin。簽名的private key必須為DSA算法產生的,保存在文件dsakey.pem中。

# openssl dgst -dss1 -sign dsakey.pem -out dsasign.bin file.txt

用dss1算法驗證file.txt的數字簽名dsasign.bin,驗證的private key為DSA算法產生的文件dsakey.pem。

# openssl dgst -dss1 -prverify dsakey.pem -signature dsasign.bin file.txt

用sha1算法為文件file.txt簽名,輸出到文件rsasign.bin,簽名的private key為RSA算法產生的文件rsaprivate.pem。

#openssl sha1 -sign rsaprivate.pem -out rsasign.bin file.txt

# 用sha1算法驗證file.txt的數字簽名rsasign.bin,驗證的public key為RSA算法生成的rsapublic.pem。

# openssl sha1 -verify rsapublic.pem -signature rsasign.bin file.txt

2、對稱加密應用例子

對稱加密應用例子,用DES3算法的CBC模式加密文件plaintext.doc,加密結果輸出到文件ciphertext.bin。

# openssl enc -des3 -salt -in plaintext.doc -out ciphertext.bin

用DES3算法的OFB模式解密文件ciphertext.bin,提供的口令為trousers,輸出到文件plaintext.doc。注意:因為模式不同,該命令不能對以上的文件進行解密。

# openssl enc -des-ede3-ofb -d -in ciphertext.bin -out plaintext.doc -pass pass:trousers

用Blowfish的CFB模式加密plaintext.doc,口令從環境變量PASSWORD中取,輸出到文件ciphertext.bin。

# openssl bf-cfb -salt -in plaintext.doc -out ciphertext.bin -pass env:PASSWORD

給文件ciphertext.bin用base64編碼,輸出到文件base64.txt。

# openssl base64 -in ciphertext.bin -out base64.txt

用RC5算法的CBC模式加密文件plaintext.doc,輸出到文件ciphertext.bin,salt、key和初始化向量(iv)在命令行指定。

# openssl rc5 -in plaintext.doc -out ciphertext.bin -S C62CB1D49F158ADC -iv E9EDACA1BD7090C6 -K 89D4B1678D604FAA3DBFFD030A314B29

3、Diffie-Hellman應用例子

使用生成因子2和隨機的1024-bit的素數產生D0ffie-Hellman參數,輸出保存到文件dhparam.pem

# openssl dhparam -out dhparam.pem -2 1024

從dhparam.pem中讀取Diffie-Hell參數,以C代碼的形式,輸出到stdout。

# openssl dhparam -in dhparam.pem -noout -C

4、DSA應用例子應用例子

生成1024位DSA參數集,并輸出到文件dsaparam.pem。

# openssl dsaparam -out dsaparam.pem 1024

使用參數文件dsaparam.pem生成DSA私鑰匙,采用3DES加密后輸出到文件dsaprivatekey.pem

# openssl gendsa -out dsaprivatekey.pem -des3 dsaparam.pem

使用私鑰匙dsaprivatekey.pem生成公鑰匙,輸出到dsapublickey.pem

# openssl dsa -in dsaprivatekey.pem -pubout -out dsapublickey.pem

從dsaprivatekey.pem中讀取私鑰匙,解密并輸入新口令進行加密,然后寫回文件dsaprivatekey.pem

# openssl dsa -in dsaprivatekey.pem -out dsaprivatekey.pem -des3 -passin

5、RSA應用例子

產生1024位RSA私匙,用3DES加密它,口令為trousers,輸出到文件rsaprivatekey.pem

# openssl genrsa -out rsaprivatekey.pem -passout pass:trousers -des3 1024

從文件rsaprivatekey.pem讀取私匙,用口令trousers解密,生成的公鑰匙輸出到文件rsapublickey.pem

# openssl rsa -in rsaprivatekey.pem -passin pass:trousers -pubout -out rsapubckey.pem

用公鑰匙rsapublickey.pem加密文件plain.txt,輸出到文件cipher.txt

# openssl rsautl -encrypt -pubin -inkey rsapublickey.pem -in plain.txt -out cipher.txt

使用私鑰匙rsaprivatekey.pem解密密文cipher.txt,輸出到文件plain.txt

# openssl rsautl -decrypt -inkey rsaprivatekey.pem -in cipher.txt -out plain.txt

用私鑰匙rsaprivatekey.pem給文件plain.txt簽名,輸出到文件signature.bin

# openssl rsautl -sign -inkey rsaprivatekey.pem -in plain.txt -out signature.bin

用公鑰匙rsapublickey.pem驗證簽名signature.bin,輸出到文件plain.txt

# openssl rsautl -verify -pubin -inkey rsapublickey.pem -in signature.bin -out plain

從X.509證書文件cert.pem中獲取公鑰匙,用3DES加密mail.txt,輸出到文件mail.enc

# openssl smime -encrypt -in mail.txt -des3 -out mail.enc cert.pem

從X.509證書文件cert.pem中獲取接收人的公鑰匙,用私鑰匙key.pem解密S/MIME消息mail.enc,結果輸出到文件mail.txt

# openssl smime -decrypt -in mail.enc -recip cert.pem -inkey key.pem -out mail.txt

cert.pem為X.509證書文件,用私匙key,pem為mail.txt簽名,證書被包含在S/MIME消息中,輸出到文件mail.sgn

# openssl smime -sign -in mail.txt -signer cert.pem -inkey key.pem -out mail.sgn

驗證S/MIME消息mail.sgn,輸出到文件mail.txt,簽名者的證書應該作為S/MIME消息的一部分包含在mail.sgn中

# openssl smime -verify -in mail.sgn -out mail.txt

總結

以上所述是小編給大家介紹的Linux 中的 Openssl命令及實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区毛片| 91亚洲精品一区| 国产精品丝袜白浆摸在线| 国产亚洲xxx| 91福利视频在线观看| 欧美小视频在线观看| 日韩在线免费观看视频| 国产精品狠色婷| 久久乐国产精品| 日韩精品www| 久久天堂电影网| 亚洲午夜国产成人av电影男同| 在线激情影院一区| 成人激情在线播放| 欧美视频一二三| 国产精品欧美激情在线播放| 国产一区二区激情| 曰本色欧美视频在线| 成人久久一区二区| 亚洲精品福利视频| 日本精品久久久久影院| 日韩av在线一区| 国产视频丨精品|在线观看| 亚洲欧美一区二区三区久久| 深夜福利一区二区| 成人av番号网| 亚洲精品电影久久久| 国产精品免费小视频| 亚洲a成v人在线观看| 亚洲欧洲激情在线| 91麻豆国产语对白在线观看| 国产精品入口免费视| 精品久久久香蕉免费精品视频| 日本亚洲欧美成人| 亚洲成人精品久久久| 欧美精品999| 久久国产天堂福利天堂| 久久99国产综合精品女同| 欧美日韩国产精品| 一区二区三区日韩在线| 欧美成人精品在线观看| 久久人人爽人人爽人人片亚洲| 亚洲自拍偷拍在线| 精品少妇一区二区30p| 51午夜精品视频| 国产亚洲一级高清| 91亚洲精品在线| 国产精品日韩专区| 欧美孕妇毛茸茸xxxx| 欧美成人小视频| 91经典在线视频| 91在线观看免费高清| 国产精品久久久久秋霞鲁丝| 91国内产香蕉| 欧美裸体男粗大视频在线观看| 日本一区二区在线免费播放| 日韩欧美精品免费在线| 亚洲欧美国产一区二区三区| 日韩一区视频在线| 国产一区av在线| 18久久久久久| 国产精品久久久久久久久影视| 日韩高清有码在线| 97精品国产91久久久久久| 国产精品高潮呻吟久久av黑人| 亚洲免费中文字幕| 欧美激情极品视频| 亚洲欧美国产精品专区久久| 亚洲激情免费观看| 国产精品美女呻吟| 国产欧美亚洲精品| 日本最新高清不卡中文字幕| 日韩国产精品亚洲а∨天堂免| 日韩在线观看免费高清| 日韩精品免费综合视频在线播放| 国产成人福利网站| 中文字幕在线看视频国产欧美在线看完整| 亚洲理论片在线观看| 欧美刺激性大交免费视频| 亚洲视频在线观看视频| 欧美激情精品久久久久久久变态| 亚洲色图第一页| 日韩亚洲一区二区| 91网在线免费观看| 亚洲xxx视频| 欧美国产日本在线| 亚洲精品国产精品国产自| 欧美成aaa人片在线观看蜜臀| xx视频.9999.com| 国产精品免费一区豆花| 亚洲精品国精品久久99热| 91丝袜美腿美女视频网站| 成人精品aaaa网站| 久久久久五月天| 亚洲人成网站在线播| 国产精品视频最多的网站| 91久久久久久久一区二区| 精品亚洲夜色av98在线观看| 欧美亚洲视频一区二区| 国产成人精品久久亚洲高清不卡| 欧美亚洲日本黄色| 成人乱人伦精品视频在线观看| 奇米成人av国产一区二区三区| 91精品国产99久久久久久| 久久久99久久精品女同性| 欧美激情网站在线观看| 日本中文字幕成人| 91视频-88av| 综合激情国产一区| 日韩一区二区在线视频| 成人性教育视频在线观看| 亚洲肉体裸体xxxx137| 久久精品成人欧美大片| 精品久久久久久中文字幕| 日韩高清不卡av| 亚洲一区二区三区xxx视频| 亚洲一区二区在线| 精品中文字幕久久久久久| 97国产精品视频人人做人人爱| 久久亚洲国产精品成人av秋霞| 97精品一区二区三区| 亚洲一区二区中文| 国产精品免费小视频| 97超级碰碰人国产在线观看| 视频一区视频二区国产精品| 九九久久久久久久久激情| 97色在线视频| 久久精品视频在线| 国产精品久久久久久网站| 青青久久av北条麻妃海外网| 欧美精品九九久久| 91在线观看欧美日韩| 中文亚洲视频在线| 国产精品第10页| 国产在线精品成人一区二区三区| 91老司机在线| 久久精品视频播放| 高清日韩电视剧大全免费播放在线观看| 中文日韩电影网站| 久久韩剧网电视剧| 成人黄色片网站| 77777亚洲午夜久久多人| 日韩国产在线看| 精品国产91久久久| 欧美影院成年免费版| 一区二区三区无码高清视频| 亚洲国产精品电影在线观看| 国产精品v片在线观看不卡| 国产精品久久久久免费a∨大胸| 久久成人这里只有精品| 亚洲精品国产精品久久清纯直播| 在线观看久久av| 91久久国产精品91久久性色| 国产日韩中文在线| 日韩欧美精品中文字幕| 国产精品第七十二页| 欧美在线激情视频| 亚洲精品国产suv| 亚洲小视频在线| 91久久精品国产91久久| 亚洲第一区在线| 一区二区三区久久精品| 少妇精69xxtheporn| 日韩中文字幕在线免费观看|