arrays - 如何从 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 行以十六进制格式编写的字节数组表示。
我现在想将此字节数组转换为原始字符串。
恕我直言,一个好的起点是确定这些字节来自的原始文本的编码......这就是我卡住的地方。
是否有一些工具可以用来实现我的目标?
谢谢
解决方案
推荐阅读
- spyder - spyder(python)不打开(实际上没有给出任何错误)
- deep-learning - 连接来自不同来源的编码器隐藏状态/单元/输出以进行注意力计算 - 问题?
- java - 为什么这个 Java 代理服务器很慢?
- sql - postgresql 查询找不到带有外来字母的结果
- java - 如何在 Android 中处理 MVVM 中的回调和状态
- node.js - 如何在 get() 函数中实现多个集合?
- python - For循环替代函数中的多个列(熊猫)
- c++ - 如何将 QBytearray BCD 转换为十进制 QString 表示?
- html - Angular 5材质数据网格自动高度
- angular - Angular 5 JIT 语言