AndroidSSLPinning需要公钥的SHA256哈希值长度为32字节的问题
创始人
2024-10-10 19:01:11
0

使用OpenSSL命令手动计算公钥的哈希值,并截取前32个字节作为Android SSL Pinning所需的哈希值。

示例代码:

  1. 使用openssl命令生成.pem格式的公钥文件并计算SHA256哈希值:
openssl x509 -in cert.crt -pubkey -noout > pub.pem
openssl rsa -in pub.pem -pubin -outform der | openssl dgst -sha256 -binary | xxd -p
  1. 在Android应用程序中,使用如下代码获取证书的SHA256哈希值:
public static String getCertificateSHA256Fingerprint(Context context) throws PackageManager.NameNotFoundException, NoSuchAlgorithmException {
    PackageManager pm = context.getPackageManager();
    String packageName = context.getPackageName();
    int flags = PackageManager.GET_SIGNATURES;
    PackageInfo packageInfo = pm.getPackageInfo(packageName, flags);
    Signature[] signatures = packageInfo.signatures;
    byte[] cert = signatures[0].toByteArray();

    MessageDigest digest = MessageDigest.getInstance("SHA256");
    byte[] hash = digest.digest(cert);

    return bytesToHex(hash);
}

private static String bytesToHex(byte[] hash) {
    StringBuilder hexString = new StringBuilder();
    for (byte b : hash) {
        String hex = Integer.toHexString(0xFF & b);
        if (hex.length() == 1) {
            hexString.append('0');
        }
        hexString.append(hex);
    }
    return hexString.toString();
}

相关内容

热门资讯

科技新动态!微信微乐辅助插件,... 科技新动态!微信微乐辅助插件,悦扑克脚本,AI教程(详细教程);人气非常高,ai更新快且高清可以动的...
一分钟了解!玫瑰大厅辅助,hh... 一分钟了解!玫瑰大厅辅助,hhpoker软件靠谱吗,详细教程(发现有挂);玫瑰大厅辅助简单的灵活控制...
分辨真假!福建天天开心攻略,p... 分辨真假!福建天天开心攻略,pokermaster破解版,普及教程(了解有挂);1、让任何用户在无需...
必备教程!广东闲来辅助工具,智... 必备教程!广东闲来辅助工具,智星菠萝辅助,透明挂教程(今日头条);广东闲来辅助工具软件透明挂作为一款...
记者揭秘!潮友潮汕木虱开挂辅助... 《记者揭秘!潮友潮汕木虱开挂辅助器下载,wepoker免费辅助器,wpk教程(今日头条)》 潮友潮汕...
如何分辨真伪!四川长牌皮皮游戏... 如何分辨真伪!四川长牌皮皮游戏挂,德州局透视脚本免费版下载手机版,安装教程(竟然有挂);1、很好的四...
玩家实测!新道游科技透视免费版... 玩家实测!新道游科技透视免费版,pokemmo手机版透视脚本,解密教程(有挂猫腻);相信小伙伴都知道...
避坑细节!旺旺填大坑透视挂,w... 避坑细节!旺旺填大坑透视挂,wpk刷入池率脚本,辅助教程(有挂秘诀);旺旺填大坑透视挂最新版本免费下...
技术分享!丽水茶苑手机辅助,德... 技术分享!丽水茶苑手机辅助,德普之星辅助器,必备教程(详细教程);1、点击下载安装,丽水茶苑手机辅助...
玩家必看教程!广东雀神挂件定制... 玩家必看教程!广东雀神挂件定制,aapoker真的假的,可靠技巧(确实有挂);1、让任何用户在无需A...