導航:首頁 > 證書轉讓 > 數字證書解析

數字證書解析

發布時間:2020-12-14 23:57:52

1. 如何獲取數字證書(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);

2. 什麼是數字證書從哪辦理歸什麼單位管理

數字證書就是一串數據,裡麵包括數字證書使用者的姓名、身份證號等信息,等於將數字證書與現實人員進行綁定,當您在網路中使用數字證書時就可以通過解析數字證書得到真實人員信息了。

數字證書也分好幾類,有人員證書,伺服器證書等等。也有企業證書。不一樣的。根據發放數字證書模板來定。

數字證書分為兩種一種是軟證書,是安裝在IE里的。一種是在USBKey里生成的證書,後者因為私鑰是在Key里生成,不可導出,在一定程序上保證了證書的安全性。

數字證書管理單位一般為該證書的頒發機構來管理,比如:證書過期呀、丟失需要凍解、重新申請,等等。

(2)數字證書解析擴展閱讀:

數字證書「過期」:

依照國家《電子簽名法》相關規定,數字證書頒發企業必須設定證書有效期,通常為一年或兩年。至於具體期限是多久,在客戶端左下角一看便知。

數字證書到期,處理方式自然是重新更新了,如果數字證書到期時間不超過三個月的話可進入「網上服務大廳」進行更新 ,超過三個月的話就得需要你走一趟業務受理點來辦理了。

特點

安全性

(1)為了避免傳統數字證書方案中,由於使用不當造成的證書丟失等安全隱患,支付寶創造性的推出雙證書解決方案:支付寶會員在申請數字證書時,將同時獲得兩張證書,一張用於驗證支付寶賬戶,另一張用於驗證會員當前所使用的計算機。

(2)第二張證書不能備份,會員必須為每一台計算機重新申請一張。這樣即使會員的數字證書被他人非法竊取,仍可保證其賬戶不會受到損失。

(3)支付盾是一個類似於U盤的實體安全工具,它內置的微型智能卡處理器能阻擋各種的風險,讓您的賬戶始終處於安全的環境下。

唯一性

(1)支付寶數字證書根據用戶身份給予相應的網路資源訪問許可權

(2)申請使用數字證書後,如果在其他電腦登錄支付寶賬戶,沒有導入數字證書備份的情況下,只能查詢賬戶,不能進行任何操作,這樣就相當於您擁有了類似「鑰匙」一樣的數字憑證,增強賬戶使用安全。

方便性

(1)即時申請、即時開通、即時使用。

(2)量身定製多種途徑維護數字證書,例如通過簡訊,安全問題等。

(3)不需要使用者掌握任何數字證書相關知識,也能輕松掌握。

3. CA證書到底有什麼用在阿里雲買了一個然後自動解析到我的域名里了,麻煩說通俗一點,我小白

這是SSL證書,是用來安裝在伺服器上,為訪客提供https安全連接使用的。

正確將這個內證書安裝在服容務器對應網站上之後,訪客可以通過https方式訪問你的網站,訪問你的網站的時候瀏覽器地址欄里會出現一把小鎖,此時,伺服器和客戶端之間的連接就會經過驗證了,這樣更安全,可以保證不被流氓運營商插入廣告以及訪問網站時被第三方獲知訪問網頁的內容,並且訪客看到地址欄裡面有把小鎖的時候也會覺得更放心。

國外搜索引擎在對同關鍵詞的網站中的https網站排名也會排的更靠前一些。

現在好多網站都是https化了,如果你條件允許的話也不妨遷移到https。

4. SSL數字證書不同品牌有什麼區別

全球可信機構大概六家左右,靠譜品牌SSL證書簽發機構:

1、GlobalSign、2、DigiCert、3、Comodo(Sectigo)。

註:以上排名順序不分回先後,賽答門鐵克其旗下品牌已被DigiCert收購。

申請方法:

5. 名詞解釋數字證書

數字證書就是來互聯網通訊自中標志通訊各方身份信息的一串數字,提供了一種在Internet上驗證通信實體身份的方式,數字證書不是數字身份證,而是身份認證機構蓋在數字身份證上的一個章或印(或者說加在數字身份證上的一個簽名)。

它是由權威機構:CA機構,又稱為證書授權(Certificate Authority)中心發行的,人們可以在網上用它來識別對方的身份。

(5)數字證書解析擴展閱讀

證書申請:

一般來講,用戶要攜帶有關證件到各地的證書受理點,或者直接到證書發放機構即CA中心填寫申請表並進行身份審核,審核通過後交納一定費用就可以得到裝有證書的相關介質(磁碟或Key)和一個寫有密碼口令的密碼信封。

域名型的證書申請的時候,無須遞交書面審查資料,僅需進行域名有效性驗證,網上申請。而企業型證書需要進行嚴格的網站所有權的真實身份驗證,證書標示企業組織機構詳情,強化信任度。

增強型證書除了進行嚴格的網站所有權的真實身份驗證之外,還加入第三方驗證,證書標示增強組織機構詳情,強化信任度。

6. 如何驗證數字證書的有效性 信息安全

一、有效期
證書的有效期驗證這個比較簡單,就是使用時間在必須在證書起始和結束日期之間才有效,通過解析X.509對象很容易獲取起止時間,判斷證書有效期代碼如下:
/// <summary>
/// 有效期驗證
/// </summary>
/// <param name="cert"></param>
/// <returns></returns>
public static bool CheckDate(string cert)
{
byte[] bt = Convert.FromBase64String(cert);
System.Security.Cryptography.X509Certificates.X509Certificate2 x509
= new System.Security.Cryptography.X509Certificates.X509Certificate2(bt);

string date = x509.GetExpirationDateString();
DateTime dtex = Convert.ToDateTime(date);
DateTime dtnow = DateTime.Now;
DateTime dteff = Convert.ToDateTime(x509.GetEffectiveDateString());

if (dteff < dtnow && dtnow < dtex)
{
return true;
}

return false;
}
二、頒發根證書
每個數字證書都有頒發根證書的簽名,驗證證書就是用根證書公鑰來驗證證書頒發者簽名。首先,必須要找到數字證書的頒發根證書,Windows本身集成一些權威的受信任的根證書頒發機構,如VeriSign等,如果不在受信任的證書列表,我們打開證書會顯示「Windows 沒有足夠信息,不能驗證該證書」,當然我們可以把根證書加到受信任的根證書列表,這樣證書就可以顯示正常。
一般帶證書鏈的數字證書中會包含證書頒發機構頒發者,逐級驗證到最頂級根證書,每一級都用上級頒發根證書驗證證書簽名,直到證書頒發者和使用者一樣自己可以驗證自己通過。根證書的基本約束會不一樣,Subject Type=CA代表可以簽發證書,而一般的用戶證書為Subject Type=End Entity,為終端實體不能再簽發證書。
三、CRL驗證
CRL是經CA簽名的證書作廢列表,用於做證書凍結和撤銷時對證書有效性狀態控制。一般數字證書中都有 CRL分發點地址,提供了HTTP和LDAP方式訪問。通過BouncyCastle庫解析X509證書的擴展項我們可以獲取到CRL地址,然後使用相應方式下載CRL進行驗證。
獲取數字證書CRL

在用LDAP方式下載CRL時,注意LDAP協議名稱要大寫,不然訪問會出錯。下載的CRL格式可能是BASE64編碼的,需要判斷轉換成DER編碼二進制格式。
CRL分全量CRL和增量CRL,另外還有分段CRL,即同個CA的證書分不同的CRL地址段,主要是為了分流伺服器負載。CRL有生效日期和下次更新時間,一般是定時更新,所以CRL並不是即時狀態的。因此還有OCSP在線證書狀態協議,可以即時的查詢證書狀態。

7. DNS被劫持時數字證書是否還有效

如果來是被牆了(通常網站內源容是有問題的)那麼只能更換DNS才可以解決,當然也可以用DNS染加註等一些技術手段,解析IP也可以換成新的,數字證書的存在是指HTTP協議被劫持的情況下,配置了HSTS等加密技術重要手段,實現強制瀏覽器默認加密的行為,他可以有效防止劫持。數字證書防劫持手段:網頁鏈接

閱讀全文

與數字證書解析相關的資料

熱點內容
中國科學院無形資產管理辦法 瀏覽:67
注冊資本金認繳期限 瀏覽:828
申請商標到哪個部門 瀏覽:762
購買無形資產的相關稅費可以抵扣嗎 瀏覽:982
商標注冊被騙怎麼辦 瀏覽:160
朗太書體版權 瀏覽:268
大學無形資產管理制度 瀏覽:680
馬鞍山向山鎮黨委書記 瀏覽:934
服務創造價值疏風 瀏覽:788
工商登記代名協議 瀏覽:866
2015年基本公共衛生服務項目試卷 瀏覽:985
創造營陳卓璇 瀏覽:905
安徽職稱計算機證書查詢 瀏覽:680
衛生院公共衛生服務會議記錄 瀏覽:104
泉州文博知識產權 瀏覽:348
公共衛生服務培訓會議小結 瀏覽:159
馬鞍山攬山別院價格 瀏覽:56
施工索賠有效期 瀏覽:153
矛盾糾紛交辦單 瀏覽:447
2010年公需課知識產權法基礎與實務答案 瀏覽:391