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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Keystore教程

發布時間:2023/12/3 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Keystore教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



目錄

1.簡介 2. SSL及其工作方式 3.私鑰 4.公開證書 5.根證書 6.證書頒發機構 7.證書鏈 8.使用Java keytool的密鑰庫 9.密鑰庫命令 10.在Apache Tomcat上使用密鑰庫和自簽名證書配置SSL

1.簡介

我們誰沒有去ebay,亞馬遜買東西或他的個人銀行帳戶來檢查。 您是否認為這些站點足夠安全,可以存儲您的個人數據(信用卡號或銀行帳號等)?

這些站點中的大多數都使用套接字層(SSL)協議來保護其Internet應用程序。 SSL允許在傳輸之前對來自客戶端(例如Web瀏覽器)的數據進行加密,從而使試圖嗅探數據的人無法對其進行解密。

許多Java應用程序服務器和Web服務器都支持將密鑰庫用于SSL配置。 如果要構建安全的Java程序,那么學習構建密鑰庫是第一步。

2. SSL及其工作方式

客戶端始終使用HTTPS(而不是http://)開頭的URL發起基于HTTP的SSL連接。 在SSL會話開始時,將執行SSL握手。 該握手產生會話的密碼參數。 下圖顯示了如何處理SSL握手的簡化概述。

簡而言之,它是如何工作的:

  • 瀏覽器請求一個安全頁面(通常為https://)。
  • Web服務器發送其公鑰及其證書。
  • 瀏覽器檢查證書是否由受信任的方(通常是受信任的根CA)頒發,證書仍然有效,并且證書與聯系的網站有關。
  • 然后,瀏覽器使用公共密鑰對隨機對稱加密密鑰進行加密,并將其與所需的已加密URL以及其他已加密的http數據一起發送到服務器。
  • Web服務器使用其私鑰解密對稱加密密鑰,并使用對稱密鑰解密URL和http數據。
  • Web服務器發回請求的html文檔和使用對稱密鑰加密的http數據。
  • 瀏覽器使用對稱密鑰解密http數據和html文檔并顯示信息。
  • SSL的世界實質上具有三種類型的證書:私鑰,公鑰(也稱為公共證書或站點證書)和根證書。

    3.私鑰

    私鑰包含服務器的身份信息以及密鑰值。 它應該保持此密鑰的安全并受密碼保護,因為它用于在握手期間協商哈希值。 有人可以使用它來解密流量并獲取您的個人信息。 就像將房門鑰匙留在門鎖中一樣。

    4.公開證書

    公共證書(公共密鑰)是提供給客戶的部分,就像您在機場出示護照時一樣。 與私有密鑰緊密相關的公共證書是使用證書簽名請求(CSR)從私有密鑰創建的。 創建私鑰后,您將創建一個CSR,該CSR被發送到您的證書頒發機構(CA)。 CA返回簽名的證書,其中包含有關服務器身份和CA的信息。

    5.根證書

    根CA證書是一個CA證書,它只是一個自簽名證書。 該證書代表簽發證書的實體,被稱為證書頒發機構或CA,例如VeriSign,Thawte等。

    6.證書頒發機構

    可以為您簽名證書的公司,例如VeriSign,Thawte,Commodo,GetTrust。 此外,許多公司和機構都通過自己從頭開始構建完整的實現,或者使用開源選項(例如OpenSSL)充當自己的CA。

    7.證書鏈

    當服務器和客戶端建立SSL連接時,會向客戶端提供一個證書。 客戶應確定是否信任此證書,此過程稱為證書鏈。 客戶端檢查證書的頒發者,搜索其受信任根證書的列表,并將呈現的證書上的頒發者與受信任證書的主題進行比較。

    如果找到匹配項,則連接繼續。 如果不是,則Web瀏覽器可能會彈出一個對話框,警告您它不信任證書,并提供信任證書的選項。

    8.使用Java keytool的密鑰庫

    Java Keytool是密鑰和證書管理實用程序。 它允許用戶管理自己的公鑰/私鑰對和證書。 Java Keytool將密鑰和證書存儲在所謂的密鑰庫中 。 它使用密碼保護私鑰。

    Java密鑰庫中的每個證書都與唯一的別名關聯。 創建Java密鑰庫時,您將首先創建.jks文件,該文件最初僅包含私鑰,然后生成CSR。 然后,您會將證書(包括所有根證書)導入密鑰庫。

    9.密鑰庫命令

    創建密鑰庫,密鑰和證書請求

    • 生成Java密鑰庫和密鑰對 keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -storepass password
    • 為現有的Java密鑰庫生成證書簽名請求(CSR) keytool -certreq -alias mydomain -keystore keystore.jks -storepass password -file mydomain.csr
    • 生成密鑰庫和自簽名證書 keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360

    進口證明書

    • 將根或中間CA證書導入到現有的Java密鑰庫中
    keytool -import -trustcacerts -alias root -file Thawte.crt -keystore keystore.jks -storepass password
    • 將簽名的主證書導入到現有的Java密鑰庫中 keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password
    • 出口證明書

      • 從密鑰庫導出證書 keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password

      檢查/列出/查看證書

      • 檢查獨立證書 keytool -printcert -v -file mydomain.crt
      • 檢查哪些證書在Java密鑰庫中 keytool -list -v -keystore keystore.jks -storepass password
      • 使用別名檢查特定的密鑰庫條目 keytool -list -v -keystore keystore.jks -storepass password -alias mydomain

      刪除證書

      • 從Java Keytool密鑰庫中刪除證書 keytool -delete -alias mydomain -keystore keystore.jks -storepass password

      修改密碼

      • 更改Java密鑰庫密碼 keytool -storepasswd -new new_storepass -keystore keystore.jks -storepass password
      • 更改私鑰密碼 keytool -keypasswd -alias client -keypass old_password -new new_password -keystore client.jks -storepass password

      10.在Apache Tomcat上使用密鑰庫和自簽名證書配置SSL

    • 使用此命令生成新的密鑰庫和自簽名證書,將提示您輸入特定信息,例如用戶名,組織單位,公司和位置。 keytool -genkey -alias tomcat -keyalg RSA -keystore /home/ashraf/Desktop/JavaCodeGeek/keystore.jks -validity 360

    • 您可以列出使用此命令剛創建的證書詳細信息 keytool -list -keystore /home/ashraf/Desktop/JavaCodeGeek/keystore.jks

    • 下載Tomcat 7
    • 配置Tomcat的服務器以支持SSL或https連接。 在Tomcat \ conf \ server.xml中添加連接器元素 <Connector port="8443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/ashraf/Desktop/JavaCodeGeek/.keystore" keystorePass="password" clientAuth="false" keyAlias="tomcat" sslProtocol="TLS" />
    • 啟動Tomcat并轉到https:// localhost:8443 / ,您將發現以下安全問題,瀏覽器將在其中顯示不受信任的錯誤消息。 就電子商務而言,此類錯誤消息會導致對網站立即失去信心,并且組織可能會失去大多數消費者的信心和業務,這很正常,因為您的證書尚未由Thawte或Verisign等CA簽署誰將驗證請求者的身份并簽發簽名證書。
    • 您仍然可以單擊繼續,直到您收到簽名證書。
    • 翻譯自: https://www.javacodegeeks.com/2014/07/java-keystore-tutorial.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Java Keystore教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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