zoukankan      html  css  js  c++  java
  • 对于百川SDK签名验证的问题

    SDK是要在wantu.taobao.com生成的。而生成这个SDK其实是要上传一个apk,而这个上传其实就是取他的签名而已。验证就是那张yw222那张图片。重点是你上传的apk的签名是不是跟你的生成的SDK里面的yw222一致。。。 

     最简单的修改验证图片的方式:
    1.run--->出现验证图片不一致
    2.再build文件夹里面的outputs/apk里面找到apk
    3.用这个apk生成ONESDK
    4.用这个one里面的安全图片替换掉你当前的安全图片。
    问题解决 

    最近发现很多人对于安卓签名验证这回事还是理解得不是特别清楚。写个文章避免多次回复。首先我们搞清楚几个问题

    Q:debug key 和release key的区别。

    A:如果用Eclipse的话,debug key是我们直接run走的key.当然是可以改变的,一般不改变的话默认windows路径在C:UsersAdministrator.android下的debug.keystore.而release key就是我们自己使用export指定的keystore.

         如果用android studio 或者idea  intellij的话,我们指定build.gradle就可以了。给个sample :

    signingConfigs {
        debug {
            storeFile file("keystore")
            storePassword "123456"
           
    keyAlias "123456"
           
    keyPassword "123456"
       
    }

        release {
            storeFile file("keystore")
            storePassword "123456"
           
    keyAlias "123456"
           
    keyPassword "123456"
       
    }
    }

    Q:不管是微信,还是最近的百川,还是其他各个平台的鉴权机制原理都是一样的,都是对应签名和appkey.今天我说下百川的鉴权

    A:阿里百川是阿里巴巴自己做的一套自己的开发平台,里面接入了很多开放的能力,对于开发者来讲只需要接入百川就可以接入大部分的能力,比如淘宝的商品,高德的地图,还有IM,还有多媒体,包括短视频拍摄SDK(最近集成的,很强大,而且免费)。

    百川的机制是这样的:百川平台将从上传的包内提取签名,包名等信息,并加密存储到下载 SDK 中的安全图片。SDK 启动时会校验当前 apk 和图片中的签名信息,以避免发布的安装包被恶意篡改。另外,请注意如下事项: 
    1)因为只提取安装包的签名以及包名信息,所以上传时对安装包的内容没有任何要求。 
    2)请确保后续开发中用于 apk 签名的 keystore 和上传 apk 所使用的保持一致 
    3)如开发过程中或最终发布应用时需要切换其他 keystore,请上传使用新 keystore 签名的 apk 重新生成 SDK,并拷贝下载 SDK 中新的安全图片 ( res/drawable/yw_1222.jpg) 并替换掉当前开发工程中相同位置的同名文件。

    所以非常理解清楚debug.key和release key非常重要,因为你export的apk生成对了图片,然后也替换了。但是你还是直接run的。但是你走的还是debug key。这样当然会出问题。

    Q:使用release key作为debug key:

    A:复制 your.keystore -> release.keystore

    之后在cmd里面执行下面命令,密码替换为你自己的密码

    keytool -changealias -storepass 密码 -keystore release.keystore 

    -alias safecampus -destalias androiddebugkey

    keytool -keypasswd -storepass 密码 -keystore release.keystore 

    -keypass 密码 -alias androiddebugkey -new android

    keytool -storepasswd -storepass 密码 -keystore release.keystore 

    -new android

    eclipse选择debug key:

    Preferences -> Android -> Build -> Custom debug keystore

  • 相关阅读:
    10 传输模型与套接字(进阶)
    09 mongoDB基础(进阶)
    08 datetime与logging模块(进阶)
    07 json与os模块(进阶)
    06 python操作MySQL和redis(进阶)
    05 redis(进阶)
    04 mysql 基础三 (进阶)
    03 mysql补充 (进阶)
    <潭州教育>-Python学习笔记6@函数基础,必备参数,位置参数,可选参数
    <潭州教育>-Python学习笔记7@python 内置函数,作用域,闭包,递归
  • 原文地址:https://www.cnblogs.com/shansheng/p/4759386.html
Copyright © 2011-2022 走看看