閑著無聊,所以就是用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
對於我們這種英文比較差的人,還是需要更多的中文翻譯才好,當然我也在努力學習英文^_^~