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

news2024/11/17 3:55:51

前言

如果第三方模块被混淆,那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
Zhv4cvwdHmEmE0edWEcIdmLf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1684340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++之单链表与双链表逆序实例(二百七十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

某跨国集团文件跨域安全交换解决方案

在全球化和数字化浪潮的推动下,大型企业越来越依赖于跨域文件交换,以实现跨地区、跨部门的高效协作。然而,随之而来的数据安全和管理挑战也变得愈加严峻。FileLink跨域文件交换安全管控系统应运而生,为大型企业提供了一站式解决方…

Casper Blockchain:基于 CSPR.build 套件,实现闪电般的 dApp 部署

对于许多工程师而言,即使作为对于区块链较为了解的终端用户,与区块链的整合仍然是一个谜团。虽然很多技术文章通常将注意力和报道重点放在智能合约开发上,但当涉及到如何将区块链技术与其应用程序的其余部分集成时,开发者往往只能…

⌈ 传知代码 ⌋ 多行人姿态检测系统

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

局域网传文件怎么操作?轻松实现文件共享!

在现代的办公和生活中,局域网传文件已经成为一种非常常见和方便的方式,可以快速、安全地在局域网内进行文件传输。无需依赖互联网,局域网传文件可以帮助团队成员之间共享文件、备份数据、进行协作等。本文将介绍三种常见的方法,帮…

PersonalLLM——探索LLM是否能根据五大人格特质重新塑造一个新的角色?

1.概述 近年来,大型语言模型(LLMs),例如ChatGPT,致力于构建能够辅助人类的个性化人工智能代理,这些代理以进行类似人类的对话为重点。在学术领域,尤其是社会科学中,一些研究报告已经…

【软考】设计模式之装饰器模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.动态地给一个对象添加一些额外的职责。2.Decorator Pattern。3.就增加功能而言,装饰器模式比生成子类更加灵活。4.一种在不改变现有对象结构的情况下,动态地给对…

c++(二)

C(二) 类和对象C中的结构体和C中的结构体有什么区别C中的结构体和类有什么区别访问限定符类的定义对象类与对象之间的关系封装 this指针类中特殊的成员函数构造函数默认构造函数普通构造函数拷贝构造函数浅拷贝深拷贝 析构函数 类和对象 什么是结构体&a…

简易CAD程序:Qt多文档程序的一种实现

注&#xff1a;文中所列代码质量不高&#xff0c;但不影响演示我的思路 实现思路说明 实现DemoApplication 相当于MFC中CWinAppEx的派生类&#xff0c;暂时没加什么功能。 DemoApplication.h #pragma once#include <QtWidgets/QApplication>//相当于MFC中CWinAppEx的派生…

AI语音识别技术-ASR

一、首先什么是ASR技术&#xff1f; 语音识别技术是一种将人的语音转换为文本的技术。其目标是将人类的语音中的词汇内容转换为计算机可读的输入&#xff0c;ASR技术就是将人的语言转化为计算机能够识别的文字的过程。 二、ASR技术应用中遇到的难点 在自动语音识别应用场景中&…

快速搭建流媒体服务

1、安装流媒体服务 源码地址&#xff1a;https://gitee.com/ossrs/srs 本次采用docker安装 docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp -p 10080:10080/udp registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5 查看运行效果&#xff…

2024年5月19日优雅草蜻蜓K知识付费系统旗舰版v1.0.9进度更新

v1.1.0更新 v1.1.0更新 2024年5月19日优雅草蜻蜓K知识付费系统旗舰版v1.0.9进度更新&#xff0c;首页体育栏目完善新增用户发布页面 开发进度 首页体育栏目完善 新增用户发布页面 新增用户登录完善 新增学习课程页面完善-过往课程数据完成 去掉其他三方登录&#xff0c;新增…

linux安装KubeSphere

linux安装KubeSphere 介绍 KubeSphere 是在目前主流容器调度平台 Kubernetes 之上构建的企业级分布式多租户容器平台&#xff0c;提供简单易用的操作界面以及向导式操作方式&#xff0c;在降低用户使用容器调度平台学习成本的同时&#xff0c;极大减轻开发、测试、运维的日常…

Centos7.9安装卸载Docker

文章目录 1、官网安装1.1、卸载旧版本Docker1.2、通过rpm仓库安装1.2.1、设置仓库1.2.2、安装Docker Engine1.2.3、启动Docker1.2.4、验证安装 1.3、通过rpm软件包安装1.4、通过便捷脚本安装 2、yum安装2.1、安装docker-ce以及客户端2.2、启动docker2.3、配置镜像加速 3、卸载D…

Shell编程之条件判断语句

目录 一、条件判断 1、test命令 2、文件测试 3、整数值比较 4、字符串判断 5、逻辑测试 二、if语句 1、if单分支语句 2、双分支语句 3、多分之语句 4、case 分支语句 一、条件判断 Shell环境根据命令执行后的返回状态值&#xff08;echo $?&#xff09;来判断是否执行成…

docker如何拉取nginx最新镜像并运行

要拉取Docker Hub上的最新Nginx镜像&#xff0c;您可以使用以下命令&#xff1a; docker pull nginx 这个命令会从Docker Hub下载最新版本的Nginx镜像。如果您想要拉取特定版本的Nginx镜像&#xff0c;可以指定版本号&#xff0c;例如&#xff1a; docker pull nginx:1.18.0 拉…

思科模拟器--06.单臂路由升级版--多端路由互连实验--24.5.20

实验图纸如下: 第0步: 先放置六台个人电脑,一台交换机和一台2911路由器(千兆路由器(G0开头的)) 接着,用直通线将 PC0的F0,PC1的F0分别和交换机的F0/0, F0/1连接 交换机的F0/3和路由器的G0/0连接 PC2的F0,PC3的F0分别和交换机的F0/4, F0/5连接 交换机的F0/6和路由器的G0/1…

MySQL---函数与约束

目录 一、函数 1. 字符串函数 2. 数值函数 3. 日期函数 4. 流程函数 5. 总结 二、约束 1. 概述 2. 约束演示 3. 外键约束 3.1 添加外键 3.2 删除外键 3.3 外键删除更新行为 4. 总结 一、函数 1. 字符串函数 命令如下所示&#xff1a; -- concat select concat("Hel…

Qt | QGridLayout 类(网格布局)

01、上节回顾 Qt | QBoxLayout 及其子类(盒式布局)02、QGridLayout 简介 1、网格布局原理(见下图): 基本原理是把窗口划分为若干个单元格,每个子部件被放置于一个或多个单元格之中,各 单元格的大小可由拉伸因子和一行或列中单元格的数量来确定,若子部件的大小(由 sizeH…