1、首先打开手机设置,点击设备连接。
2、其次点击开启蓝牙打开蓝牙耳机,等待搜索蓝牙耳机的连接设备,直到蓝牙耳机的设备出现在可用设备栏中。
3、最后点击可用设备中的蓝牙耳机设备名,等待连接。
Android为了保证系统及应用的安全性,在安装APK的时候需要校验包的完整性,同时,对于覆盖安装的场景还要校验新旧是否匹配,这两者都是通过Android签名机制来进行保证的,本文就简单看下Android的签名与校验原理,分一下几个部分分析下:
签名是摘要与非对称密钥加密相相结合的产物,摘要就像内容的一个指纹信息,一旦内容被篡改,摘要就会改变,签名是摘要的加密结果,摘要改变,签名也会失效。Android APK签名也是这个道理,如果APK签名跟内容对应不起来,Android系统就认为APK内容被篡改了,从而拒绝安装,以保证系统的安全性。目前Android有三种签名V1、V2(N)、V3(P),本文只看前两种V1跟V2,对于V3的轮密先不考虑。先看下只有V1签名后APK的样式:
再看下只有V2签名的APK包样式:
同时具有V1 V2签名:
可以看到,如果只有V2签名,那么APK包内容几乎是没有改动的,META_INF中不会有新增文件,按Google官方文档:在使用v2签名方案进行签名时,会在APK文件中插入一个APK签名分块,该分块位于zip中央目录部分之前并紧邻该部分。在APK签名分块内, 签名和签名者身份信息会存储在APK签名方案v2分块中,保证整个APK文件不可修改 ,如下图:
而V1签名是通过META-INF中的三个文件保证签名及信息的完整性:
V1签名是如何保证信息的完整性呢?V1签名主要包含三部分内容,如果狭义上说签名跟公钥的话,仅仅在rsa文件中,V1签名的三个文件其实是一套机制,不能单单拿一个来说事,
如果对APK中的资源文件进行了替换,那么该资源的摘要必定发生改变,如果没有修改MANIFESTMF中的信息,那么在安装时候V1校验就会失败,无法安装,不过如果篡改文件的同时,也修改其MANIFESTMF中的摘要值,那么MANIFESTMF校验就可以绕过。
CERTSF个人觉得有点像冗余,更像对文件完整性的二次保证,同绕过MANIFESTMF一样,SF校验也很容易被绕过。
CERTRSA与CERTSF是相互对应的,两者名字前缀必须一致,不知道算不算一个无聊的标准。看下CERTRSA文件内容:
CERTRSA文件里面存储了证书公钥、过期日期、发行人、加密算法等信息,根据公钥及加密算法,Android系统就能计算出CERTSF的摘要信息,其严格的格式如下:
从CERTRSA中,我们能获的证书的指纹信息,在微信分享、第三方SDK申请的时候经常用到,其实就是公钥+开发者信息的一个签名:
除了CERTRSA文件,其余两个签名文件其实跟keystore没什么关系,主要是文件自身的摘要及二次摘要,用不同的keystore进行签名,生成的MANIFESTMF与CERTSF都是一样的,不同的只有CERTRSA签名文件。也就是说前两者主要保证各个文件的完整性,CERTRSA从整体上保证APK的来源及完整性,不过META_INF中的文件不在校验范围中,这也是V1的一个缺点。V2签名又是如何保证信息的完整性呢?
前面说过V1签名中文件的完整性很容易被绕过,可以理解 单个文件完整性校验的意义并不是很大 ,安装的时候反而耗时,不如采用更加简单的便捷的校验方式。V2签名就不针对单个文件校验了,而是 针对APK进行校验 ,将APK分成1M的块,对每个块计算值摘要,之后针对所有摘要进行摘要,再利用摘要进行签名。
也就是说,V2摘要签名分两级,第一级是对APK文件的1、3 、4 部分进行摘要,第二级是对第一级的摘要集合进行摘要,然后利用秘钥进行签名。安装的时候,块摘要可以并行处理,这样可以提高校验速度。
APK是先摘要,再签名,先看下摘要的定义:Message Digest:摘要是对消息数据执行一个单向Hash,从而生成一个固定长度的Hash值,这个值就是消息摘要,至于常听到的MD5、SHA1都是摘要算法的一种。理论上说,摘要一定会有碰撞,但只要保证有限长度内碰撞率很低就可以,这样就能利用摘要来保证消息的完整性,只要消息被篡改,摘要一定会发生改变。但是,如果消息跟摘要同时被修改,那就无从得知了。
而数字签名是什么呢(公钥数字签名),利用非对称加密技术,通过私钥对摘要进行加密,产生一个字符串,这个字符串+公钥证书就可以看做消息的数字签名,如RSA就是常用的非对称加密算法。在没有私钥的前提下,非对称加密算法能确保别人无法伪造签名,因此数字签名也是对发送者信息真实性的一个有效证明。不过由于Android的keystore证书是自签名的,没有第三方权威机构认证,用户可以自行生成keystore,Android签名方案无法保证APK不被二次签名。
知道了摘要跟签名的概念后,再来看看Android的签名文件怎么来的?如何影响原来APK包?通过sdk中的apksign来对一个APK进行签名的命令如下:
其主要实现在 android/platform/tools/apksig 文件夹中,主体是ApkSignerjava的sign函数,函数比较长,分几步分析
先来看这一步,ApkUtilsfindZipSections,这个函数主要是解析APK文件,获得ZIP格式的一些简单信息,并返回一个ZipSections,
ZipSections包含了ZIP文件格式的一些信息,比如中央目录信息、中央目录结尾信息等,对比到zip文件格式如下:
获取到 ZipSections之后,就可以进一步解析APK这个ZIP包,继续走后面的签名流程,
可以看到先进行了一个V2签名的检验,这里是用来签名,为什么先检验了一次?第一次签名的时候会直接走这个异常逻辑分支,重复签名的时候才能获到取之前的V2签名,怀疑这里获取V2签名的目的应该是为了排除V2签名,并获取V2签名以外的数据块,因为签名本身不能被算入到签名中,之后会解析中央目录区,构建一个DefaultApkSignerEngine用于签名
先解析中央目录区,获取AndroidManifest文件,获取minSdkVersion(影响签名算法),并构建DefaultApkSignerEngine,默认情况下V1 V2签名都是打开的。
第五步与第六步的主要工作是:apk的预处理,包括目录的一些排序之类的工作,应该是为了更高效处理签名,预处理结束后,就开始签名流程,首先做的是V1签名(默认存在,除非主动关闭):
步骤7、8、9都可以看做是V1签名的处理逻辑,主要在V1SchemeSigner中处理,其中包括创建META-INFO文件夹下的一些签名文件,更新中央目录、更新中央目录结尾等,流程不复杂,不在赘述,简单流程就是:
这里特殊提一下重复签名的问题: 对一个已经V1签名的APK再次V1签名不会有任何问题 ,原理就是:再次签名的时候,会排除之前的签名文件。
可以看到目录、META-INF文件夹下的文件、sf、rsa等结尾的文件都不会被V1签名进行处理,所以这里不用担心多次签名的问题。接下来就是处理V2签名。
V2SchemeSigner处理V2签名,逻辑比较清晰,直接对V1签名过的APK进行分块摘要,再集合签名,V2签名不会改变之前V1签名后的任何信息,签名后,在中央目录前添加V2签名块,并更新中央目录结尾信息,因为V2签名后,中央目录的偏移会再次改变:
签名校验的过程可以看做签名的逆向,只不过覆盖安装可能还要校验公钥及证书信息一致,否则覆盖安装会失败。签名校验的入口在PackageManagerService的install里,安装官方文档,70以上的手机优先检测V2签名,如果V2签名不存在,再校验V1签名,对于70以下的手机,不存在V2签名校验机制,只会校验V1,所以,如果你的App的miniSdkVersion<24(N),那么你的签名方式必须内含V1签名:
校验流程就是签名的逆向,了解签名流程即可,本文不求甚解,有兴趣自己去分析,只是额外提下覆盖安装,覆盖安装除了检验APK自己的完整性以外,还要校验证书是否一致只有证书一致(同一个keystore签名),才有可能覆盖升级。覆盖安装同全新安装相比较多了几个校验
这里只关心证书部分:
Android V1及V2签名签名原理简析
仅供参考,欢迎指正
您好!希望以下方法能够帮到您。
您是需要实现什么功能,例如硬盘录像机是在录像机里开放端口,设置服务器IP。
1打开浏览器登陆19216801,点击高级设置-虚拟服务器(特殊应用)
2开始端口与结束端口填同一个,填入服务器IP,协议选择全部,点击确定。
3
在内网测试(http://1921680113:8888来访问)注意:冒号是英文的冒号
外网测试(http://WAN口ip:8888来访问)
4如果是手机访问,看下有没有对应的软件。
感谢您对我们产品的支持,同时欢迎关注腾达官方微信号Tenda1999,祝您工作顺利,生活愉快!
具体排查解决方法如下:1、可能是该软件的安装包有问题导致安装错误,可以重新下载完整的安装包;手机设置不允许未知来源的安装包,重新设置即可。2、可能是手机系统存储空间不足导致安装软件出现错误,可以卸载掉手机上不常用的软件,或者使用清理工具清理一下系统和软件产生的缓存数据和垃圾文件,为手机腾出更多的系统存储空间后就可以正常安装软件了。3、也可能是系统的问题导致安装软件时出现错误,可以重启一下手机试试,或者将手机的系统还原为出厂设置状态。
1、在手机上是不可以的,可以在电脑上来进行操作,具体使用电脑升级实名认证的方法如下,在电脑上搜索支付宝,然后打开的支付宝首页上找到实名认证,然后点击打开。
2、然后在打开的界面中点击下图红框位置上的标注的上传证件。
3、把身份证的正反面都上传后,点击下图标注位置上的常用地址,填写信息,最后点击确定提交,等到审核通过后就可以成功的升级成V2了。
扩展资料
《支付宝服务协议》规定:
五、使用支付宝服务的注意事项
为有效保障您使用我们服务时的合法权益,我们提醒您注意以下事项:
(一)身份验证
1、您在注册、使用我们服务的过程中,请您提供合法、真实、有效、准确并完整的资料(根据具体验证需要,可能包括身份证、户口本、护照、营业执照、开户许可证等证明、****、从事职业、通讯地址、个人生物识别信息等)。 为了能将账户资金变动及时通知到您,以及更好保障您的账户安全,如该等资料发生变更,请您及时通知我们。
为了及时有效地验证您的信息(包括但不限于身份信息、账户信息、购汇额度等),根据法律法规及监管规定或我们认为有需要时,您同意我们可以把您的信息提供给第三方,也同意第三方可以把您的信息提供给我们,以便我们进行验证。
您应确保支付宝登录名、用户标识或账户绑定的电子邮箱或手机号均为您本人持有,如您占用了他人的电子邮箱或手机号的,为避免给电子邮箱或手机号持有人带来不便或不利影响,也为了您的资金安全,我们可能将该邮箱或手机号从您的用户标识或账户中删除并解除关联。
支付宝官网-支付宝服务协议
欢迎分享,转载请注明来源:品搜搜测评网