捕風之巢

          統計

          留言簿(3)

          java友情鏈接

          閱讀排行榜

          評論排行榜

          openssl簡介(七)--指令asn1parse

          ?

          七.???? 指令 asn1parse

          ? 用法: openssl asn1parse [-inform PEM|DER] [-in filename] [-out filename]
          ? ?
          ? ???[-noout] [-offset number] [-length number] [-i] [- structure filename]
          ? ?
          ? ???[-strparse offset]
          ? ?
          用途:一個診斷工具,可以對 ASN1 結構的東東進行分析。
          ? ? ASN1
          是什么?一個用來描述對象的標準。要解釋的話,文章可以比解釋 openssl 結構的文章更長。有興趣的話自己去網絡上找來看吧。
          ? ?
          -inform DER|PEM|TXT
          ? ?
          輸入的格式, DER 是二進制格式, PEM base64 編碼格式 ,TXT 不用解釋了吧
          ? ?
          -in filename
          ? ?
          輸入文件的名稱,缺省為標準輸入。
          ? ?
          ? ? -out filename
          ? ?
          輸入文件的名稱,輸入一般都是 DER 數據。如果沒這個項,就沒有東西輸入咯。該項一般都要和 -strparse 一起使用。
          ? ?
          ? ? -noout
          ? ?
          不要輸出任何東西 ( 不明白有什么用 )
          ? ?
          -offset number
          ? ?
          從文件的那里開始分析,看到 offset 就應該知道是什么意思了吧。
          ? ?
          ? ? -length number
          ? ?
          一共分析輸入文件的長度的多少,缺省是一直分析到文件結束。
          ? ?
          ? ? -i
          ? ?
          根據輸出的數據自動縮進。
          ? ?
          ? ? - structure filename
          ? ?
          當你輸入的文件包含有附加的對象標志符的時候,使用這個。
          ? ?
          這種文件的格式在后面會介紹。
          ? ?
          ? ? -strparse offset
          ? ?
          從由 offset 指定的偏移量開始分析 ASN1 對象。當你碰到一個嵌套的對象時,可以反復使用這個項來一直進到里面的結構捏出你需要的東東。
          ? ?
          一般分析完之后輸入的東東如下:
          ? ? openssl asn1parse -out temp.ans -i -inform pem < server.crt
          ? ?
          ? ???0:d=0 hl=4 l= 881 cons: SEQUENCE
          ? ?
          ? ???4:d=1 hl=4 l= 730 cons: SEQUENCE
          ? ?
          ? ???... ....
          ? ?
          ? ???172:d=3 hl=2 l= 13 prim: UTCTIME :000830074155Z
          ? ?
          ? ???187:d=3 hl=2 l= 13 prim: UTCTIME :010830074155Z
          ? ?
          ? ???202:d=2 hl=3 l= 136 cons: SEQUENCE
          ? ?
          ? ???205:d=3 hl=2 l= 11 cons: SET
          ? ?
          ? ???... ...
          ? ?
          ? ???359:d=3 hl=3 l= 141 prim: BIT STRING
          ? ?
          ? ???... ...
          ? ?
          本例是一個自簽名的證書。每一行的開始是對象在文件里的偏移量。 d=xx 是結構嵌套的深度。知道 ASN1 結構的人應該知道,每一個 SET 或者 SEQUENCE 都會讓嵌套深度增加 1.
          ? ? hl=xx
          表示當前類型的 header 的長度。 1=xx 表示內容的八進制的長度。
          ? ? -i
          可以讓輸出的東西容易懂一點。
          ? ?
          如果沒有 ASN.1 的知識,可以省略看這一章。
          ? ?
          本例中 359 行就是證書里的公共密鑰。可以用 -strparse 來看看
          ? ? openssl asn1parse -out temp.ans -i -inform pem -strparse 359 < server.crt
          ? ?
          ? ???0:d=0 hl=3 l= 137 cons: SEQUENCE
          ? ?
          ? ???3:d=1 hl=3 l= 129 prim: INTEGER :C0D802B4C084B20569C619C0FDF
          ? ?
          ? ???466EEB7980920A408D51DA22C20427AC32488665D931C41E3274912DE2F25C8CA9C97B75
          ? ?
          ? ???415C01794B622DBEADD92DA068C140C3AD387BF5FDC9A8D2FCEE7F7F3E36B0194994FD67
          ? ?
          ? ???07897C8969F16F6ECB3F03BF985E910817160FE5DCBF874B1C0DBD06A568E130DA7C9FE3
          ? ?
          ? ???9FE7A7F421369
          ? ?
          ? ???135:d=1 hl=2 l= 3 prim: INTEGER :010001
          ? ?
          不要試圖去看 temp.ans 的內容,是二進制來的,看不懂的。

          posted on 2006-10-17 15:26 捕風 閱讀(744) 評論(0)  編輯  收藏 所屬分類: java安全

          主站蜘蛛池模板: 淳化县| 顺平县| 汝城县| 泌阳县| 磴口县| 长兴县| 金沙县| 乐亭县| 清河县| 兴和县| 勐海县| 华坪县| 当阳市| 泉州市| 嘉义县| 那坡县| 苏尼特右旗| 沁阳市| 明水县| 高雄市| 巩义市| 扶风县| 桃江县| 赫章县| 石嘴山市| 泰兴市| 衡东县| 隆德县| 堆龙德庆县| 横峰县| 梧州市| 湟中县| 灵武市| 个旧市| 吴旗县| 南阳市| 克东县| 咸宁市| 临猗县| 蓬安县| 久治县|