专栏首页HLQ_Struggle一个key玩转第三方服务(微信支付、某某地图)

一个key玩转第三方服务(微信支付、某某地图)

你不一定要点蓝字关注我的

LZ-Says:时过境迁,一切皆枉然~~~

写此文原因

之前LZ写项目的时候,多少都会使用一些第三方,主要为地图相关,无论从百度地图还是高德地图来讲,都需要一个SHA1+包名去配置key,而这个key,就是使用地图的关键因素。

昨天和小伙伴聊天,发现他们使用了一种比较nice的方案,觉得很不错,再次实验了下,顺便再次放出这家伙的博客地址链接,有兴趣可点击自行查看学习~

点我查看 〤twinkle╰ つ青春 博客地址

修改证书,来个瞒天过海

第一步:复制正式证书

这一步我们要做的就是将正式的证书单独复制出来,而这份复制出来的证书,则是我们下面要漫天过海的关键实践者。

第二步:修改复制后证书密钥口令

修改密码命令如下:

keytool -storepasswd -keystore 复制出来证书地址

如下图所示:

系统会要求你输入原有的密钥口令,新密钥口令以及确认新密钥口令。

这一步,需要切记:新密钥口令务必为(android)

第三步:修改复制后证书Alias

修改Alias的命令如下:

keytool -changealias -keystore 复制后的证书地址 
-alias 之前证书设置的Alias -destalias androiddebugkey

操作如下图所示:

而这里,系统会要求你输入俩个值:

  • 密钥口令 - 1: android,也就是我们之前设置的值;
  • 密钥口令 - 2: 之前的密钥口令

第四步:修改复制后证书密码

操作命令如下:

keytool -keypasswd -keystore 复制后证书地址 -alias androiddebugkey

而这一步比较繁琐,系统会核验当前的密钥口令以及之前的密钥口令,之后,才是输入密钥口令以及确认密钥口令,详情见下图:

第五步:查看正式证书以及经过改造证书SHA1值

查看证书SHA1命令如下:

keytool -list -v -keystore 证书地址

俩次结果为:

AC:XXXXXX:70
AC:XXXXXX:70

中间关键信息暂时屏蔽,可以看到,这俩个证书使用的SHA1一直,区别在于一个为测试时专用,一个为正式打包使用。

到此,大家会不会有种很nice的想法么???是不是又get了新技能???

额外拓展

最近在看腾讯的bugly,学到了一个比较nice的东西,正好本文相匹配,一块写出来了~

第一步:首先在app下创建keystore目录,并将正式证书以及测试证书拷贝进去。

第二步:build文件设置签名配置

   // 签名配置
    signingConfigs {
        release {
            try {
                storeFile file("./keystore/正式证书.jks")
                storePassword "密钥口令"
                keyAlias "设置的keyAlias"
                keyPassword "密钥口令"
            } catch (ex) {
                throw new InvalidUserDataException(ex.toString())
            }
        }
        debug {
            storeFile file("./keystore/测试证书.jks")
        }
    }
    buildTypes {
        release { 
            minifyEnabled false // 关闭混淆
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true // 开启调试
            minifyEnabled false // 关闭混淆
            signingConfig signingConfigs.debug
        }
    }

嘿嘿嘿,小思路

有的小伙伴说了,真TMD麻烦,有没有简单的?

这个必须有啊~

signingConfigs {
        debug {
            storeFile file('正式证书地址.jks')
            storePassword 'storePassword'
            keyPassword 'keyPassword'
            keyAlias 'keyAlias'
        }
        release {
            storeFile file('正式证书地址.jks')
            storePassword 'storePassword'
            keyPassword 'keyPassword'
            keyAlias 'keyAlias'
        }
    }

秒懂???测试的时候指定使用正式证书~所以???嘿嘿嘿

文末结束

啦啦啦,本文到此结束,希望大家和LZ一样有所收获~

欢迎更多的小伙伴分享自己的经验,让更多人Android开发的小伙伴提升开发B格~~~

本文分享自微信公众号 - 贺利权(hlq_struggle),作者:HLQ_Struggle

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 跟着鸡排看世界 AutoEx:v1.0.6 实践

    恰巧看到鸡排大大五一更新了一款小神器,瞅着很nice,今天特意玩了一波,感觉很棒~~~

    HLQ_Struggle
  • Android Studio2.3打包apk

    话说从Eclipse转化到Android Studio后,一直都没打个包,发个版本,今天想提交测试打个版本,丫的一看,和Eclipse不一样了。在此记录下,顺便...

    HLQ_Struggle
  • 记录一次 Windows Android Studio 异常

    脑子想了半天,没遇到过这个问题呀,说的什么鬼证书的事儿。我从 Windows 切换到 Mac OS,Android Studio 倒是一直没出现过这个鬼鬼。

    HLQ_Struggle
  • 腾讯云SSL证书—2.网站使用公网SSL证书

         SSL证书经过审核通过后,可以将公网的SSL证书应用到对应的网站。下面将会讲解如何使用SSL证书。

    月缺
  • IE打开https网站localhost时,取消证书问题提示

    上面介绍了,调用IE来打开对应的网页问题,但是在实际测试中,有些网站是采用https协议的,这时候IE浏览器会弹出如下窗口,一般手动选择后,才可进入登录界面,那...

    跟着阿笨一起玩NET
  • GB/T 25056--2018 证书认证系统密码及其相关安全技术规范

    原文地址http://www.gb688.cn/bzgk/gb/newGbInfo?hcno=4BBDEAD7450084CD1AB9E2BEDE462C1E

    birdskyws
  • 安卓签名证书(keystore)生成并用HBuild打包发行

    Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。

    lollipop72
  • Qmake正则表达式

      使用正则表达式的组捕获重新排列字符串。\1,\2,\3分别为正则的组捕获内容。

    Qt君
  • AD RMS高可用(二)为rms群集服务器申请证书

    rms证书是加密所需,所以这里要为rms创建自定义的证书申请,是部署rms安全的前提条件。以下是rms证书申请的过程:

    月缺
  • Zoom推出5.0版日活超3亿、GoogleDuo全面转向AV1等|Decode the Week

    23日,Google Duo称将在本周全面转向AV1,进一步提高视频通话的稳定性。在此前,Google Duo采用了AI填补语音间隙的功能(详情点这里:Goog...

    LiveVideoStack

扫码关注云+社区

领取腾讯云代金券