Upgrade to Pro — share decks privately, control downloads, hide ads and more …

これから始める秘匿情報との使い方

 これから始める秘匿情報との使い方

Tomoki Yamashita

February 17, 2023
Tweet

More Decks by Tomoki Yamashita

Other Decks in Programming

Transcript

  1. モバイルの秘匿情報って そこそこあるよね Firebase 認証情報 API サーバへOAuth クレデンシャル id, secret Google

    Play Publisher の認証情報 Android アプリアップロード鍵の情報 password, alias, key password その他プロダクト固有の秘匿情報
  2. 秘匿情報の編集 lane :"edit-secrets" do editor = ENV["EDITOR"] || "vi" Tempfile.create(["",

    ".yml"]) do |file| # 複合して一時ファイルに書き出し sh( "yaml_vault decrypt #{project_root_path}/secrets.yml -o #{file.path}", log: false ) # エディタで開く system("#{editor} \"#{file.path}\"") # 編集した秘匿情報を暗号化 sh( "yaml_vault encrypt #{file.path} -o #{project_root_path}/secrets.yml", log: false ) end end
  3. 0:00 / 0:19 秘匿情報の使用 def yaml_vault @yaml_vault ||= YamlVault::Main.from_file( "#{project_root_path}/secrets.yml",

    [['$']], passphrase: ENV['YAML_VAULT_PASSPHRASE'], ).decrypt_hash end irb(#<Fastlane::FastFile:0x000000011469dcb8>):001:0> yaml_vault => {"keystore"=> {"file"=> "MIIKzwIBAzCCCogGCSqGSIb3DQEHAaCCCnkEggp1MIIKcTCCBbgGCSqGSIb3DQEHAaCCBakEggWlMIIFo "store_password"=>"M1zEE541QpOBvIVZkM", "key_alias"=>"tomorrowkey", "key_password"=>"M1zEE541QpOBvIVZkM"}}