2017年10月27日(金)に開催されたshibuya.apk #19にて発表した資料になります
circleci/androidͷOpenSSLʹؾΛ͚ͭΑ͏@yamacraft
View Slide
profile• @yamacraft (Wataru Yamada)• Mobile Application Engineer• LeadingMark, inc• team Y.G.E.(private)• Ұ෦دߘ → → →
αϯϓϧϓϩδΣΫτhttps://github.com/yamacraft/android.RequestPermissions
લஔ͖• ઌ΄ͲͷϓϩδΣΫτCircle CI 1.0ͰϏϧυ͢ΔΈΛೖΕ͍ͯͨ• Circle CI 2.0ͩͱϏϧυૣ͘ͳΔͱฉ͍ͨͷͰɺࢼ͠ʹରԠͯ͠ΈΑ͏ͱࢥͬͨ• ͪͳΈʹൿಗใOpenSSLͰ҉߸Խͨ͠ϑΝΠϧʹೖΕ͍ͯΔʢ1.0࣌ʹެ͕ࣜҊͯͨ͠ํ๏Λ࠾༻ʣ• https://github.com/circleci/encrypted-files
Circle CI2.0Ͱઃఆͨ͠༰• imageެࣜͷcircleci/androidΛ༻• OpenSSLͰ҉߸Խͨ͠ϑΝΠϧΛ෮ݩ͠ɺγεςϜͷڥมʹΈࠐΉ• ͋ͱ./gradlew build͢Δ͚ͩ
decryptͰ͖ͳ͍…
Ͳ͏ͯ͠…• circleci/android(apt)ͷOpenSSL 1.1.0f• mac OS(homebrew)ͷOpenSSL1.0.2l• 1.1.0͔Βޓੑʹͪΐͬͱʢ༷มߋʣ͕͋ΔΒ͍͠…
ৄࡉ• OpenSSL1.1.0ͱҎલͷόʔδϣϯͱͷޓੑ• https://http2.try-and-test.net/openssl1_1_0_tips.html
ͰɺͲ͏ͨ͠ͷʁ• ҉߸ԽϑΝΠϧΛ࡞Δ࣌ʹɺҰํؔΛsha256ࢦఆ͢ΔΦϓγϣϯΛࢦఆͯ͠ੜ͢Δͱ෮߸ԽͰ͖ΔΑ͏ʹͳΔ• openssl aes-256-cbc -md sha256 -e -insecret-env-plain -out secret-env-cipher -k$KEY
ϏϧυͰ͖ͨʂ
·ͱΊOpenSSLͷόʔδϣϯҧ͍ʹؾΛ͚ͭΑ͏ʂ
͓͠·͍