Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复以明文形式签入Git存储库的Android版本签名配置密码?_Android_Git_Code Signing_Keystore - Fatal编程技术网

如何修复以明文形式签入Git存储库的Android版本签名配置密码?

如何修复以明文形式签入Git存储库的Android版本签名配置密码?,android,git,code-signing,keystore,Android,Git,Code Signing,Keystore,我继承了一个Android项目,以前的维护人员将发布和调试签名密钥库和密钥别名/密码以明文形式存储在应用程序的build.gradle中。然后将其签入GitHub Git存储库。回购协议只对我开放,所以目前这不是什么大问题,但将来可能会有更多的人可以进入回购协议,我想阻止他们签署发行签名 signingConfigs { debug { storeFile file('debug.keystore') storePassword ‘

我继承了一个Android项目,以前的维护人员将发布和调试签名密钥库和密钥别名/密码以明文形式存储在应用程序的build.gradle中。然后将其签入GitHub Git存储库。回购协议只对我开放,所以目前这不是什么大问题,但将来可能会有更多的人可以进入回购协议,我想阻止他们签署发行签名

signingConfigs {
        debug {
            storeFile file('debug.keystore')
            storePassword ‘<password in plaintext>’
            keyAlias ‘<alias in plaintex>’
            keyPassword ‘<password in plaintext>’
        }

        release {
            storeFile file(“<path to .jks file>“)
            storePassword ‘<password in plaintext>’
            keyAlias ‘<alias in plaintex>’
            keyPassword ‘<password in plaintext>’
        }
    }
签名配置{
调试{
storeFile文件('debug.keystore')
存储密码“”

但是,我突然意识到密码仍然会在Git历史记录中,并且很容易被发现。然后我做了一些研究,发现您可以在密钥库()上更改密码很好,但如果我这样做,有人能在从Git repo更改密码之前下载密钥库的旧版本,并使用旧密码生成有效签名吗?

找到密码添加位置的提交。然后
Git rebase-I commitHash
。在此提交时使用编辑,删除密码ds,然后继续重定基址,如果之后更改了密码,则应发生冲突,以便您也可以删除密码。然后使用外部文件进行新的提交。您应该在所有分支上执行此操作,或者最好只保留master并在那里执行此操作


找到密码添加位置的提交。然后
git rebase-i commitHash
。在此提交上使用编辑,删除密码,然后继续重新设置,如果密码之后更改,则会发生冲突,因此您也可以删除它们。然后使用外部文件进行新提交。您应该在所有分支上执行此操作你有或者更好的办法是只留下大师,在那里做


还应该调用
git gc
,因为提交不再可访问,除非它是垃圾收集的,否则它仍然在存储库中。在远程上执行此操作很重要,如果可能的话,在提交仍然存在时签出repo的所有客户端上执行此操作,因为它们可能已经下载了它。还应该调用e> git gc
,因为当提交不再可访问时,除非它是垃圾收集的,否则它仍然在存储库中。在远程上执行此操作很重要,如果可能的话,在提交仍然存在时签出repo的所有客户端上执行此操作,因为它们可能已经下载了它。