Cordova Build.json 密码安全
Posted
技术标签:
【中文标题】Cordova Build.json 密码安全【英文标题】:Cordova Build.json password security 【发布时间】:2016-11-20 07:42:08 【问题描述】:在构建和签署我的 apk 时,让 cordova 提示我输入 build.json 文件中的 storePassword 和密码字段的密码时遇到问题。我求助的解决方案是将它们输入到 build.json 文件中。
我的问题:在 build.json 中手动输入密码时是否存在任何安全问题(例如密码以某种方式包含在实际签名的 apk 中等)?
我的 cordova 项目的根目录中有 build.json,所以它会被自动检测到,我所要做的就是:
cordova build android --release
...这就是我走这条路的原因(它只是有效)。我知道这似乎是一个愚蠢的问题,但 Cordova 文档指出:
"对于发布签名,可以排除密码和构建系统 会提示输入密码。”
...这意味着出于某种原因不应将密码输入 build.json 以进行发布。
【问题讨论】:
这个问题重复了:***.com/questions/40349848/… 现在这似乎是一个错误,我在build.json
中包含密码的问题是在使用一些 VCS(例如 git)时。如果您的存储库遭到入侵......
感谢您的链接。我没有问是否有错误,因为我知道它没有提示我输入密码。我想知道将密码放入 build.json 是否存在安全问题(即使只是在构建完成之前)。
【参考方案1】:
我认为主要原因是避免将密码以纯文本形式存储在build.json
中,而是在控制台中输入:
"android":
"debug":
"keystore": "../android.keystore",
"storePassword": "android",
"alias": "mykey1",
"password" : "password",
"keystoreType": ""
,
"release":
"keystore": "../android.keystore",
"storePassword": "",
"alias": "mykey2",
"password" : "password",
"keystoreType": ""
或从环境变量中获取:cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=%STORE_PASS% --alias=mykey2 --password=password
。
【讨论】:
【参考方案2】:密码以某种方式包含在实际签名的 apk 中
build.json
文件不会包含在构建的最终 apk 中。您可以通过解压缩 apk 以进行交叉检查来验证这一点。
希望对您有所帮助。
【讨论】:
以上是关于Cordova Build.json 密码安全的主要内容,如果未能解决你的问题,请参考以下文章
如何处理本机模式取消/错误事件(cordova-plugin-purchase)?