日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Openssl asn1parse命令

發(fā)布時(shí)間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Openssl asn1parse命令 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、簡(jiǎn)介

asn1parse命令是一種用來診斷ASN.1結(jié)構(gòu)的工具,也能用于從ASN1.1數(shù)據(jù)中提取數(shù)據(jù)

?

二、語法

openssl asn1parse [-inform PEM|DER] [-in filename] [-out filename] [-noout] [-offset number] [-length number] [-i] [- structure filename] [-strparse offset]

選項(xiàng)

-inform arg input format - one of DER PEM-in arg input file-out arg output file (output format is always DER-noout arg don't produce any output-offset arg offset into file-length arg length of section in file-i indent entries-dump dump unknown data in hex form-dlimit arg dump the first arg bytes of unknown data in hex form-oid file file of extra oid definitions-strparse offseta series of these can be used to 'dig' into multipleASN1 blob wrappings-genstr str string to generate ASN1 structure from-genconf file file to generate ASN1 structure from

?

三、ASN.1結(jié)構(gòu)

0:d=0 hl=4 l= 710 cons: SEQUENCE0 表示節(jié)點(diǎn)在整個(gè)文件中的偏移長(zhǎng)度d=0 表示節(jié)點(diǎn)深度hl=4 表示節(jié)點(diǎn)頭字節(jié)長(zhǎng)度l=710 表示節(jié)點(diǎn)數(shù)據(jù)字節(jié)長(zhǎng)度cons 表示該節(jié)點(diǎn)為結(jié)構(gòu)節(jié)點(diǎn),表示包含子節(jié)點(diǎn)或者子結(jié)構(gòu)數(shù)據(jù)prim 表示該節(jié)點(diǎn)為原始節(jié)點(diǎn),包含數(shù)據(jù)SEQUENCE、OCTETSTRING等都是ASN.1中定義的數(shù)據(jù)類型,具體可以參考ASN.1格式說明。最后一個(gè)節(jié)點(diǎn)OCTET STRING [HEX DUMP],就是加密后的私鑰數(shù)據(jù)。

?

四、實(shí)例

1)分析一個(gè)文件

openssl asn1parse -in ec_pubkey.pem

2)分析一個(gè)DER文件

openssl asn1parse -inform DER -in file.der

3)解析公鑰文件

openssl x509 -in cert.pem -pubkey -noout > pubkey.key

移除pem頭尾后進(jìn)行base64解碼: openssl base64 x -in pubkey.key -out pubkey.bin

openssl asn1parse -in pubkey.key

? ? 0:d=0 ?hl=3 l= 159 cons: SEQUENCE ? ? ? ? ?

? ? 3:d=1 ?hl=2 l= ?13 cons: SEQUENCE ? ? ? ? ?

? ? 5:d=2 ?hl=2 l= ? 9 prim: OBJECT ? ? ? ? ? ?:rsaEncryption

? ?16:d=2 ?hl=2 l= ? 0 prim: NULL ? ? ? ? ? ? ?

? ?18:d=1 ?hl=3 l= 141 prim: BIT STRING?

openssl asn1parse -strparse 18 -in pubkey.key

? ? 0:d=0 ?hl=3 l= 137 cons: SEQUENCE ? ? ? ? ?

? ? 3:d=1 ?hl=3 l= 129 prim: INTEGER ? ? ? ? ? :BD08016AC47043B12704EF63B82AA311204A627C550CB5E0B44FBF70731F5A19C3E1FAA36F8E52F6C8A673F3704B0A3F1888F665EBFB257D5689F36F805F2C7442A0E0F90B1E3542A08C5E347FA21

DE6CE84A572BAAC892DE8AF611B5B2F81E8DA3EEA6E6C92A488876DF0B9DD9CEECC2A22D0C985904F40740FFF49836DE2B7

? 135:d=1 ?hl=2 l= ? 3 prim: INTEGER ? ? ? ? ? :010001

4)解析私鑰文件
移除pem頭尾后進(jìn)行base64解碼: openssl base64 -d -in cert.key -out prikey.keyopenssl asn1parse -in prikey.key0:d=0 ?hl=4 l= 606 cons: SEQUENCE ? ? ? ? ?4:d=1 ?hl=2 l= ? 1 prim: INTEGER ? ? ? ? ? :007:d=1 ?hl=3 l= 129 prim: INTEGER ? ? ? ? ? :BD08016AC47043B12704EF63B82AA311204A627C550CB5E0B44FBF70731F5A19C3E1FAA36F8E52F6C8A673F3704B0A3F1888F665EBFB257D5689F36F805F2C7442A0E0F90B1E3542A08C5E347FA21DE6CE84A572BAAC892DE8AF611B5B2F81E8DA3EEA6E6C92A488876DF0B9DD9CEECC2A22D0C985904F40740FFF49836DE2B7139:d=1 ?hl=2 l= ? 3 prim: INTEGER ? ? ? ? ? :010001144:d=1 ?hl=3 l= 129 prim: INTEGER ? ? ? ? ?:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX276:d=1 ?hl=2 l= ?65 prim: INTEGER ? ? ? ? ? :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX343:d=1 ?hl=2 l= ?65 prim: INTEGER ? ? ? ? ? :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX410:d=1 ?hl=2 l= ?64 prim: INTEGER ? ? ? ? ? :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX476:d=1 ?hl=2 l= ?65 prim: INTEGER ? ? ? ? ? :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX543:d=1 ?hl=2 l= ?65 prim: INTEGER ? ? ? ? ? :XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

?

參考:ASN.1 key structures in DER and PEM

總結(jié)

以上是生活随笔為你收集整理的Openssl asn1parse命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。