20211105李宜時DER

李宜时發表於2024-03-30

作業內容:

  1. 參考附件中圖書p120 中7.1的實驗指導,完成DER編碼
  2. Name例項中,countryName改為“CN”,organization Name-"你的學號" commoaName="你的姓名拼音"
  3. 用echo -n -e "編碼" > 你的學號.der中,用OpenSSL asn1parse 分析編碼的正確性
  4. 提交編碼過程文件(推薦markdown格式)

具體過程

1.檢視自己的相關資訊

echo -n "CN" | od -tc -tx1
echo -n "Li Yishi " | od -tc -tx1
echo -n "20211105" | od -tc -tx1

結果為
43 4e
4c 69 20 59 69 73 68 69
32 30 32 31 31 31 30 35

2.編碼過程

7.1 DER 編碼示例:X.501 Name 型別
7.1.1
ASN.1 描述與例項

  1. ASN.1 描述
    X.501 Name 型別用 ASN.I 描述如下:
    Name ::= CHOICE ( RDNSequence }
    RDNSequence ::= SEQUENCE OF RelativeDistinguishedName RelativeDistinguishedName := SET OF Attribute Value Assertion
    AttributeValueAssertion := SEQUENCE{
    Attribute lype,
    Attribute Value }
    Attribute Type ::= OBJECT IDENTIFIER
    Attribute Value ::= ANY
    Name 型別定義為CHOICE型別,目前只有1個選項 RDNSequence。RDNSequence 定義為 SEQUENCE OF 型別,由0個或多個 RelativeDistinguishedName 組成。RelativeDistinguished-Name 定義為 SET OF 型別,由0個或多個 AttributeValueAssertion 組成。AttributeValueAssertion
    定義為 SEQUENCE 型別,由2個成分組成:1個為 AttributeType 型別和 1 個 AttributeValue型別。AttributeType 定義 OBJECT IDENTIFIER 型別。AttributeValue 定義次ANY型別,具體內容由 AttributeType 決定。
    事實上,Name 型別可理解為分層或樹形結構,即X.500目錄樹結構。
  2. Name 例項
    對於使用者 Test User 1,其對應的Name型別採用分層結構描述為:
    (root)
    country Name = "US"
    organization Name = "Example Organization"
    commonName = "Test User 1"
    其中,每層對應一個 RelativeDistinguishedName; 每個 RelativeDistinguishedName 由
    1 1 Attribute Value Assertion 4 6k. 19 5 AÚ P % Attribute Type, 14 € 5 / 77% Attribute Value.
    使用者 Test User 1 包含3個 AttributeType: countryName、organizationName、commonName,其 OID 定義如下:


3.具體的編碼過程

(1)echo -n -e "\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4E" > 20211105.der
openssl asn1parse -inform der -in ./20211105.der
(2)echo -n-e "\x31\x11\x30\xOF\x06\X03\x55\X04\XOA|x13\x08\x32\x30\x32\x31\x31\x31\x30\x35" >> 20211105. der
openssl asn1parse -inform der -in ./20211105.der
(3)echo -n-e "(x31\x15\x30\x13\x06\X03\x551X041X03\X13\X07\X0C|X4C\X69\x201x591x69\x73\x68\x69" >> 20211105. der
openssl asn1parse -inform der -in ./20211105.der
最後結果如下

相關文章