捕風之巢

          統計

          留言簿(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 捕風 閱讀(751) 評論(0)  編輯  收藏 所屬分類: java安全

          主站蜘蛛池模板: 建平县| 澄迈县| 阿拉善左旗| 河北区| 拉孜县| 赤峰市| 抚顺市| 改则县| 乌兰浩特市| 越西县| 甘孜县| 安图县| 内黄县| 樟树市| 长宁区| 吉水县| 宁武县| 齐齐哈尔市| 闸北区| 且末县| 上思县| 咸丰县| 磐石市| 韶山市| 招远市| 南郑县| 旌德县| 日喀则市| 嫩江县| 四川省| 洪洞县| 荣成市| 千阳县| 陆丰市| 长顺县| 山东| 绍兴县| 象山县| 桦川县| 辰溪县| 从江县|