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

Android SSL Pinning证书更新:新增SHA-256 Pin相关问题咨询

关于Android SSL Pinning证书更换的问题解答

1. 从证书文件生成SHA-256 Pin的方法

完全可以从证书文件生成对应的SHA-256 Pin,具体操作步骤如下:

  • 若你的证书是PEM格式(.pem/.crt),直接执行以下命令:
    openssl x509 -in your-cert.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
    
  • 若证书是DER格式(.cer),先转成PEM格式再执行上述命令:
    openssl x509 -inform der -in your-cert.cer -out your-cert.pem
    

命令执行后输出的Base64字符串就是你需要的SHA-256 Pin值。

2. 同时添加新旧SHA-256 Pin是否可避免服务器换证书后应用崩溃?

是的,这种方式能有效避免崩溃。

SSL Pinning的验证逻辑是:客户端会检查服务器返回的证书链中,是否存在任意一个与配置文件中Pin匹配的公钥哈希。当你在<pin-set>中同时保留旧证书Pin和新证书Pin时:

  • 服务器未更换证书前,旧Pin会匹配,应用正常访问;
  • 服务器完成证书更换后,新Pin会匹配,应用依然能正常连接;
  • 待新证书全量部署、且所有用户均更新到包含新Pin的应用版本后,再移除旧Pin即可。

你可以按照以下格式修改配置文件(替换为实际的新旧Pin值):

<domain-config>         
  <domain includeSubdomains="true">mywebsite.com</domain>         
  <pin-set>             
    <pin digest="SHA-256">旧证书的SHA-256 Pin值</pin>             
    <pin digest="SHA-256">新证书的SHA-256 Pin值</pin>         
  </pin-set>     
</domain-config>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:03:18