日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openssl加密http网站过程1

發布時間:2025/3/8 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openssl加密http网站过程1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務端在配置HTTPS服務時,加上“HTTP Strict Transport Security”配置項


我們來一起說說HTTPS中間人攻擊與證書校驗

http://wzlinux.blog.51cto.com/8021085/1908856


公鑰和私鑰

私鑰簽名和解密,公鑰加密,驗證簽名




1)、Message Digest commands(信息摘要算法也可以叫單向加密算法)

openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1][-out filename] /path/to/somefile

openssl dgst -sha1 -out /a.cipher /a.txt

2)、Cipher commands(對稱加密)

①公鑰:public key,從私鑰中提取產生,可公開給所有人。

②私鑰:secret key,通過工具創建生成,由使用者自己留存,必須保證其私密性。


以下為DH算法的工作原理圖

以下為更一般的描述:

  • Alice生成隨機自然數a、隨機大質數p和原根g;

  • Alice計算,計算結果為A,并把p,g,A發送給Bob;

  • Bob生成隨機自然數b,根據Alice發過來的p,g,計算,計算結果為B;

  • Bob把B發送給Alice,并計算,計算結果為K;而Alice計算,計算結果也為K;

  • Alice和Bob以K值作為密鑰進行通信。


  • 注意:在整個密鑰協商過程中,p、g、和的值是可以公開給攻擊者的,而a,b,K值是不公開的。但即使攻擊者知道、p和g的值,也無法計算出a,同理,攻擊者無法通過、g和g的值計算出b,更不用說計算出K值(最終Alice和Bob協商好的密鑰)了。這個問題就是著名的離散對數問題。


    openssl enc -base64 -a -salt -in /etc/passwd ?-out /passwd.cipher

    openssl enc -d -base64 -a -salt -in /passwd.cipher ?-out /passwd

    3)、證書(x509格式)


    openssl中有如下后綴名的文件

    key格式:私有的密鑰

    csr格式:證書簽名請求(證書請求文件),含有公鑰信息,certificate signing request的縮寫

    crt格式:證書文件,certificate的縮寫

    crl格式:證書吊銷列表,Certificate Revocation List的縮寫

    pem格式:用于導出,導入證書時候的證書的格式,有證書開頭,結尾的格式

    PKI:Public Key Infrastructure,是指用公鑰概念和技術來實施和提供安全服務的具有普適性的安全基礎設施。

    一個完整的PKI系統必須具有注冊機構(RC)、權威認證機構(CA)、數字證書庫、密鑰備份及恢復系統、證書吊銷系統(CRL)、端實體(API即應用接口)等基本構成部分。


    創建目錄,目錄放置私鑰文件、請求文件、證書文件

    順序:私鑰-->公鑰 請求文件-->核實 發放證書

    私鑰文件產生:#openssl genrsa 1024(鑰匙長度)>私鑰文件名

    請求文件產生:#openssl req -new -key 私鑰文件 -out 請求文件

    證書產生:openssl ca -in 請求文件 -out 證書


    加密和發送過程:

    1、當發送方Alice有數據要發送給Bob時,為了確保數據能夠完整地發送至Bob,首先需要使用單向加密算法去計算出這段要發送的數據的特征碼;

    2、為了便于Bob收到數據之后可驗證身份,發送方Alice使用本地私鑰加密這段特征碼,并將加密后的特征碼附加在數據后面;

    3、為了確保通信過程是保密的,發送方Alice生成一個臨時的對稱密鑰,并使用這個對稱密鑰加密整段數據;

    4、發送方Alice獲取Bob的公鑰,再使用Bob的公鑰加密來加密剛才生成的臨時的對稱密鑰,并把加密后的對稱密鑰附加在整段加密數據后面,而后發送給Bob。


    接收和解密過程:

    接收和解密的過程和解密發送的過程剛好相反。

    1、接收方Bob收到數據之后,先使用自己的私鑰去解密這段加密過的對稱密鑰(由Alice生成);

    2、接收方Bob用解密得到的對稱密鑰去解密整段(發送方用對稱密鑰)加密的內容;此時接收方Bob得到Alice發送給自己的數據和加密后的特征碼;

    3、接收方Bob用對方Alice的公鑰去解密這段特征碼,如果能解密出來,則發送方的身份得到驗證(沒錯,就是Alice發送的);

    4、接收方Bob再用同樣的單向加密算法去計算這段數據的特征碼,與解密得到的特征碼進行比較,如果相同,則數據完整性得到驗證,否則說明數據有可能被篡改或被破壞。






    本文轉自 liqius 51CTO博客,原文鏈接:http://blog.51cto.com/szgb17/1942308,如需轉載請自行聯系原作者

    總結

    以上是生活随笔為你收集整理的openssl加密http网站过程1的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。