首页 > 其他分享 >安全篇 - 隐式配置 KeyStore 签名信息

安全篇 - 隐式配置 KeyStore 签名信息

时间:2022-11-10 23:05:57浏览次数:62  
标签:KeyStore keystore 文件 keystoreProperties properties 签名 storePassword 隐式


LZ-Says:技术的魅力,非几句言语可表述~ 需要细细品味~!


安全篇 - 隐式配置 KeyStore 签名信息_android

前言

还记得,在某司对接支付,Enmmm,微信支付的时候,申请时提交的是正式证书的信息,所以想测试,只能使用正式签名才可以。

问题 LZ 只是想玩玩,又不是提交测试。肿么破?

最后想想,直接指定签署 Debug Apk 时使用正式签名不就好了,小手一点运行,简直6的不要不要的。

debug {
try {
storeFile file("keystore address")
storePassword "your password"
keyAlias "your alias"
keyPassword "your key password"
} catch (ex) {
throw new InvalidUserDataException(ex.toString())
}
}

Enmmm,虽然最后也发现了还可以修改证书,下面附上地址链接:


Enmmm,还以为以后就这样咯,结果今天看到官方,不免得为当初 Low 的举动腹黑一波~

开车

这里,引用一波官方的说明:

在创建签名文件时,Android Studio 会以纯文本形式将签名信息添加到模块的 build.gradle 文件中。如果是团队协作开发或者将代码开源,那么应当将此敏感信息从构建文件中移出,以免被其他人轻易获取。为此,我们应创建一个单独的属性文件来存储安全信息并按以下步骤操作,在我们的构建文件中引用该文件。

具体操作步骤如下:

Step 1: 在项目的根目录下创建一个名为 keystore.properties 的文件。此文件应当包含签名信息,如下所示:

storePassword = yourStorePassword
keyPassword = yourkeyPassword
keyAlias = yourKeyAlias
storeFile = yourStoreFileLocation

Step 2: 在模块的 build.gradle 文件中,于 android {} 块的前面添加用于加载 keystore.properties 文件的代码,随后修改配置中的引用即可。

// 创建一个名为keystorePropertiesFile的变量,并将其初始化为rootProject文件夹中的keystore.properties文件。
def keystorePropertiesFile = rootProject.file("keystore.properties")

// 初始化一个名为keystoreProperties的新Properties()对象
def keystoreProperties = new Properties()

// 将keystore.properties文件加载到keystoreProperties对象中
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
...
// 签名配置
signingConfigs {
config{
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
keyAlias keystoreProperties['keyAlias'] // 这块也可以使用:keystoreProperties.getProperty()
keyPassword keystoreProperties['keyPassword']
}
}
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
signingConfig signingConfigs.config
}
}
...
}

Enmmm,最后点击 Build > Build APK 以构建发布 APK ,并确认 Android Studio 已在模块的 build/outputs/apk/ 目录中创建一个签署的 APK。

感受

还是要多看看官方文档,真的是能学习不少东西。

别人搞得在6,终究是别人的。

参考资料

  1. ​https://developer.android.google.cn/studio/publish/app-signing​​;

个人公众号

不定期发布博文,感谢大家关注~


安全篇 - 隐式配置 KeyStore 签名信息_android_02


标签:KeyStore,keystore,文件,keystoreProperties,properties,签名,storePassword,隐式
From: https://blog.51cto.com/u_13346181/5842291

相关文章

  • 一个 MySQL 隐式转换的坑,差点把服务器整崩溃了
    我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在​​JavaNewBee​​中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而......
  • 一个 MySQL 隐式转换的坑,差点把服务器整崩溃了
    我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而美好......
  • ed25519加密签名算法及应用
    刷知乎时看到一篇文章,很感兴趣,来学习一下!转载文章:ed25519加密签名算法及应用初次使用Github时都需上传本地的公钥,这时需要提前在本地生成密钥对,使用的是ssh-keygen命令......
  • GO语言实战-小程序或公众号接口gin框架验证微信服务器消息签名
    在开发GO小程序或者公众号接口的时候,需要对接微信消息的token签名验证,这时候需要开发者验证来自微信,并返回指定的字符串微信文档里给的是PHP版本的代码,下面这个......
  • 微信小程序使用新版Canvas画布实现电子签名
    <viewclass="containercolumn-me"><viewclass="tips">请绘制清晰可见的签名并保存</view><canvasclass="canvas"id="canvas"type="2d"disable-scrol......
  • 匿名类型、var隐式类型
    转自:https://www.cnblogs.com/chenyao-1424433719/p/11210197.htmlC#匿名类型一、什么叫做匿名类?匿名类就是没有名字的类。匿名类不能被引用,只能再创建的时候用......
  • 安卓逆向-绕过签名验证
    使用AndroidKiller进行重编译该软件发现签名失败搜索关键字:signatures找到该文件函数点:qian()反编译观察java代码:可以看到在if里面进行了一判断,判断sing值是否正确,......
  • 配置sshd_使用CA签名证书登录_更新sshd服务端的通讯密钥
    配置sshd_使用CA签名证书登录_更新sshd服务端的通讯密钥转载注明来源:本文链接来自osnosn的博客,写于2022-11-06.用CA签名证书登录请参考【SSH证书登录教程】,这个......
  • 元素等待之---隐式等待
    元素等待之---隐式等待fromseleniumimportwebdriver#导入找不到元素抛出异常说所需要的类fromselenium.common.exceptionsimportNoSuchElementExceptionfromtim......
  • Vue3+Taro+NutUI 微信小程序使用canvas组件完成电子签名功能
    使用Taro小程序开发框架中的canvas组件实现电子签名功能,实现签名时屏幕自动横屏,可清空签名重签,可保存导出图片的64位码。请将手机屏幕横向在区域内进行签名重签完......