丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當前位置:首頁 > 攻略

100011專題之ASN.1分析X509證書

簡述

本文主要介紹ASN.1分析X509證書。

X.509證書格式

Cer/crt用于保存證書,并以沒有私鑰的二進制數(shù)存儲。

  • pem和cer/crt區(qū)別是它以Ascii來表示,可以用于存放證書或者私鑰。
  • pfx/p12用于存放個人證書/私鑰。通常包含保護密碼,2進制方式。
  • p10是證書請求
  • p7r是CA對證書請求的回復,只用于導入。
  • p7b以樹狀展示證書鏈,同時支持單個證書,不含私鑰。
  • X.509證書詳細解析

    Certificate ::= sequence {

    tbsCertificate TBSCertificate, -- 證書主體

    signatureAlgorithm AlgorithmIdentifier, -- 證書簽名算法標識

    signatureValue BIT STRING --證書簽名值,是使用signatureAlgorithm部分指定的簽名算法對tbsCertificate證書主題部分簽名后的值。

    }

    TBSCertificate ::= SEQUENCE {

    version [0] EXPLICIT Version DEFAULT v1, -- 證書版本號

    serialNumBER CertificateSerialNumber, -- 證書序列號,對同一CA所頒發(fā)的證書,序列號唯一標識證書

    signature AlgorithmIdentifier, --證書簽名算法標識

    issuer Name, --證書發(fā)行者名稱

    validity Validity, --證書有效期

    subject Name, --證書主體名稱

    subjectPublicKeyInfo SubjectPublicKeyInfo, --證書公鑰

    issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, -- 證書發(fā)行者ID(可選),只在證書版本2、3中才有

    subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, -- 證書主體ID(可選),只在證書版本2、3中才有

    extensions [3] EXPLICIT Extensions OPTIONAL

    -- 證書擴展段(可選),只在證書版本3中才有

    }

    其中:

    Version ::= INTEGER { v1(0), v2(1), v3(2) }

    AlgorithmIdentifier ::= SEQUENCE {

    algorithm OBJECT IDENTIFIER, -- 證書主體持有的公鑰密碼算法

    parameters ANY DEFINED BY algorithm OPTIONAL } -- 參數(shù)任意有算法定義可選

    ASN.1編碼規(guī)則

    –基本編碼規(guī)則(BER)[定義了一種或者幾種方法,使用ASN.1語法將數(shù)據(jù)對象轉換成二進制字節(jié)碼]

    –唯一編碼規(guī)則(DER)[BER的子集,定義了唯一一種方法,使用ASN.1講數(shù)據(jù)對象轉換成二進制字節(jié)碼]

    –規(guī)范編碼規(guī)則(CER)

    –壓縮編碼規(guī)則(PER)

    –XML編碼規(guī)則(XER)

    BER基本規(guī)則

    BER是ASN.1最早定義的編碼規(guī)則。BER傳輸語法的格式一直是TLV三元組

    • 短格式

    length<=127

    舉例:

    length=35

    35轉16進制為23

    35的長度域表示為:100011 為[0010 0011]

    • 長格式

    length>127

    舉例:

    length = 169 轉換為 81 A9

    (169長度超過127,長度域為1000 0001 1010 1001;

    169是后8位的值,前8位的第一個1表示這是一個長格式的表示方法,前8位的后7位表示后面有多少個字節(jié)表示針對的長度000 0001后面有一個字節(jié)表示真正的長度 1010 1001是表示長度為169)

    length=1500=>82 05 DC(1000 0010 0000 0101 1101 1100,先看第一個字節(jié),表示長格式,后面有2 個字節(jié)表示長度,這兩個字節(jié)是0000 0101 1101 1100 表示1500)

    • context[]

    [0] –- 表示證書的版本

    [1] –- issuerUniqueID,表示證書發(fā)行者的唯一id

    [2] –- subjectUniqueID,表示證書主體的唯一id

    [3] –- 表示證書的擴展字段

    ASN1view分析證書

    • ASN.1常用標記符示例

    0x02:Integer(整數(shù),包括正數(shù)和負數(shù))

    0x03:Bit String(任意的01比特流)

    0x04:OCTET String(任意的字節(jié)流)

    0x05:NULL(只包含一個值NULL,用于傳送一個報告或者作為CHOICE類型中的某些值)

    0x06:Object Identifier(對象標識符)

    0x12:UTF8 String

    0x13:Printable String

    0x17:UTC Time(時間類型)

    0x30:Sequence(順序類型)

    0x31:Set(集合類型)

    證書信息本身是一個SEQUENCE,里面有兩個SEQUENCE和一個BIT STRING組成.

    其中,第一個SEQUENCE是待簽的證書,tbsCertificate=TO BE Signed Certificate;第二個SEQUENCE是簽名算法,就是CA準備采用什么簽名算法對tbsCertificate進行簽名;第三個BIT STRING是簽名信息,就是CA對tbsCertificate通過signatureAlgorithm簽名算法簽出來的簽名信息。

    其中tbsCertificate又包含了一下內(nèi)容:

    • Version

    version 是一個ASN1 INTEGER類型(0x02),長度是1(0x1), 數(shù)據(jù)是0x2,說明版本號是x509v3

    • SerialNumber

    序列號也是一個ASN1 INTEGER類型,長度是5, 數(shù)據(jù)是53ad44bcab就是359389248683(10進制轉10進制)

    • AlgorithmIdentifier

    在www.OID-in上查詢這個OID:1.2.840.113549.1.1.5的結果,它代表的是

    sha1-with-rsa-signature(5)

    [other identifiers: sha1WithRSAEncryption, sha-1WithRSAEncryption]

    即使用了SHA1摘要算法的RSA簽名算法

    • issuer

    issuer由一個sequence組成,sequence下面有N個set,set下又跟了一個sequence。其中一個set代表一個字段,如下圖,第一個set代表CN;在set下的sequence中又包含一個OBject Identifier(簡稱:OID)、UTF8String

    查詢OID:2.5.4.3

    commonName(3)

    [other identifier: cn]

    在UTF8String中查看value:RSA_CA_SUB。

    以此類推set,可得出完整的頒發(fā)者。

    備注:

    • validity

    2049年以前的有效期用UTCTime格式編碼.2050及之后的時間必須使用GeneralizedTime 類型。這兩種的主要區(qū)別在于前者用兩個數(shù)字來表示年.而后者用4個數(shù)字

    UCTime:世界時間類型

    GeneralizedTime:通用的時間類型

    UTCtime格式如下多種:

    YYMMDDhhmmZ

    YYMMDDhhmm+hh'mm'

    YYMMDDhhmm-hh'mm'

    YYMMDDhhmmssZ

    YYMMDDhhmmss+hh'mm'

    YYMMDDhhmmss-hh'mm'

    其中,

    YY:當YY大于或者等于50年,年應該解釋為19YY,當YY不到50,年應該解釋為20YY

    MM:月,01-12

    DD:日,01-31

    hh:小時,00-23

    mm:分鐘,00-59

    ss:秒,00-59

    Z/+/-:Z表示GMT時間,+/-表示本地時間與GMT時間的差距

    hh':與GMT的差

    mm':與GMT的差

    則:200827230643Z 為:

    YY:20年

    MM:08月

    DD:27日

    hh:23時(23時+8時=7時)

    MM:06分

    ss:43秒

    • subject Name

    和頒發(fā)者Dn類似

    • Subject Public Key Info

    證書公鑰信息中的BIT STRING就是公鑰的二進制

    • extensions

    擴展信息

    OID的計算方式

    對象標識符(OID),是一個用"."隔開的非負整數(shù)組成的序列。下面說下OID的編碼設計:設OID=V1.V2.V3.V4.V5....Vn,則DER編碼的value部分規(guī)則如下:(1)計算40*V1+V2作為第一字節(jié);(2)將Vi(i>=3)表示為128進制,每一個128進制位作為一個字節(jié),再將除最后一個字節(jié)外的所有字節(jié)的最高位置1;(3)依次排列,就得到了value部分。舉例:OID=1.2.840.11359.1.1的編碼如下:

    其中高位進1的意思為:

    【0x01 0x1c】對0x01進行進1

    0的2進制為 0000-------高位進1------1000------轉16進制為8

    【0x4f 0x55】

    4的二進制為 0100 --------高位進1-------1100------轉16進制為c

    【0x06 0x77 0x0d】

    0的二進制為 0000---------高位進1-------1000------轉16進制為8

    7的二進制為 0111---------高位進1-------1111------轉16進制為f

    備注:

    10進制如何轉16進制

    16進制數(shù):

    10進制數(shù):1 2 3 4 5 6 7 8 9

    16進制數(shù):1 2 3 4 5 6 7 8 9

    10進制數(shù):10 11 12 13 14 15

    16進制數(shù): A B C D E F

    1.《100011專題之ASN.1分析X509證書》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。

    2.《100011專題之ASN.1分析X509證書》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

    3.文章轉載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2031976.html

    上一篇

    【boss再賤】大金鏈子小手表,10萬塊的SUV照樣裝大佬

    下一篇

    2018 MSI入圍賽賽程出爐:Gambit揭幕迎戰(zhàn)拉美KLG

    100011,干貨看這篇!慶祝農(nóng)工黨成立90周年理論征文啟事

    100011相關介紹,2020年是中國農(nóng)工民主黨成立90周年。在過去的90年里,中國農(nóng)工民主黨與中國共產(chǎn)黨并肩作戰(zhàn),攜起手來,為民族獨立和人民解放事業(yè)做出了重要貢獻,為統(tǒng)一戰(zhàn)線和多黨合作事業(yè)做出了重要貢獻。 為系統(tǒng)總結農(nóng)工...

    【100011】ASN.1分析X509證書

    • 【100011】ASN.1分析X509證書
    • 【100011】ASN.1分析X509證書
    • 【100011】ASN.1分析X509證書

    【100011】專題「巡察公告」寧德市委巡察組將對這些部門開展巡察,舉報電話和信箱公布

    • 【100011】專題「巡察公告」寧德市委巡察組將對這些部門開展巡察,舉報電話和信箱公布
    • 【100011】專題「巡察公告」寧德市委巡察組將對這些部門開展巡察,舉報電話和信箱公布
    • 【100011】專題「巡察公告」寧德市委巡察組將對這些部門開展巡察,舉報電話和信箱公布

    100011,干貨看這篇!中國神華能源股份有限公司 2020年第一次臨時股東大會、 2020年第二次A股類別股東會 及2020年第二次H股類別股東會決議公告

    100011相關介紹,證券代碼:601088證券簡稱:中國神話公告編號:林林2020-046 中國新華能源股份有限公司董事會及全體董事保證本公告內(nèi)容不存在虛假記錄、誤導性陳述或重大遺漏,并對內(nèi)容的真實性、準確性和完整性承擔...

    100011,干貨看這篇!博天環(huán)境集團股份有限公司關于“G16博天”回售的第一次提示性公告

    100011相關介紹,證券代碼:603603證券簡稱:寶川環(huán)境公告號:林林2019-114 債券代碼:136749債券簡稱:G16薄川 債券代碼:150049債券簡稱:17夜千01 本公司董事會及全體董事保證本公告內(nèi)容不存...

    100011看這里!國內(nèi)各暖通設計院的名稱和聯(lián)系方式

    100011相關介紹,設計院名稱地址電話傳真郵政編碼 中國建筑設計研究院車廠街甲19號68312266 100044 建設部綜合調(diào)查研究院北京市東直門內(nèi)大街177號64013366 100007 機械電子工業(yè)部工程調(diào)查研究...

    【100011】專題讀懂了尾盤語言,就等于學會了短線操作,成功規(guī)避風險!

    100011相關介紹,尾盤船主屬于超短期操作,但超短期操作的本質(zhì)是為了規(guī)避中長期持有股票的風險,獲得短期利潤。 超短線高手買進是為了在第二天賣出,無論盈虧都必須賣出,不參與沉悶而無聊的盤整。但是在目前T 1交易制度下,當天...

    100011專題之國內(nèi)各暖通設計院的名稱和聯(lián)系方式

    100011相關介紹,設計院名稱地址電話傳真郵政編碼 中國建筑設計研究院車廠街甲19號68312266 100044 建設部綜合調(diào)查研究院北京市東直門內(nèi)大街177號64013366 100007 機械電子工業(yè)部工程調(diào)查研究...