Notice
Recent Posts
Recent Comments
Link
코드 한 줄
[Solution] 안드로이드 사용자 인증서를 시스템 인증서로 설치하기 [1] 본문
본 과정은 윈도우에서 진행되었으며 openssl 이 설치되어 있다는 가정하에 진행합니다.
해당 포스트에서는 인증서를 생성하는 단계까지의 내용만 담고 있습니다.
먼저 아래의 openssl.cnf 파일을 준비합니다.
(TEST 에 해당하는 부분은 적절히 변경해줍니다)
# openssl.cnf
[ req ]
default_bits = 2048
default_md = sha256
default_keyfile = digi_cert.key
distinguished_name = req_distinguished_name
extensions = v3_ca
req_extensions = v3_ca
[ v3_ca ]
basicConstraints = critical, CA:TRUE, pathlen:0
subjectKeyIdentifier = hash
keyUsage = keyCertSign, cRLSign
nsCertType = sslCA, emailCA, objCA
[ req_distinguished_name ]
countryName = Country Name
countryName_default = KR
countryName_min = 2
countryName_max = 2
organizationName = TEST
organizationName_default = TEST
organizationalUnitName = TEST
organizationalUnitName_default = TEST
commonName = TEST
commonName_default = TEST
commonName_max = 64
위 openssl.cnf 파일을 이용해서 private key 를 생성합니다.
(기간, 파일 이름 등 적절히 변경해줍니다)
# Create a private key.
openssl req -x509 -days 365 -nodes -newkey rsa:2048 -outform der -keyout server.key -out cert.der -extensions v3_ca -config openssl.cnf
private key 를 pkcs8 포맷으로 변환합니다.
# Convert key to pkcs8 format
openssl rsa -in server.key -inform pem -out server.key.der -outform der
openssl pkcs8 -topk8 -in server.key.der -inform der -out server.key.pkcs8.der -outform der -nocrypt
cert.der 을 pem 포맷으로 변환합니다.
# Convert DER to PEM
openssl x509 -inform DER -in cert.der -out cert.pem
인증서의 hash 값을 추출합니다.
# get hash from cert
openssl x509 -inform PEM -subject_hash_old -in cert.pem
=> 1127f18c
hash 값을 이용해 cert.pem 의 이름을 변경합니다.
# rename to [HASH].0
move cert.pem 1127f18c.0
실질적으로 1127f18c.0 파일을 안드로이드 단말기에 설치할 예정입니다.
추후 과정은 다음 포스팅을 확인해주세요 :)
'Develop - > Android' 카테고리의 다른 글
[Solution] 안드로이드 adb shell 을 이용한 프록시 설정 (0) | 2025.02.20 |
---|---|
[Solution] 안드로이드 커스텀 리스트뷰 구현하기 (0) | 2018.01.13 |
[Solution] 안드로이드 로그인 정보 저장 기능 구현하기 (1) | 2018.01.09 |
Comments