首页 > 解决方案 > 如何从 dumpasn1 输出中提取原始字符串?

问题描述

我拥有一个 Apple APNs p8 文件,它基本上是一个包含公钥和私钥的 PKCS#8 文件。

我基本上需要从这个文件中提取私钥信息,然后签署一个 JWT。

免责声明:以下信息与已撤销的真实密钥匹配。

我首先从我的 p8 文件生成 ASN1 文件。使用该dumpasn1工具,我得到以下输出:

 2 SEQUENCE {
 3   INTEGER 0
 4   SEQUENCE {
 5     OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1)
 6     OBJECT IDENTIFIER prime256v1 (1 2 840 10045 3 1 7)
 7     }
 8   OCTET STRING, encapsulates {
 9     SEQUENCE {
10       INTEGER 1
11       OCTET STRING
12         B8 89 CA 8C 12 AB AF 74 9E CA 11 D4 D8 36 B8 28
13         D1 99 4F 8D B3 72 52 49 3D 85 44 02 08 05 64 1E
14       [0] {
15         OBJECT IDENTIFIER prime256v1 (1 2 840 10045 3 1 7)
16         }
17       [1] {
18         BIT STRING
19           04 CD BB 86 D3 2C 4D 08 11 6A A4 D3 38 4E AE 1B
20           DF E3 EC E5 D4 6F 03 0D CF 39 CD 79 3C 2E E6 74
21           FA 93 54 10 F2 10 41 92 78 57 7D 87 72 55 F3 30
22           BE F4 CA 6F F0 89 55 24 B8 B6 84 89 9C 4A 08 B5
23           1A
24         }
25       }
26     }
27   }

据我了解,私钥由第 19 行到第 23 行以十六进制格式编写的字节数组表示。

我现在想将此字节数组转换为原始字符串。

恕我直言,一个好的起点是确定这些字节来自的原始文本的编码......这就是我卡住的地方。

是否有一些工具可以用来实现我的目标?

谢谢

标签: arraysprivate-keyasn1p8

解决方案


推荐阅读