私は 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 行目までの HEX 形式で記述されたバイト配列で表されます。
このバイト配列を生の文字列に変換したいと思います。
私見、良い出発点は、これらのバイトが由来する元のテキストのエンコーディングを決定することです...そしてそれが私が立ち往生している場所です。
目標を達成するために使用できるツールはありますか?
ありがとうございました