SSL是什么
SSL證書是數字證書的一種,類似于駕駛證、護照和營業執照的電子副本。因為配置在服務器上,也稱為SSL服務器證書。
SSL 證書就是遵守 SSL協議,由受信任的數字證書頒發機構CA,在驗證服務器身份后頒發,具有服務器身份驗證和數據傳輸加密功能。 SSL證書通過在客戶端瀏覽器和Web服務器之間建立一條SSL安全通道(Secure socket layer(SSL)安全協議是由Netscape Communication公司設計開發。該安全協議主要用來提供對用戶和服務器的認證;對傳送的數據進行加密和隱藏;確保數據在傳送中不被改變,即數據的完整性,現已成為該領域中全球化的標準。由于SSL技術已建立到所有主要的瀏覽器和WEB服務器程序中,因此,僅需安裝服務器證書就可以激活該功能了),即通過它可以激活SSL協議,實現數據信息在客戶端和服務器之間的加密傳輸,可以防止數據信息的泄露。保證了雙方傳遞信息的安全性,而且用戶可以通過服務器證書驗證他所訪問的網站是否是真實可靠。數位簽名又名數字標識、簽章 (即 Digital Certificate,Digital ID ),提供了一種在網上進行身份驗證的方法,是用來標志和證明網路通信雙方身份的數字信息文件,概念類似日常生活中的司機駕照或身份證相似。 數字簽名主要用于發送安全電子郵件、訪問安全站點、網上招標與投標、網上簽約、網上訂購、安全網上公文傳送、網上辦公、網上繳費、網上繳稅以及網上購物等安全的網上電子交易活動。 服務器部署了 SSL 證書后可以確保用戶在瀏覽器上輸入的機密信息和從服務器上查詢的機密信息從用戶電腦到服務器之間的傳輸鏈路上是高強度加密傳輸的,是不可能被非法篡改和竊取的。同時向網站訪問者證明了服務器的真實身份,此真實身份是通過第三方權威機構驗證的。也就是說有兩大作用:數據加密和身份認證。 a 確認網站真實性(網站身份認證):用戶需要登錄正確的網站進行在線購物或其它交易活動,但由于互聯網的廣泛性和開放性,使得互聯網上存在著許多假冒、釣魚網站,用戶如何來判斷網站的真實性,如何信任自己正在訪問的網站,可信網站將幫你確認網站的身份。當用戶需要確認網站身份的時候,只需要點擊瀏覽器地址欄里面的鎖頭標志即可。 b 保證信息傳輸的機密性:用戶在登錄網站在線購物或進行各種交易時,需要多次向服務器端傳送信息,而這些信息很多是用戶的隱私和機密信息,直接涉及經濟利益或私密,如何來確保這些信息的安全呢?可信網站將幫您建立一條安全的信息傳輸加密通道。 其實現原理圖如下圖1所示: 在SSL會話產生時,服務器會傳送它的證書,用戶端瀏覽器會自動的分析服務器證書,并根據不同版本的瀏覽器,從而產生40位或128位的會話密鑰,用于對交易的信息進行加密。所有的過程都會自動完成,對用戶是透明的,因而,服務器證書可分為兩種:最低40位和最低128位(這里指的是SSL會話時生成加密密鑰的長度,密鑰越長越不容易破解)證書。 最低40位的服務器證書在建立會話時,根據瀏覽器版本不同,可產生40位或128位的SSL會話密鑰用來建立用戶瀏覽器與服務器之間的安全通道。而最低128位的服務器證書不受瀏覽器版本的限制可以產生128位以上的會話密鑰,實現高級別的加密強度,無論是IE或Netscape瀏覽器,即使使用強行攻擊的辦法破譯密碼,也需要10年。
SSL 證書有Verisign ,Geotrust ,Thawte ,等等,還有其他的一些品牌,但是在全球范圍內,包括亞洲地區,應用最廣泛的是verisign公司頒發的服務器證書,VeriSign為遍及145個國家和地區,超過100萬SSL證書提供安全保護;
95%的財富500強企業,世界最大的40家銀行選擇VeriSign。
一般來說,主流的Web服務軟件,通常都基于兩種基礎密碼庫:OpenSSL和Java。
Tomcat、Weblogic、JBoss等,使用Java提供的密碼庫。通過Java的Keytool工具,生成Java Keystore(JKS)格式的證書文件。
Apache、Nginx等,使用OpenSSL提供的密碼庫,生成PEM、KEY、CRT等格式的證書文件。
此外,IBM的產品,如Websphere、IBM Http Server(IHS)等,使用IBM產品自帶的iKeyman工具,生成KDB格式的證書文件。微軟Windows Server中的Internet Information Services(IIS),使用Windows自帶的證書庫生成PFX格式的證書文件。
如果您在工作中遇到帶有后綴擴展名的證書文件,可以簡單用如下方法區分:
*.DER *.CER : 這樣的證書文件是二進制格式,只含有證書信息,不包含私鑰。
*.CRT : 這樣的文件可以是二進制格式,也可以是文本格式,一般均為文本格式,功能與*.DER/*.CER相同。
*.PEM : 一般是文本格式,可以放證書或私鑰,或者兩者都包含。*.PEM如果只包含私鑰,那一般用 *.KEY代替。
*.PFX *.P12 是二進制格式,同時含證書和私鑰,一般有密碼保護。
怎么判斷是文本格式還是二進制?
用記事本打開,如果是規則的數字字母,如
—–BEGIN CERTIFICATE—–
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–
就是文本的,上面的BEGIN CERTIFICATE,說明這是一個證書
如果是—–BEGIN RSA PRIVATE KEY—–,說明這是一個私鑰
那么配置服務器開始:
將買來的 后綴為 .key .pem 的文件放在nginx的安裝目錄cert中,沒有則創建文件夾,放完后配置nginx.conf

nginx 的conf 文件配置
# HTTPS serverserver {listen 443;server_name *.baidu.com;ssl on;root /data/wwwroot/default;index index.html index.htm;ssl_certificate cert/21397896181110921.pem;ssl_certificate_key cert/213978961811110921.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {root /data/wwwroot/default;index index.html index.htm;}#假如你的原本的服務器是入口是php 你可以添加下面的java項目,即可實現php java 共存 httpslocation /javaProject/ {proxy_pass http://服務器ip:8080;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}#假如你的原本的服務器是入口是php 你可以添加下面的java項目,即可實現php java 共存 https 主要針對后綴location ~ (\.jsp)|(\.do)$ {proxy_pass http://服務器ip:8080;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}}
看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170202/97101.html
文章列表