You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从dumpasn1输出中提取原始字符串,获取Apple APNs p8私钥用于JWT签名

核心结论

你对字段的对应关系判断有误,不需要手动解码HEX字节,直接用OpenSSL工具就能快速提取符合JWT签名要求的私钥内容。

认知纠正

你提供的ASN.1结构中:

  • 第12~13行的OCTET STRING才是prime256v1椭圆曲线对应的32字节原始私钥值
  • 第19~23行的BIT STRING是公钥内容,开头的04是未压缩公钥的固定标识,不属于私钥范畴

椭圆曲线私钥本身是随机生成的二进制字节,没有对应的文本编码,你不需要做编码转换,只需要提取为JWT签名库支持的格式即可。

操作方法

直接使用系统自带的OpenSSL工具即可完成提取,不需要手动解析ASN.1结构:

  1. 提取标准PEM格式私钥(绝大多数JWT库直接支持该格式传入)
openssl ec -in 你的APNs.p8文件路径 -out 输出的纯私钥.pem路径
  1. 提取32字节原始二进制私钥
openssl ec -in 你的APNs.p8文件路径 -outform DER | tail -c +37 | head -c 32
  1. 提取Base64编码的原始私钥
openssl ec -in 你的APNs.p8文件路径 -outform DER | tail -c +37 | head -c 32 | base64

免责声明:前述内容对应的真实密钥已被注销。

内容的提问来源于stack exchange,提问作者David Kohelet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:15:03