2017-03-13 2 views
0

Androidプロジェクトを継承していましたが、以前のメンテナーがリリースとデバッグ署名キーストアとキーエイリアス/パスワードをアプリのbuild.gradleにプレーンテキストで保存しました。これはGitHub Gitリポジトリにチェックインされました。レポは私にしかアクセスできないので、これは現時点では大きな問題ではありませんが、今後リリースされる予定のレポにアクセスできる人が増える可能性があります。GentリポジトリにプレーンテキストでチェックインされたAndroidのリリース署名の設定パスワードを救済するには?

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>’ 
     } 
    } 

私はこれは悪い習慣であり、平文のパスワードとエイリアスを削除したいと思います。最初は、平文を削除して、レポにチェックインされていない外部ファイル(https://developer.android.com/studio/publish/app-signing.html#secure-shared-keystore)からパスワードを読み取ることを検討しました。しかし、パスワードはまだGitの履歴にあり、簡単に発見できるということは私にはわかりました。その後、いくつかの調査を行い、キーストア(Keystore change passwords)のパスワードを変更できることがわかりました。素晴らしいですが、そうすれば、Gitリポジトリからパスワードを変更する前に古いバージョンのキーストアをダウンロードし、古いパスワードを使用して有効な署名を生成することができますか?

答えて

0

パスワードが追加された場所のコミットを確認します。次にgit rebase -i commitHash。このコミットで編集を使用し、パスワードを削除してからリベースを続行します。後でパスワードを変更した場合は、パスワードを削除することもできます。次に、外部ファイルを使用して新しいコミットを行います。あなたは、あなたが持っているすべての枝でこれを行うべきです。

Git rewriting history

関連する問題