일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- otpkey
- apple
- FIDO2
- appres
- Android
- 앨범북
- 2FA
- css
- Xcode
- 앱리소스
- git
- SSH
- 앱스토어
- MYSQL
- openssl
- OTP
- Nodejs
- 인증
- SSL
- SWIFT
- MFA
- 애플
- fido
- WebAuthn
- MSYS2
- SwiftUI
- kmip
- albumbook
- 안드로이드
- OSX
Archives
- Today
- Total
인디노트
안드로이드 개인 인증서 추가 관련 정보 본문
안드로이드 https 에서 개인 인증서 추가하기
여기서 핵심은 실제로 추가하는 것이 아니라, keystore 를 직접 만들어서 이 keystore 에 인증서를 담고, https 통신을 하는 것이다.
pc에서 인증서 추가시
기본적으로 우리가 local pc 에 인증서를 추가한다면, 여기에 나온 것처럼 runtime 에서 사용하는 cert 에 추가하면 된다. 이것은 우리가 마음대로 접근할 수 있어서 그냥 넣을 수 있다.
그런데 android 는 이부분이 기본적으로 막혀있다. 우리는 dalvik runtime 을 마구 건들 수 없다. 적어도 rooting 을 하지 않는다면 말이다. 물론 이 부분이 Android version 4.0 이후 달라졌다.
app 에서 개인이 만든 인증서 사용시
그리고 또 하나, 우리가 만약 application 을 만들어서 배포하는데, 공인된 인증서가 아닌 다른 녀석을 쓴다면 문제가 된다. 이녀석을 인증하기 위해서 runtime 에서 사용하는 cert 를 확인할 텐데, 이녀석을 우리가 수정할 수가 없다.
그래서 이것을 중간에서 다른 녀석이 해주는 것이다. 그것이 아래 링크에서 하는 이야기이다.
- Security with HTTPS and SSL > Unknown certificate authority | http://developer.android.com/
- HTTPS with Client Certificates on Android - Chariot Solutions
방법은 기존의 keystore 를 보지 않고, 새롭게 keystore 를 만들고, 거기에 내가 원하는 certificate 을 넣어주는 것이다. 이렇게 해서 https 통신할 때 이 keystore 를 사용하도록만 해주면 된다.
1 번째 방법에서는 DER format 으로 된 certificate 을 불러오고, 이 녀석을 keystore 에 넣는 과정을 거친다.
2번째 글에서는 다양한 방법을 보여주는데, 1번째와 같은 방법도 소개한다. 그런데 여기서 사용하는 소스를 볼 수 있어서 훨씬 이해하고, 사용하기 좋은 듯 하다.
See Also
위 링크에선 각 저장포맷에 대한 정보를 얻을 수 있다. PEM -> PKCS#12 로 변환 하는 법도 알려준다. 기본적으로 안드로이드는 java key store .jks를 사용한다. (KeyStore | Android Developers)
위 링크에선 각 저장포맷에 대한 정보를 얻을 수 있다. PEM -> PKCS#12 로 변환 하는 법도 알려준다. 기본적으로 안드로이드는 java key store .jks를 사용한다. (KeyStore | Android Developers)
반응형
'인증기술 > PKI 기술' 카테고리의 다른 글
OPENSSL PKI pem_password_cb 구현등 (0) | 2022.07.17 |
---|---|
PEM_write_bio_RSAPublicKey vs PEM_write_bio_RSA_PUBKEY (0) | 2022.07.17 |
Simple Certificate Enrollment Protocol (SCEP) (0) | 2018.10.10 |
OpenSSL API를 이용한 보안 프로그래밍, Part 3: 보안 서비스 제공하기 (한글) (0) | 2018.10.08 |
OpenSSL API를 이용한 보안 프로그래밍, Part 2: 안전한 핸드쉐이크(handshake) (한글) (0) | 2018.10.08 |
Comments