当前位置:   article > 正文

Android正向开发实现客户端证书认证

Android正向开发实现客户端证书认证

前言

如果第三方模块被混淆,那hook方式均不能生效。这时就需要根据系统包去定位校验的函数,因此需要对安卓开发者是如何实现客户端证书校验的有一定了解,接下来就介绍这部分内容。

开发者实现客户端证书校验的本质是:证书/密钥 + 代码。
在形式上有:证书校验、公钥校验和Host(主机)校验。

一,证书校验

1.1 基于代码

1,获取PEM证书
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2,配置
在这里插入图片描述

3,发送请求
在这里插入图片描述

在这里插入图片描述

1.2 基于配置

1,获取PEM证书
步骤同上…

2,配置
在这里插入图片描述

3,发送请求
在这里插入图片描述

证书发送到客户端后,客户端对证书进行base64编码,编码后得到的字符串就相当于是公钥。

二,公钥校验

公钥校验就是将证书进行 sha256 加密,得到密钥,然后基于密钥进行校验。

2.1 基于代码

1,获取sha256公钥
在这里插入图片描述

以下命令只需要修改 www.baidu.com:443 即可得到其他域名的 sha256 密钥。执行下列命令后,会自动向 百度 服务器发请求,下载证书,并生成 sha256 密钥。

>>>openssl s_client -connect www.baidu.com:443 -servername www.baidu.com | openssl x509 -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
  • 1
Zhv4cvwdHmEmE0edWEcIdmLf
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/600369
    推荐阅读
    相关标签
      

    闽ICP备14008679号