CA數位憑證以及keytool 錯誤:java.lang.Exception:無法從回複中建立連結求協助

來源:互聯網
上載者:User

閑著無聊,所以就是用keytool建立認證,並且提交到CA去擷取一個免費30天的認證認證,但是最後匯入認證的時候報

      keytool error: java.lang.Exception:Failed to establish chain from reply

      keytool 錯誤:java.lang.Exception:無法從回複中建立連結。

建立keytool的文章見:http://www.chinaunix.net/jh/13/456376.html,注意第五步匯入的認證名是client.cer而不是client.crt。估計是轉載太多自己美操作過,所以沒發現這個問題吧。

 

既然報錯了,那隻能解決。從網上查的這個錯誤的原因有:

1.CA根憑證有更新,我使用的是舊的。----這個錯誤我排除掉,我的根憑證是CA直接email給我的地址下載的,理論來說就是最新的,我也看過根幀數,2009~2019年,沒問題

2.

     使用JDK4.1中的keytool安裝WebServer認證,正常下載認證,但是在使用keytool匯入認證的時候報錯:keytool error:   java.lang.Exception:Failed to establish chain from reply

原因:使用者使用linux系統,安裝了多個jdk,但是系統內容變數中的jdk路徑,與產生認證請求的jdk路徑不相同。
解決辦法:修改環境變數的設定,或者使用絕對路徑執行keytool。詳見:http://www.cfca.com.cn/help/jishu-WS-1-5.htm

     這個網站很權威啊,我機器上是裝了很多個JDK,所以我採用絕對路徑建立認證,結果錯誤。沒辦法,只要去找一台新的機器使用,裝了JDK,然後再開始建立認證,結果還是一樣的失敗。

 

最後我無語了,一度懷疑是不是JDK6的原因還是http://www.chinaunix.net這個地址被我們的網路屏蔽了,導致我們認證不了。正式的認證都是要錢的,不知道還有哪個CA中心能提供這種免費的測試認證。希望有高手能指點一二。

 

 

好吧。既然我建立不了認證,但是之間也惡補了下數位憑證的基本資料,下面我來個匯總。

 

密鑰和認證:(詳見:http://www.microsoft.com/china/technet/security/guidance/secmod39.mspx

    非對稱式加密使用公開金鑰/死鑰對。對以使用私密金鑰加密的資料,只能使用相應的公開金鑰進行解密,反之依然。

 

    顧名思義,公開金鑰是指可以提供給很多人的密鑰。相反,私密金鑰是特定個人所專屬的。向使用者傳送公開金鑰使用的分發機制是認證。通常,憑證授權單位 (CA) 對認證進行簽名,以便確認公開金鑰來自聲稱發送公開金鑰的主體。CA 是一個相互信任的實體。

    數字認證的典型實現包含認證簽名過程。例案:    

   1.

王麗將一個簽名的認證請求(包含她的名字、公開金鑰、可能還有其他一些資訊)發送到 CA。

2.

CA 使用王麗的請求建立一個訊息。CA 使用其私密金鑰對訊息進行簽名,以便建立一個單獨的簽名。CA 將訊息和簽名返回給王麗。訊息和簽名共同構成了王麗的認證。

3.

王麗將她的認證發送給李華,以便授權他訪問她的公開金鑰。

4.

李華使用 CA 的公開金鑰對認證簽名進行驗證。如果證明簽名是有效,他就承認認證中的公開金鑰是王麗的公開金鑰.

 

 

 

上面出現了幾個專業術名,大學都學過,只是很久沒用有點遺忘了,做個筆記提點下:

 

 數位簽章(詳見:http://baike.baidu.com/view/7626.htm):

數位簽章(又稱公開金鑰數位簽章、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公開金鑰加密領域的技術實現,用於鑒別數字資訊的方法。一套數位簽章通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。

        上面的說法比較抽象,我舉個情境:

        我需要對某一個明星的名字加密,比如甄子丹。

        1.我將公開金鑰先共用給使用者B,這樣我們之間就約定了簽名方式

        2.我用私密金鑰對訊息體也就是甄子丹進行加密,加密後的資料就是簽名了(假設是1111)

        3.我將訊息體和簽名(甄子丹,1111)一起發送給用於B

        4.使用者B用我先前共用的公開金鑰對數位簽章也就是1111進行解密,解密後比對是否是甄子丹這個資訊,如果是,那麼說明這份資訊是我發送的。

        當然使用者B用公開金鑰數位簽章發送給我,我再用私密金鑰解密,也是一樣的。

 

 CA根憑證(詳見:http://baike.baidu.com/view/554880.htm)

        通過對數位簽章的理解之後,你也就知道CA根憑證的作用了,在密鑰和認證哪裡,CA使用其私密金鑰對王麗發送的訊息進行簽名,建立了一個單獨的簽名,由此可見,CA根憑證其實可以理解我CA共用給全世界的公開金鑰,使用此公開金鑰去王麗的認證是否屬於王麗當初提交給CA備案的認證。當然這是我片面的理解,歡迎有高手指出更詳細的資訊,上面的地址串連也不是很詳細。

 

 

 PS:最後提供一個對keytool介紹比較詳細的網站:http://www.infosecurity.org.cn/article/pki/case/23823.html

      對於我們這種英文比較差的人,還是需要更多的中文翻譯才好,當然我也在努力學習英文^_^~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.