【发布时间】:2016-10-25 18:47:25
【问题描述】:
使用 openssl 库,我创建了一个文件的数字签名。
如果我使用 openssl 命令,我可以看到:
openssl rsautl -verify -inkey pubkey.pem -pubin -asn1parse -in sigfile
我得到了一个不错的输出,例如:
0:d=0 hl=2 l= 49 cons: SEQUENCE
2:d=1 hl=2 l= 13 cons: SEQUENCE
4:d=2 hl=2 l= 9 prim: OBJECT :sha256
15:d=2 hl=2 l= 0 prim: NULL
17:d=1 hl=2 l= 32 prim: OCTET STRING
0000 - c9 8c 24 b6 77 ef f4 48-60 af ea 6f 49 3b ba ec ..$.w..H`..oI;..
0010 - 5b b1 c4 cb b2 09 c6 fc-2b bb 47 f6 6f f2 ad 31 [.......+.G.o..1
如何以编程方式将我的签名文件转换为我可以解析的 ASN1?
【问题讨论】:
-
你看到的输出是not ASN.1,它是编码ASN.1的字符串表示,专为阅读和调试而设计。那么你真正要问的是什么?
-
我知道输出不是 asn.1,我也知道签名也不是。我的问题是 openssl 是如何从签名转到一些 asn.1 的,然后他们可以解析并显示那个漂亮的字符串表示......
-
openssl 的输出是一个 ASN.1 序列,其中包含 RSA 签名的恢复数据:摘要算法和解密的摘要(您的内容的原始摘要)
标签: java openssl rsa digital-signature asn.1