国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

SM2國(guó)密算法證書(shū)解析

2019-11-10 17:31:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

from http://www.jonllen.com/jonllen/work/174.aspx

一、數(shù)字證書(shū)的組成

1)證書(shū)數(shù)據(jù)結(jié)構(gòu)

數(shù)字證書(shū)使用ASN.1編碼,證書(shū)文件以二進(jìn)制或Base64格式存放,數(shù)據(jù)格式使用TLV(Tag Length Value)形式,T代表類(lèi)型標(biāo)識(shí)符,L是長(zhǎng)度值標(biāo)識(shí)符,V代表值編碼。數(shù)字證書(shū)中的每一項(xiàng)都有個(gè)對(duì)應(yīng)的類(lèi)型T。一個(gè)數(shù)字證書(shū)就是一個(gè)大的TLV序列,然后V又由多個(gè)TLV組合而成。

SM2證書(shū)數(shù)據(jù)和RSA算法證書(shū)一樣,包含證書(shū)版本、序列號(hào)、頒發(fā)者、使用者主體信息、使用者公鑰、有效期、證書(shū)擴(kuò)展項(xiàng)等,只不過(guò)SM2證書(shū)的公鑰算法是使用ECC算法的Oid標(biāo)識(shí)(1.2.840.10045.2.1),然后公鑰參數(shù)使用SM2國(guó)密算法的Oid標(biāo)識(shí)(1.2.156.10197.1.301)。

2)簽名算法

SM2證書(shū)配套的簽名算法是基于SM3的SM2簽名算法,算法Oid標(biāo)識(shí)為1.2.156.10197.1.501,另外SM2國(guó)密算法還定義基于SHA_1、SHA_256的簽名,以及使用SM3算法的RSA的簽名,只不過(guò)簽名算法Oid標(biāo)識(shí)不一樣。

3)簽名數(shù)據(jù)

SM2的簽名數(shù)據(jù)由2個(gè)BigInteger大數(shù)組成,再使用Der編碼存放簽名數(shù)據(jù)。證書(shū)的簽名數(shù)據(jù)由根證書(shū)私鑰進(jìn)行簽名,使用根證書(shū)公鑰驗(yàn)證,頂級(jí)根證書(shū)使用自己的證書(shū)公鑰驗(yàn)證。

二、數(shù)字證書(shū)的對(duì)象標(biāo)識(shí)符

數(shù)字證書(shū)的每項(xiàng)都有對(duì)象標(biāo)識(shí)Oid,SM2數(shù)字證書(shū)的主要區(qū)別就是公鑰算法、公鑰參數(shù)、簽名算法標(biāo)識(shí)不一樣,其余的都是X509里標(biāo)準(zhǔn)項(xiàng)。數(shù)字證書(shū)常見(jiàn)得對(duì)象標(biāo)識(shí)有如下:

對(duì)象標(biāo)識(shí)符名稱(chēng)OID
rsaEncryptionRSA算法標(biāo)識(shí)1.2.840.113549.1.1.1
sha1withRSAEncryptionSHA1的RSA簽名1.2.840.113549.1.1.5
ECCECC算法標(biāo)識(shí)1.2.840.10045.2.1
SM2SM2算法標(biāo)識(shí)1.2.156.10197.1.301
SM3WithSM2SM3的SM2簽名1.2.156.10197.1.501
sha1withSM2SHA1的SM2簽名1.2.156.10197.1.502
sha256withSM2SHA256的SM2簽名1.2.156.10197.1.503
sm3withRSAEncryptionSM3的RSA簽名1.2.156.10197.1.504
commonName主體名2.5.4.3
emailAddress郵箱1.2.840.113549.1.9.1
cRLDistributionPointsCRL分發(fā)點(diǎn)2.5.29.31
extKeyUsage擴(kuò)展密鑰用法2.5.29.37
subjectAltName使用者備用名稱(chēng)2.5.29.17
CP證書(shū)策略2.5.29.32
clientAuth客戶(hù)端認(rèn)證1.3.6.1.5.5.7.3.2

三、數(shù)字證書(shū)的解析

數(shù)字證書(shū)的解析主要是根據(jù)ASN.1語(yǔ)法和對(duì)象標(biāo)識(shí)符來(lái)獲取值,然后再是證書(shū)的有效期、頒發(fā)機(jī)構(gòu)根證書(shū)、CRL吊銷(xiāo)狀態(tài)和使用目的等驗(yàn)證。RSA證書(shū)是標(biāo)準(zhǔn)算法大部分平臺(tái)都可以解析,而SM2國(guó)密算法證書(shū)的解析就不是那么通用的。在Windows的一些較高版本打開(kāi)SM2證書(shū)會(huì)顯示“驗(yàn)證信任關(guān)系時(shí),系統(tǒng)層上出現(xiàn)了一個(gè)錯(cuò)誤”,這是因?yàn)閃indows還不支持SM2算法證書(shū)驗(yàn)證,不能識(shí)別SM2簽名的算法標(biāo)識(shí),因此需要自行驗(yàn)證SM2證書(shū)的簽名數(shù)據(jù),可基于BouncyCastle開(kāi)源加密庫(kù)來(lái)實(shí)現(xiàn)SM2驗(yàn)證簽名,詳細(xì)參見(jiàn)我的國(guó)密算法SM2證書(shū)制作。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永安市| 保靖县| 井研县| 财经| 昔阳县| 永康市| 凤阳县| 揭西县| 泸水县| 大悟县| 龙川县| 塔河县| 江永县| 龙陵县| 顺昌县| 张家港市| 景东| 平果县| 华宁县| 揭东县| 神农架林区| 亚东县| 彰化市| 柞水县| 永修县| 岐山县| 淅川县| 嵊泗县| 宁津县| 工布江达县| 昔阳县| 赞皇县| 兖州市| 穆棱市| 宁河县| 璧山县| 广昌县| 汽车| 屏南县| 新巴尔虎右旗| 瑞昌市|