隨著個人隱私越來越受重視, HTTPS也漸漸的流行起來, 甚至有許多網(wǎng)站都做到了全站HTTPS,
然而這種加密和信任機(jī)制也不斷遭遇挑戰(zhàn),比如戴爾根證書攜帶私鑰,Xboxlive證書私鑰瀉露,
還有前一段時間的沃通錯誤頒發(fā)Github根域名SSL證書事件. 因此本文從非對稱加密說起,
介紹了證書的簽證流程, 并且通過openssl的命令行工具對這些過程都轉(zhuǎn)化為相對具體的命令,
也算是一個溫故知新的簡要記錄吧.

前言

一般來說,常見的數(shù)字加密方式都可以分為兩類,即對稱加密和非對稱加密. 對于對稱加密來說,
加密和解密用的是同一個密鑰, 加密方法有AES,DES,RC4,BlowFish等; 對應(yīng)的, 非對稱加密在
加密和解密時, 用的是不同的密鑰, 分別稱為公鑰或私鑰. 非對稱加密的加密方法有RSA, DSA,
Diffie-Hellman等.

OpenSSL是一個開源項(xiàng)目,為傳輸層安全(TLS)和安全套接字(SSL)協(xié)議提供了比較完整的實(shí)現(xiàn),
同時也致力于將自身打造為一個通用的密碼學(xué)工具集. 其中包括:

  • libssl : 提供了SSL(包括SSLv3)和TLS的服務(wù)器端以及客戶端的實(shí)現(xiàn).

  • libcrypto : 通用的密碼學(xué)庫以及對X.509的支持

  • openssl : 一個多功能的命令行工具

本文主要使用openssl的命令行工具來示例非對稱加密的流程, 如果有興趣的話,也可以用其SDK
來實(shí)現(xiàn)更具體的操作.

加解密過程

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式