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

如何在Android中配置备份证书公钥钉扎并从CSR提取Pin

公钥钉扎中备份Pin的配置方案

你手里的CSR文件完全可以提取出备份Pin,问题出在你用的工具不对——get_pin_from_certificate.py只处理已签发的证书,没法解析CSR。下面是具体操作步骤:

从CSR提取公钥Pin的流程

  1. 导出CSR中的SubjectPublicKeyInfo
    用OpenSSL命令从CSR里提取公钥的DER格式文件(这就是生成Pin需要的核心数据):
    openssl req -in 你的新CSR文件.csr -pubkey -noout | openssl pkey -pubin -outform der > spki.der
    
  2. 计算SHA256格式的Pin值
    对导出的spki.der文件计算SHA256哈希并做Base64编码,得到的就是备份Pin:
    openssl dgst -sha256 -binary spki.der | openssl base64
    

关键注意点

  • 你代码里的AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=是无效占位符,必须替换成从CSR提取的真实备份Pin,否则证书更换后客户端会直接验证失败。
  • CSR的核心就是包含了未来新证书要使用的公钥,只要服务器后续用这个CSR签发证书,提取的Pin就完全有效。
  • 配置完成后建议做测试:临时把服务器证书换成对应CSR签发的新证书,验证客户端是否能正常建立连接,确保备份Pin生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:13:23