數字證書演算法
『壹』 數字證書的原理是什麼
一、數字證書的原理:
數字證書採用公鑰密碼體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶擁有一把僅為本人所掌握的私有密鑰(私鑰),用它進行解密和簽名;同時擁有一把公共密鑰(公鑰)並可以對外公開,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣,信息就可以安全無誤地到達目的地了,即使被第三方截獲,由於沒有相應的私鑰,也無法進行解密。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。在公開密鑰密碼體制中,常用的一種是RSA體制。
用戶也可以採用自己的私鑰對信息加以處理,由於密鑰僅為本人所有,這樣就產生了別人無法生成的文件,也就形成了數字簽名。採用數字簽名,能夠確認以下兩點:
(1)保證信息是由簽名者自己簽名發送的,簽名者不能否認或難以否認;
(2)保證信息自簽發後到收到為止未曾作過任何修改,簽發的文件是真實文件。
數字證書的作用
數字證書可用於發送安全電子郵件、訪問安全站點、網上證券、網上招標采購、網上簽約、網上辦公、網上繳費、網上稅務等網上安全電子事務處理和安全電子交易活動。數字證書的格式一般採用X.509國際標准。
二、數字證書的功能
信息保密性
交易中的商務信息均有保密的要求。如信用卡的帳號和用戶名被人知悉,就可能被盜用,訂貨和付款的信息被競爭對手獲悉,就可能喪失商機。而CA中心頒發的數字安全證書保證了電子商務的信息傳播中信息的保密。
身份確定性
網上交易的雙方很可能素昧平生,相隔千里。要使交易成功首先要能確認對方的身份,對商家要考慮 客戶端不能是騙子,而客戶也會擔心網上的商店不是一個玩弄欺詐的黑店。因此能方便而可靠地確認對方身份是交易的前提。對於為顧客或用戶開展服務的銀行、信用卡公司和銷售商店,為了做到安全、保密、可靠地開展服務活動,都要進行身份認證的工作。而CA中心頒發的電子簽名可保證網上交易雙方的身份,銀行和信用卡公司可以通過CA認證確認身份,放心的開展網上業務。
不可否認性
由於商情的千變萬化,交易一旦達成是不能被否認的。否則必然會損害一方的利益。例如訂購黃金, 訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認受到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此CA中心頒發的數字安全證書確保了電子交易通信過程的各個環節的不可否認性,使交易雙方的利益不受到損害。
不可篡改性
交易的文件是不可被修改的,如上例所舉的訂購黃金。供貨單位在收到訂單後,發現金價大幅上漲了,如其能改動文件內容,將訂購數1噸改為1克,則可大幅受益,那麼訂貨單位可能就會因此而蒙受損失。 因此CA中心頒發的數字安全證書也確保了電子交易文件的不可修改性,以保障交易的嚴肅和公正。
『貳』 TLS/SSL數字證書里的指紋演算法、簽名演算法和簽名哈希演算法各是做什麼用的
你好!
簽名哈希演算法:簽名之前對證書主體部分進行哈希的演算法,它和簽名算專法結合,是簽名及認證屬的一部分。
指紋演算法:是對簽名之後的證書文件計算一下散列值,只是用於檢測證書是否被篡改,類似於去網站下載一個安裝包,嚴謹一點的網站會給一個MD5的值,便於你下載之後再MD5一下核對。
證書指紋何時用到?舉個例子,在導入某CA根證書或證書鏈時,會去該CA官方網站下載相關證書,下載好了之後可以手工檢查一下指紋,確認無誤再導入。
『叄』 數字證書的基本原理和類型
一、數字證書的原理:
數字證書採用公鑰密碼體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶擁有一把僅為本人所掌握的私有密鑰(私鑰),用它進行解密和簽名;同時擁有一把公共密鑰(公鑰)並可以對外公開,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣,信息就可以安全無誤地到達目的地了,即使被第三方截獲,由於沒有相應的私鑰,也無法進行解密。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。在公開密鑰密碼體制中,常用的一種是RSA體制。
用戶也可以採用自己的私鑰對信息加以處理,由於密鑰僅為本人所有,這樣就產生了別人無法生成的文件,也就形成了數字簽名。採用數字簽名,能夠確認以下兩點:
(1)保證信息是由簽名者自己簽名發送的,簽名者不能否認或難以否認;
(2)保證信息自簽發後到收到為止未曾作過任何修改,簽發的文件是真實文件。
數字證書的作用
數字證書可用於發送安全電子郵件、訪問安全站點、網上證券、網上招標采購、網上簽約、網上辦公、網上繳費、網上稅務等網上安全電子事務處理和安全電子交易活動。數字證書的格式一般採用X.509國際標准。
二、數字證書的功能
信息保密性
交易中的商務信息均有保密的要求。如信用卡的帳號和用戶名被人知悉,就可能被盜用,訂貨和付款的信息被競爭對手獲悉,就可能喪失商機。而CA中心頒發的數字安全證書保證了電子商務的信息傳播中信息的保密。
身份確定性
網上交易的雙方很可能素昧平生,相隔千里。要使交易成功首先要能確認對方的身份,對商家要考慮
客戶端不能是騙子,而客戶也會擔心網上的商店不是一個玩弄欺詐的黑店。因此能方便而可靠地確認對方身份是交易的前提。對於為顧客或用戶開展服務的銀行、信用卡公司和銷售商店,為了做到安全、保密、可靠地開展服務活動,都要進行身份認證的工作。而CA中心頒發的電子簽名可保證網上交易雙方的身份,銀行和信用卡公司可以通過CA認證確認身份,放心的開展網上業務。
不可否認性
由於商情的千變萬化,交易一旦達成是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,
訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認受到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此CA中心頒發的數字安全證書確保了電子交易通信過程的各個環節的不可否認性,使交易雙方的利益不受到損害。
不可篡改性
交易的文件是不可被修改的,如上例所舉的訂購黃金。供貨單位在收到訂單後,發現金價大幅上漲了,如其能改動文件內容,將訂購數1噸改為1克,則可大幅受益,那麼訂貨單位可能就會因此而蒙受損失。
因此CA中心頒發的數字安全證書也確保了電子交易文件的不可修改性,以保障交易的嚴肅和公正。
『肆』 數字證書的工作原理
數字證書採用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶自己設定一把特定的僅為本人所知的私有密鑰(私鑰),用它進行解密和簽名;同時設定一把公共密鑰(公鑰)並由本人公開,為一組用戶所共享,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無誤地到達目的地了。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。在公開密鑰密碼體制中,常用的一種是RSA體制。其數學原理是將一個大數分解成兩個質數的乘積,加密和解密用的是兩個不同的密鑰。即使已知明文、密文和加密密鑰(公開密鑰),想要推導出解密密鑰(私密密鑰),在計算上是不可能的。按當下計算機技術水平,要破解1024位RSA密鑰,需要上千年的計算時間。公開密鑰技術解決了密鑰發布的管理問題,商戶可以公開其公開密鑰,而保留其私有密鑰。購物者可以用人人皆知的公開密鑰對發送的信息進行加密,安全地傳送給商戶,然後由商戶用自己的私有密鑰進行解密。
用戶也可以採用自己的私鑰對信息加以處理,由於密鑰僅為本人所有,這樣就產生了別人無法生成的文件,也就形成了數字簽名。採用數字簽名,能夠確認以下兩點:
保證信息是由簽名者自己簽名發送的,簽名者不能否認或難以否認。
保證信息自簽發後到收到為止未曾作過任何修改,簽發的文件是真實文件。
『伍』 數字證書的基本原理是什麼
egates問的是數字證書,而非數字簽名,這兩者經常相關聯,但不是一個概念。
數字證書是數字形式的標識,與護照或駕駛員執照十分相似。數字證書是數字憑據,它提供有關實體標識的信息以及其他支持信息。數字證書是由成為證書頒發機構(CA)的權威機構頒發的。由於數字證書有證書權威機構頒發,因此由該權威機構擔保證書信息的有效性。此外,數字證書只在特定的時間段內有效。
數字證書包含證書中所標識的實體的公鑰(就是說你的證書里有你的公鑰),由於證書將公鑰與特定的個人匹配,並且該證書的真實性由頒發機構保證(就是說可以讓大家相信你的證書是真的),因此,數字證書為如何找到用戶的公鑰並知道它是否有效這一問題提供了解決方案。
至於這個公鑰有何用則屬於另一個主題:公鑰加密。也解釋一下吧。
公鑰加密屬於「非對稱密鑰」加密,為了解釋得更清楚,先說下「對稱密鑰」加密。
舉個例子,如果發件人希望加密郵件,那麼發件人需要知道純文本中的字母 A 的每個實例都將被密鑰更改為密碼中的字母 D;純文本中的字母 B 的每個實例都將更改為密碼中的字母 E,依此類推。使用此密鑰(採用「將字母前移三位」的演算法),純文本中的單詞「help」將加密為「khos」密碼。
當收件人收到密碼郵件時,需要將它重新轉換為純文本,方法是使用密鑰來解密信息,在本例中即是將字母後移三位,從而撤消更改。
在本例中,發件人和收件人必須將密鑰保存在隱秘的地方,因為任何知道密鑰的人都可以使用它來解密並閱讀郵件。密鑰丟失會使得加密變得毫無價值。此外,演算法的強度也很重要。未經授權的一方可以獲取加密後的密碼,並通過根據密碼來確定密鑰的方法,設法破解加密。
請注意,發件人和收件人使用的是相同的密鑰。此類加密稱為「對稱密鑰」加密,因為雙方使用相同的密鑰。
注意這個示例中,演算法強度相當小。
我們所說的「公鑰加密」是使用兩個密鑰,而不是使用一個共享的密鑰。一個密鑰(稱為「私鑰」)是保密的。它只能由一方保存,而不能各方共享。第二個密鑰(稱為「公鑰」)不是保密的,可以廣泛共享。這兩個密鑰(稱為「密鑰對」)在加密和解密操作中配合使用。密鑰對具有特殊的互補關系,從而使每個密鑰都只能與密鑰對中的另一個密鑰配合使用。這一關系將密鑰對中的密鑰彼此唯一地聯系在一起:公鑰與其對應的私鑰組成一對,並且與其他任何密鑰都不關聯。
由於公鑰和私鑰的演算法之間存在特殊的數學關系,從而使得這種配對成為可能。密鑰對在數學上彼此相關,例如,配合使用密鑰對可以實現兩次使用對稱密鑰的效果。密鑰必須配合使用:不能使用每個單獨的密鑰來撤消它自己的操作。這意味著每個單獨密鑰的操作都是單向操作:不能使用一個密鑰來撤消它的操作。此外,設計兩個密鑰使用的演算法時,特意設計無法使用一個密鑰確定密鑰對中的另一個密鑰。因此,不能根據公鑰確定出私鑰。但是,使得密鑰對成為可能的數學原理也使得密鑰對具有對稱密鑰所不具有的一個缺點。這就是,所使用的演算法必須足夠強大,才能使人們無法通過強行嘗試,使用已知的公鑰來解密通過它加密的信息。公鑰利用數學復雜性以及它的單向特性來彌補它是眾所周知的這樣一個事實,以防止人們成功地破解使用它編碼的信息。
如果將此概念應用於前面的示例,則發件人將使用公鑰將純文本加密成密碼。然後,收件人將使用私鑰將密碼重新解密成純文本。
由於密鑰對中的私鑰和公鑰之間所存在的特殊關系,因此一個人可以在與許多人交往時使用相同的密鑰對,而不必與每個人分別使用不同的密鑰。只要私鑰是保密的,就可以隨意分發公鑰,並讓人們放心地使用它。使許多人使用同一個密鑰對代表著密碼學上的一個重大突破,因為它顯著降低了密鑰管理的需求,大大提高了密碼學的可用性。用戶可以與任意數目的人員共享一個密鑰對,而不必為每個人單獨設立一個密鑰。
(等待3點的球賽,無聊中)
『陸』 目前的數字認證和加密演算法的主要技術及其應用
1. 什麼是數字證書?
數字證書就是網路通訊中標志通訊各方身份信息的一系列數據,其作用類似於現實生活中的身份證。它是由一個權威機構發行的,人們可以在交往中用它來識別對方的身份。
最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。一般情況下證書中還包括密鑰的有效時間,發證機關(證書授權中心)的名稱,該證書的序列號等信息,證書的格式遵循ITUT X.509國際標准。
一個標準的X.509數字證書包含以下一些內容:
證書的版本信息;
證書的序列號,每個證書都有一個唯一的證書序列號;
證書所使用的簽名演算法;
證書的發行機構名稱,命名規則一般採用X.500格式;
證書的有效期,現在通用的證書一般採用UTC時間格式,它的計時范圍為1950-2049;
證書所有人的名稱,命名規則一般採用X.500格式;
證書所有人的公開密鑰;
證書發行者對證書的簽名。
使用數字證書,通過運用對稱和非對稱密碼體制等密碼技術建立起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;發送方能夠通過數字證書來確認接收方的身份;發送方對於自己的信息不能抵賴。
2. 為什麼要使用數字證書?
由於Internet網電子商務系統技術使在網上購物的顧客能夠極其方便輕松地獲得商家和企業的信息,但同時也增加了對某些敏感或有價值的數據被濫用的風險。買方和賣方都必須保證在網際網路上進行的一切金融交易運作都是真實可靠的,並且要使顧客、商家和企業等交易各方都具有絕對的信心,因而網際網路電子商務系統必須保證具有十分可靠的安全保密技術,也就是說,必須保證網路安全的四大要素,即信息傳輸的保密性、數據交換的完整性、發送信息的不可否認性、交易者身份的確定性。
信息的保密性
交易中的商務信息均有保密的要求,如信用卡的帳號和用戶名被人知悉,就可能被盜用,訂貨和付款的信息被競爭對手獲悉,就可能喪失商機。因此在電子商務的信息傳播中一般均有加密的要求。
交易者身份的確定性
網上交易的雙方很可能素昧平生,相隔千里。要使交易成功首先要能確認對方的身份,商家要考慮客戶端是不是騙子,而客戶也會擔心網上的商店不是一個玩弄欺詐的黑店。因此能方便而可靠地確認對方身份是交易的前提。對於為顧客或用戶開展服務的銀行、信用卡公司和銷售商店,為了做到安全、保密、可靠地開展服務活動,都要進行身份認證的工作。對有關的銷售商店來說,他們對顧客所用的信用卡的號碼是不知道的,商店只能把信用卡的確認工作完全交給銀行來完成。銀行和信用卡公司可以採用各種保密與識別方法,確認顧客的身份是否合法,同時還要防止發生拒付款問題以及確認訂貨和訂貨收據信息等。
不可否認性
由於商情的千變萬化,交易一旦達成是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認受到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此電子交易通信過程的各個環節都必須是不可否認的。
不可修改性
由於商情的千變萬化,交易一旦達成應該是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認收到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此電子交易通信過程的各個環節都必須是不可否認的。
數字安全證書提供了一種在網上驗證身份的方式。安全證書體制主要採用了公開密鑰體制,其它還包括對稱密鑰加密、數字簽名、數字信封等技術。
我們可以使用數字證書,通過運用對稱和非對稱密碼體制等密碼技術建立起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;發送方能夠通過數字證書來確認接收方的身份;發送方對於自己的信息不能抵賴。
3. 數字認證原理
數字證書採用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶自己設定一把特定的僅為本人所知的私有密鑰(私鑰),用它進行解密和簽名;同時設定一把公共密鑰(公鑰)並由本人公開,為一組用戶所共享,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無誤地到達目的地了。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。
在公開密鑰密碼體制中,常用的一種是RSA體制。其數學原理是將一個大數分解成兩個質數的乘積,加密和解密用的是兩個不同的密鑰。即使已知明文、密文和加密密鑰(公開密鑰),想要推導出解密密鑰(私有密鑰),在計算上是不可能的。按現在的計算機技術水平,要破解目前採用的1024位RSA密鑰,需要上千年的計算時間。公開密鑰技術解決了密鑰發布的管理問題,商戶可以公開其公開密鑰,而保留其私有密鑰。購物者可以用人人皆知的公開密鑰對發送的信息進行加密,安全地傳送以商戶,然後由商戶用自己的私有密鑰進行解密。
如果用戶需要發送加密數據,發送方需要使用接收方的數字證書(公開密鑰)對數據進行加密,而接收方則使用自己的私有密鑰進行解密,從而保證數據的安全保密性。
另外,用戶可以通過數字簽名實現數據的完整性和有效性,只需採用私有密鑰對數據進行加密處理,由於私有密鑰僅為用戶個人擁有,從而能夠簽名文件的唯一性,即保證:數據由簽名者自己簽名發送,簽名者不能否認或難以否認;數據自簽發到接收這段過程中未曾作過任何修改,簽發的文件是真實的。
4. 數字證書是如何頒發的?
數字證書是由認證中心頒發的。根證書是認證中心與用戶建立信任關系的基礎。在用戶使用數字證書之前必須首先下載和安裝。
認證中心是一家能向用戶簽發數字證書以確認用戶身份的管理機構。為了防止數字憑證的偽造,認證中心的公共密鑰必須是可靠的,認證中心必須公布其公共密鑰或由更高級別的認證中心提供一個電子憑證來證明其公共密鑰的有效性,後一種方法導致了多級別認證中心的出現。
數字證書頒發過程如下:用戶產生了自己的密鑰對,並將公共密鑰及部分個人身份信息傳送給一家認證中心。認證中心在核實身份後,將執行一些必要的步驟,以確信請求確實由用戶發送而來,然後,認證中心將發給用戶一個數字證書,該證書內附了用戶和他的密鑰等信息,同時還附有對認證中心公共密鑰加以確認的數字證書。當用戶想證明其公開密鑰的合法性時,就可以提供這一數字證書。
5. 加密技術
由於數據在傳輸過程中有可能遭到侵犯者的竊聽而失去保密信息,加密技術是電子商務採取的主要保密安全措施,是最常用的保密安全手段。加密技術也就是利用技術手段把重要的數據變為亂碼(加密)傳送,到達目的地後再用相同或不同的手段還原(解密)。
加密包括兩個元素:演算法和密鑰。一個加密演算法是將普通的文本(或者可以理解的信息)與一竄數字(密鑰)的結合,產生不可理解的密文的步驟。密鑰和演算法對加密同等重要。
密鑰是用來對數據進行編碼和解碼的一種演算法。在安全保密中,可通過適當的密鑰加密技術和管理機制,來保證網路的信息通訊安全。密鑰加密技術的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。
相應地,對數據加密的技術分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標准(DES,Data Encryption Standard)演算法為典型代表,非對稱加密通常以RSA(Rivest Shamir Ad1eman)演算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。
『柒』 x.509數字證書中"簽名演算法"和"微縮圖演算法"有什麼區別
數字證書基本概念
(1)什麼是證書?
在一個電子商務系統中,所有參與活動的實體都必須用證書來表明自己的身份。證書一方面可以用來向系統中的其它實體證明自己的身份(每份證書都是經「相對權威的機構」簽名的),另一方面由於每份證書都攜帶著證書持有者的公鑰(簽名證書攜帶的是簽名公鑰,密鑰加密證書攜帶的是密鑰加密公鑰),所以,證書也可以向接收者證實某人或某個機構對公開密鑰的擁有,同時也起著公鑰分發的作用。
(2)什麼是CA?
CA是Certificate Authority的縮寫,是證書授權的意思。在電子商務系統中,所有實體的證書都是由證書授權中心既CA中心分發並簽名的。一個完整、安全的電子商務系統必須建立起一個完整、合理的CA體系。CA體系由證書審批部門和證書操作部門組成。
(3)什麼是SSL?
安全套接層協議(SSL,Security Socket Layer)是網景(Netscape)公司提出的基於WEB應用的安全協議,它包括:伺服器認證、客戶認證(可選)、SSL鏈路上的數據完整性和SSL鏈路上的數據保密性,主要採用公開密鑰體制和X.509數字證書技術來提供安全性保證。對於電子商務應用來說, SSL可保證信息的真實性、完整性和保密性。但由於SSL不對應用層的消息進行數字簽名,因此不能提供交易的不可否認性,這是SSL在電子商務中使用的最大不足。有鑒於此,網景公司在從Communicator 4.04版開始的所有瀏覽器中引入了一種被稱作"表單簽名(Form Signing)"的功能,在電子商務中,可利用這一功能來對包含購買者的訂購信息和付款指令的表單進行數字簽名,從而保證交易信息的不可否認性。
(4)什麼是RA?
RA即證書發放審核部門,它是CA系統的一個功能組件。它負責對證書申請者進行資格審查,並決定是否同意給該申請者發放證書,並承擔因審核錯誤引起的、為不滿足資格的證書申請者發放證書所引起的一切後果,因此它應由能夠承擔這些責任的機構擔任。
(5)什麼是CP?
CP即證書發放的操作部門,它是CA系統的一個功能組件,負責為已授權的申請者製作、發放和管理證書,並承擔因操作運營錯誤所產生的一切後果,包括失密和為沒有獲得授權者發放證書等,它可以由審核授權部門自己擔任,也可委託給第三方擔任。
(6)什麼是CRL?
CRL是證書作廢表的縮寫。CRL中記錄尚未過期但已聲明作廢的用戶證書序列號,供證書使用者在認證對方證書時查詢使用。CRL通常被稱為證書黑名單。
(7)什麼是OCSP?
OCSP即在線證書狀態查詢(Online Certificate Status Protocol),使用戶可以實時查詢證書的作廢狀態。
(8)什麼是密鑰對,怎樣使用它,怎樣獲得密鑰對?
像有的加密技術中採用相同的密鑰加密、解密數據,公共密鑰加密技術採用一對匹配的密鑰進行加密、解密。每把密鑰執行一種對數據的單向處理,每把的功能恰恰與另一把相反,一把用於加密時,則另一把就用於解密。
公共密鑰是由其主人加以公開的,而私人密鑰必須保密存放。為發送一份保密報文,發送者必須使用接照叩墓
『捌』 RSA演算法+數字證書怎麼實現授權管理功能
授權管理就是讓每一個用戶擁有自己應有的訪問許可權,實現授權管理不是很復雜,就是將用戶的網卡地址在DHCP伺服器上綁定一個IP地址,再給這個IP地址授權。
『玖』 如何獲取數字證書(x509Certificate)中的指紋演算法
創建X509證書方法較多,在Windows 環境下大致總結了幾中辦法,
1) 通過CA獲取證書,
2) 通過微軟提供的makecert 工具得到測試證書
3) 編程的方法創建,.Net提供了 X509Certificate2 類,該類可以用於創建證書,但只能從RawData中創建,創建後無法修改除FriendlyName以外的任何屬性。
我在互聯網上找了很久,始終沒有找到完全通過程序創建自定義的證書的方法。後來想了一個折中辦法,就是用程序調用 makecert.exe 先生成一個證書,證書的一些參數如Subject,有效期,序列號等可以通過參數傳入,然後把生成的證書文件讀到Rawdata中,得到X509Certificate2 類型的證書對象。當然這種方法確實比較笨,必須要依賴外部進程。等後面有時間的話,我還是想按照X509 V3 標准,自己創建RawData,然後生成證書,這樣應該是比較靈活的做法。不知道網友們有沒有什麼更好的方法來創建一個自定義的證書。
通過 makecert.exe 創建X509證書的代碼如下,供大家參考
static object semObj = new object();
/// <summary>
/// 自定義的證書信息
/// </summary>
public class T_CertInfo
{
public String FriendlyName;
public String Subject;
public DateTime BeginDate;
public DateTime EndDate;
public int SerialNumber;
}
/// <summary>
/// 生成X509證書
/// </summary>
/// <param name="makecrtPath">makecert進程的目錄</param>
/// <param name="crtPath">證書文件臨時目錄</param>
/// <param name="certInfo">證書信息</param>
/// <returns></returns>
public static X509Certificate2 CreateCertificate(String makecrtPath, String crtPath,
T_CertInfo certInfo)
{
Debug.Assert(certInfo != null);
Debug.Assert(certInfo.Subject != null);
string MakeCert = makecrtPath + "makecert.exe";
string fileName = crtPath + "cer";
string userName = Guid.NewGuid().ToString();
StringBuilder arguments = new StringBuilder();
arguments.AppendFormat("-r -n \"{0}\" -ss my -sr currentuser -sky exchange ",
certInfo.Subject);
if (certInfo.SerialNumber > 0)
{
arguments.AppendFormat("-# {0} ", certInfo.SerialNumber);
}
arguments.AppendFormat("-b {0} ", certInfo.BeginDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("-e {0} ", certInfo.EndDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("\"{0}\"", fileName);
『拾』 6. 目前主流的數字證書採用的簽名演算法是什麼
一般是採用sha1或sha256演算法進行加密,採用RSA作為密鑰交換機制。