冥王生活

您现在的位置是:首页 > 科技生活 > 正文

科技生活

android有什么认证(安卓系统发现需要认证的网络)

admin2022-12-05科技生活95

安卓系统认证是怎么回事

其实就是GMS认证。

GMS全称为GoogleMobileService,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Android系统的灵魂所在。

安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

Android中https单向认证的总结

我们都知道使用fiddler抓取app的数据包,不管是http还是https请求,都能轻松抓取,此时对客户端来说,fiddler是一个服务端,对服务端来说,fiddler就变成了一个客户端,查了下资料,这种方式称为“中间人攻击”,怎么才能防止https中的“中间人攻击”呢,工作中也用到了https,所以想深入研究一下这个问题,当然每个问题如果深挖的话,都需要很多知识的支持,所以这个过程有些地方是自己的理解,难免有些偏差,有问题,咱们讨论区见。

平时我们说的单项认证,一般指的是客户端对服务端的认证,当客户端向服务端发送请求时,服务端会把自己的证书信息发给客户端,这个证书信息包括服务端的公钥、有效时间、有效地址和CA的数字签名等信息,所以客户端需要与预埋一个证书,这样我们可以拿本地证书和服务端发送的证书进行信息匹配,完成认证的过程(在使用fiddler抓包时,需要事先安装的证书就是为了完成这个客户端对服务端的认证过程,而且这个证书应该不是正规的CA机构颁发的证书,而是fiddler自己生成的证书)。

1.获取客户端预埋的服务器端的证书对象

2.生成符合x509标准的证书

3.将证书导入到本地的证书密钥库中去

4.使用本地密钥库初始化信任管理器中去

5.使用信任管理器得到X509TrustManager

6.使用X509TrustManager校验服务端的证书,此方法不报异常即使校验成功

GitHub,SSLHelper5.java

Android有哪些身份验证方式

Android 有如下身份验证方式:

1.进入设置里面,选择安全选项,打开启动密码,可以看到正常的一些身份验证方式:

  一般是可以设置一个六位数的密码。

2.设置手势密码。每次启动手机需要绘制保留的图案才能解锁。

3.使用指纹识别的方式登录。将上次录入的手指按住指纹识别器上,就可以验证登录。

4.微信等软件,还开发了匹配声波的方式进行身份验证。说保留在微信同样的一段话,匹配即可登录。

Android认证包括什么?android认证只包括GMS认证吗?

GMS综述

GMS认证,一般要求我们提供CTS, XTS, Verify三份测试报告,如下图:

Bin: 认证的软件

CTS: CTS的测试报告

GTS: XTS的测试报告

ctsVerifierReports: Verify测试报告

CTS:

CTS(全称“Compatibility Test Suite”,即“兼容性测试包”)的认证,这是一组用以测试的.apk程序之类的集合,它能够在官网()上面免费下载。CTS的目的就是让Android设备(如:手机)开发商能够开发出兼容性更好的Android设备。 GTS:

GMS全称为Google Mobile Service,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Android系统的灵魂所在。 Verify:

CTS都是指令自动测试,但是还有一些测试是必须手动完成的,这个是verify测试就是手动测试。

1.准备资料:

GMS认证的视频文件—android-cts-media-1.0.zip:

使用方法一:

新建test文件夹(内有bbb_full,bbb_short,copy_media.sh,make_zip.sh,README.txt ),手机需拷贝android-cts-media-1.0.zip解压到test目录中(在不支持存储空间的情况下,使用T卡替代)

使用方法二:

进入android-cts-media-1.1目录下,执行:

. /copy_media.sh all,或./copy_media.sh

就可以把视频复制手机上了,非常的方便和快。 android-cts文件

解压android-cts-4.4_r1-linux_x86-arm.zip CtsDeviceadmin.apk

此apk位于(android-cts epository estcases)目录下 android-gts文件

解压gts-2.1_r1.zip CtsVerifier.apk

( 解压android-cts-verifier-4.4_r3-linux_x86-arm.zip)

这些资料可以从官网上下载:

(官网)

也可以是客户提供。

2.手机端准备

Need insert empty SD card Insert valid SIM card 设置手机语言为英语:进入Settings–Languageinput–Language设为English(UnitedStates) 输入法默认使用android输入法,Settings–Languageinput–Default—English(US) 手机软件需是User版本(请用adb remount命令查看),需写IMEI(请按*#06#查看)、MAC码(settings–about phon–statu–wlan mac address) 去掉锁屏(Settings –Security –Screen lock–none ) 设置屏幕超时为最长时间30分钟(Settings–Display–Sleep–30minutes) 进入Settings–Date time–取消Automatic datetime勾选,取消Automatic time zone 勾选, Select time zone,选择GMT-8:00 Pacific Time (注:当实行夏令时后,Pacific Tim会变成GMT-7:00) 打开developer options,Settings–About phone–快速点击Build number 7次 Settings–developer options–stay awake and usb debugging allow mock locations 勾选 打开WIFI并连接AP(需要可翻墙的网络,因为测试过程中需要连接google的服务器) 打开蓝牙,Settings–Bluetooth 打开GPS,Settings—Location—开启 打开数据连接,下拉状态栏—选中Data on 安装CtsDeviceadmin.apk

可以复制到sd卡上再安装,也可以使用命令安装:adb install ‘/home/android/CTS_hexiaoming/hexiaoming/CtsDeviceAdmin.apk’ 将test文件夹复制到sd卡上,也可以使用命令:

adb push ‘/home/android/CTS_hexiaoming/hexiaoming/test’ /sdcard/test

(或者进入到android-cts-media-1.1目录下,执行:

. /copy_media.sh all,或./copy_media.sh) Settings—Security–Device administrators–勾选上 device administrators列表前三个选项,最后一个不勾选 运行时让屏幕是home主界面上 运行过程中不要触摸屏幕及按钮

注意:

- While a device is running tests, it must not be used for any other tasks

- Before start CTS, device at the home screen

- Do not press any keys on the device while CTS is running

- Make sure the AP is usability and connectedly.

- Make sure USB cable is stability

3.PC端:(Ubuntu系统)

3.1 CTS测试

android-cts文件(解压)

1. 用USB线连接Linux PC

2.打开终端,进入android-cts/tools目录,输入./cts-tradefed.终端显示:

(如果没有这行,说明设备没有和PC连通)

3.输入run cts–plan CTS,开始测试CTS

4.测试完成后会自动生成xml报表,在anroid-cts/repositZ" target="_blank" class="keylink"vcnkvcmVzdWx0c8S/wrzW0Ch0ZXN0UmVzdWx0LnhtbCkuPGJyIC8+DQo1LkxPR9DFz6LU2sS/wrzPwqO6KGFuZHJvaWQtY3RzIGVwb3NpdG9yeWxvZ3MpPC9wPg0KPHA+PHN0cm9uZz7Su7Djx+m/9qOsQ1RTsuLK1NK7tM6yu8TcyKuyv82ouf2jrMTHw7TI57rO1ruy4srURmFpbM/uwcujvzwvc3Ryb25nPjwvcD4NCsrWtq/Q3rjEdGVzdFJlc3VsdC54bWyjrMq508NnZWRpdLTyv6q4w87EvP4oZ2VkaXQgdGVzdFJlc3VsdC54bWwpoaMNCjxwPtGh1PGy6dXSy9HL92ZhaWxlZM/uo6zM5ru7zqpub3RFeGVjdXRlZKOsyLu687GjtOajrMjnzbyjujxiciAvPg0KPGltZyBhbHQ9"这里写图片描述" src="" title="/" /

重新输入./cts-tradefedcts-tf- run cts–continue-session session_id

PS: session_id可以通过在CTS命令行里输入l r查看到。比如输入l r查看到的session_id为0那就应该在CTS的命令行输入 run cts –continue-session 0这样就会只会继续测试那些之前fail的项而不会去测试那些已经pass的项

我们如何修改报告

对于有的测试项,我们没有环境,过不了。但是我们可以确定此项可以pass,那么我们可以直接修改报告:

我们在改报告的时候,参考要修改的测试项的前一个pass项和后一个pass项,对应修改就可以了,非常的简单。修改后,我们再让其重新跑一下,生成新的测试报告就可以。

如果,我们单独跑包或类:

To run a test package:

‘run cts –package ’

run cts -p android.os

To run a test class:

‘run cts –class ’

run cts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures

run cts -c android.os.cts.Asyn

查看更多cts命令信息:

‘run cts –help’

l p————查看有那些功能

l packages——查看有那些包

注意事项:

1.CTS 4.0的命令和CTS 2.3/2.3完全不同,所以在进入CTS后,先输入help看看命令的格式和意思。

2.正常测试一次CTS4.0,需要6-9小时。所以,测试时请接上电源,并尽量在晚上测试,不会影响设备的使用

3.CTS是自动化测试,测试过程中不需要人的干预。如果在上班时间,每1-2小时观察下即可

4.CTS4.0在测试过程中断开、终止都不会生成测试报告,所以,测试前要保证USB连接稳定和平台设置

5.CTS执行run cts–plan CTS时,会搜索android-cts/repository/results中的历史报表文件夹。如果文件有很多,启动速度会非常慢。所以,请定期清理results文件夹中的历史报表(直接删除报表文件夹即可)

常见问题:

有时,复制会导致一些权限问题,这时,我们可以运行sudo chmod 0777 filename来提高权限。 CTS测试 快速入门—-MTK—非常重要

3.2 XTS测试:

android-gts文件(解压gts-2.1_r1.zip)

XTS测试和CTS是一样的,只是要把命令稍微对应的改一下就可以了:

run xts–plan XTS

run xts–continue-session session_id

run xts -p android.os

run xts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures

3.3 手动测试 CTS-verifier:

CtsVerifier.apk—-( 解压android-cts-verifier-4.4_r3-linux_x86-arm.zip)

这个是手动测试,我们只需要安装此apk,然后按照说明一步一步操作就可以了。最后,我们导出报告。

注意的事情:

这个测试还是有测试顺序的,一般Policy Serialization Test 这个测试项最后一个测试,因为此项会导致后面的Keyguard Password Verification项过不了。我们可以一开始就测试Keyguard Password Verification,最后一个测试Policy Serialization Test。 Camera的测试项,我们要一个一个测试,不能直接按pass直接过,就是因为测试的报告里有这些测试项的详细信息。 在测试Accelerometer Measurement Tests项前,我们在settings—Sound—Default notification sound选择一个默认值,否则有可能因为此没有设置,apk会crash,此项过不了。 Streaming Video Quality Verifier测试项中,RTSP的三项,有wifi的话可以过,但是HTTP PROGRESSIVE的三项是过不了的。也就是说Streaming Video Quality Verifier测试项是过不了的,这是正常的现象。

USB Accessory Test有时候执行命令,是没有效果,这个有可能是电脑的原因,换台电脑多试几次。

USB Accessory Test in CTS Verifier, Please follow up below steps to test this item:

1) Install CTSVerifier.apk to the phone device.

2) Add “18d1:2d01” device to /etc/udev/rules.d/51-android.rules, and restart

About add “18d1:2d01” device to /etc/udev/rules.d/51-android.rules,

Please hlep to refer SOP part of “Setup CTS Environment (3/4)”

Ubuntu 10.4

New a udev configuration file for the usb and change the mode

sudo touch /etc/udev/rules.d/51-android.rules

sudo chmod a+rw /etc/udev/rules.d/51-android.rules

Add the below string in 51-android-rules to setup the USB

SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, ATTRS{idProduct}==“0c03”, MODE=”0666“

Restart the udev service to update the configuration

sudo restart udev

Restart the Ubuntu

After connecting the Android device to the PC, type lsusb and you should see the below string if the connection is success:

example:

Bus 002 Device 002: ID 0bb4:0c03 High Tech Computer Corp.

3) Connect the phone to a linux pc, with adb enabled

4) Run cts-usb-accessory on linux PC, wait until “Found android device in accessory mode (18d1:2d01)

5) Device will pop a prompt to cts-verifier, start the CTS Verifier and run USB Accessory test.

6) make sure no other devices connnect to the PC.

Bluetooth Test测试项,比较需要时间和耐心,要慢慢来操作。特别是BLE Client Test测试项更是如此。我们测试此项时,可以先记下mac地址(可以写一些简单的mac地址,如(11:11:11:11:11:11) mac地址要区分大小写,这个也要注意),这是因为此项一般要测好多次才能pass,每次都要求从头开始,每次都要输入mac地址。根据测试经验,一般4.BLE Reliable Write 这个才是此测试能否通过的关键,我一般是4.BLE Reliable Write在倒数第二步来测试,并且多输入几次信息(请不要每次只输入一个字母),直到另一部手机的Waiting on reliable write from client测试项显示绿色,才最后执行8.BLE Client Disconnect就可以通过此项测试。

data backup test测试项:

首先在cts verifier中随便进行一项测试,打开设置中的备份和恢复,点击 generate test data-ok

adb shell bmgr enable true

adb shell bmgr transport android/com.android.internal.backup.LocalTransport

adb shell bmgr run

adb uninstall com.android.cts.verifier

adb install F:CTS4.0CTS4.0.3_r2apk4.0.3_r2CtsVerifier_4.0.3_r1.apk

测试完,我们使用adb push命令将测试报告导出就可以了。

adb pull /sdcard/ctsVerifierReports /home/android/tmp

3.4 测试结果的一些注意:

测试结果表头的问题,在文档中要求CTS和GTS中的设备信息的Build Fingerprint中的签名文件类型是release-key,也就是说,我们测试的软件版本的签名要使用release-key,如下图所示:

在文档中要求GTS项的测试结果中的Properties属性应该包括ro.com.google.gmsversion、ro.com.google.clientidbase,并且有的客户对ro.com.google.clientidbase的名字是有要求的。如下图,就缺少ro.com.google.clientidbase的项。

4 Fail项的处理

给高通提case,给MTK提eservice,因为这个一般自己能解的比较少,主要还是要靠高通和MTK来解。 慢慢积累自己的fail项库 慢慢积累自己处理fail项的能力

Android 10(Q)GMS(cts/vts/gts)认证总结

本文主要介绍android10的GMS认证相关的内容,包括新特性、新要求、特殊问题以及失败项等。

;ref_topic=9353615

主要有以下模块:

GoogleDocumentsUIPrebuilt \ GoogleExtServicesPrebuilt \ ModuleMetadataGooglePrebuilt \ GooglePermissionControllerPrebuilt GoogleExtServicesConfigOverlay \ GooglePermissionControllerOverlay \ GooglePermissionControllerFrameworkOverlay

1、刷user版本并开机

2、打开Settings - System - Developer options - OEM unlocking

3、连接电脑,执行adb reboot bootloader;或者长按volume up key和power key进入fastboot模式

4、执行命令:fastboot flashing unlock ,出现选择界面后,按volumn up key

5、执行命令:fastboot reboot fastboot,请不要做任何操作,在进行下一步之前

6、执行命令:fastboot flash system system.img (使用google签名的 system.img)

7、执行命令:fastboot reboot bootloader

8、执行命令:fastboot flashing lock

9、执行命令:fastboot reboot

备注: 如果是A/B load special,使用fastboot flash system_a system.img / fastboot flash system_b system.img 替换步骤6

1、刷user版本并开机

2、打开Settings - System - Developer options - OEM unlocking

3、连接电脑,执行adb reboot bootloader;或者长按volume up key和power key进入fastboot模式

4、执行命令:fastboot flashing unlock ,出现选择界面后,按volumn up key

5、执行命令:fastboot flash boot boot-debug.img,boot-debug.img来out目录

6、执行命令:fastboot reboot fastboot,请不要做任何操作,在进行下一步之前

7、执行命令:fastboot flash system system.img (使用google签名的 system.img)

8、执行命令:fastboot reboot

备注: 如果是A/B load special,使用fastboot flash system_a system.img / fastboot flash system_b system.img 替换步骤7

adb shell appops set com.android.cts.verifier android:read_device_identifiers allow

目前,送测版本包括:New device或 MR、EEA Express Plus Device、Russia Device、RSA Device、SMR Device;各个版本都有不同的需求,请注意检查

为了更容易通过测试,跑测前最好写入以下内容:

Serial Number

Wifi Mac Address

BT Mac Address

IMEI

Google Key

kernel 4.14会出现,需要申请patch

SIM卡问题,需要插入写有效SIM卡

最新的daily build tool验证

Android极光认证配置

更新日期:2020.07.02

依赖版本:

'cn.jiguang.sdk:jcore:2.3.4'

'cn.jiguang.sdk:jverification:2.6.2'

新版本对认证activity内容进行了包装,导致原本对反射调用失效,新的实现如下:

依赖版本:

'cn.jiguang.sdk:jcore:2.3.0'

'cn.jiguang.sdk:jverification:2.5.5'

基本流程:

3)如果监听到LoginAuthActivity,从intent内拿取基本信息:手机号(加密过的,中间4位*),运营商类型( "3":电信,"1" :移动,其他:联通);通过反射获取类中的p方法,调用SDK内部的获取认证token的方法,结果将在在loginAuth方法回调中返回。

4)调用loginAuth方法,设置弹出极光认证页面不可见(我是将页面模式设置为弹窗模式,长宽均为0),通过VerifyListener监听方法结果(由认证页面返回);方法成功后会创建2)或3)中的Activity,经过上面几步的处理,可以拿到基本信息(手机号,运营商),认证token(返回到VerifyListener内),然后关闭了极光的认证页面。

另外,使用运营商认证必须要在页面上显示对应运营商的协议:

2020-04-21

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~