【Java】Java與數位憑證

來源:互聯網
上載者:User

標籤:toc   ref   version   nts   利用   通訊   最簡   告訴   chm   

Java與數位憑證 
  • Java與數位憑證
    • 認證的簽發和應用
    • 認證的內容和意義
    • 其它

認證(Certificate,也稱public-key certificate)是用某種簽名演算法對某些內容(比如公開金鑰)進行數位簽章後得到的、可以用來當成信任關係中介的數字憑證。認證發行機構通過發行認證告知認證使用者或實體其公開金鑰(public-key)以及其它一些輔助資訊。認證在電子商務安全交易中有著廣泛的應用,認證發行機構也稱CA(Certificate Authority)。

認證的簽發和應用

認證在公開金鑰加密應用中的作用是保證公開金鑰在某些可信的機構發布,其在協議SSL、電子交易協議SET等方面有重要的應用。

圖1顯示了一個最簡單的認證應用方法:

認證的應用步驟是: 

(1) A把自己的公開金鑰PKA送到CA(Certificate Authority); 

(2) CA用自己的私密金鑰和A的公開金鑰產生A的認證,認證內包括CA的數位簽章。簽名對象包括需要在認證中說明的內容,比如A的公開金鑰、時間戳記、序號等,為了簡化這裡不妨假設認證中只有三項內容:A的公開金鑰PKA、時間戳記TIME1、序號IDA。那麼CA發送給A的簡單認證憑證可表達為:CertA=Eca[TIME1,IDA,PKA]; 

(3) B同樣把自己的公開金鑰PKB送到CA; 

(4) B得到CA發布的認證CertB; 

(5) A告知B認證CertA; 

(6) B告知A認證CertB。 

A、B各自得到對方認證後,利用從CA得到的公開金鑰(在CA的自簽認證中)驗證彼此對方的認證是否有效,如果有效,那麼就得到了彼此的公開金鑰。利用對方的公開金鑰,可以加密資料,也可以用來驗證對方的數位簽章。 

本文為了方便說明,並沒有使用從CA獲得的認證,而是通訊雙方各自產生自簽認證,也就是說圖1的A和B並沒有經過CA,不過前提是A和B之間是互相擁有對方的認證。 

認證的內容和意義

認證核心項 意義
Version 告訴這個X.509認證是哪個版本的,目前有v1、V2、v3
Serial Number 由認證分發機構設定認證的序號
Signature Algorithm Identifier 認證採用什麼樣的簽名演算法
Issuer Name 認證發行者名,也就是給這個認證簽名的機構名
Validity Period 認證有效時間範圍
Subject Name 被認證發行機構簽名後的公開金鑰擁有者或實體的名字,採用X.500協議,在Internet上的標誌是惟一的。例如:CN=Java,OU=Infosec,O=Infosec Lab,C=CN表示一個subject name。

【Java】Java與數位憑證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.