취미 기록용 블로그
AES키를 기기 내부에 저장하는 것도 했으니 RSA도 해봄. var privateKey : PrivateKey? = null var publicKey : PublicKey? = null var alias = “linsoo.pe.kr” Keystore 내부에 저장할때 별칭을 가지고 불러올수 있는데 일단 linsoo.pe.kr로 했음. var ks : KeyStore = KeyStore.getInstance(“AndroidKeyStore”).apply… “read more”
안드로이드 앱을 만들어 배포하면 일단 내부 구조나 저장된 값들은 털릴수 있다는걸 알고 시작해야 함. 그래서 요즘은 신경 좀 쓰는 개발자라면 내부 저장되는 값들중에 중요값은 암호화 해서 저장함. 근데 그 키를 또 어디에 저장하는가 도 문제가 되는데 안드로이드에서는 Android Keystrore라고 기기… “read more”
코틀린에서 AES 사용하는법 찾아서 해보고 여기 정리 해둠. fun hashSHA256(msg: String): ByteArray { val hash: ByteArray try { val md = MessageDigest.getInstance(“SHA-256”) md.update(msg.toByteArray()) hash = md.digest() } catch (e: CloneNotSupportedException) { throw DigestException(“couldn’t make digest of partial content”) } return… “read more”
안드로이드에서 RSA 방식으로 데이터 암호화 해서 Golang이랑 통신하는거 하다가 여기 정리해둠. val keygen = KeyPairGenerator.getInstance(“RSA”) keygen.initialize(2048, SecureRandom()) var keyPair = keygen.genKeyPair() keyPair.private //개인키 keyPair.public //공개키 일단 Kotlin에서 공개키와 개인키 생성은 이렇게 한다. 초기화 하고 Gen 하면 keyPair 변수에 private와 public으로… “read more”
원래는 Keytool로 예전에 만들었던 인증서 파일 내용 좀 확인할려고 시작한게 어떻게 하다 보니 APK 변조 대비해서 인증서값 가져다 확인하는걸 만들었길래 여기 정리해둠 -_-;;; 안드로이드에서 앱 실행시 APK에 서명된 인증서 값을 가져올수 있는데 이걸로 현재 앱이 변조된건지 아닌지 판별하면 될듯 싶다.… “read more”