반응형
    
    
    
  반응형
    
    
    
  본 과정은 윈도우에서 진행되었으며 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] 안드로이드 사용자 인증서를 시스템 인증서로 설치하기 [3/3] (0) | 2025.03.05 | 
|---|---|
| [Solution] 안드로이드 사용자 인증서를 시스템 인증서로 설치하기 [2/3] (0) | 2025.03.04 | 
| [Solution] 안드로이드 adb shell 을 이용한 프록시 설정 (0) | 2025.02.20 | 
| [Solution] 안드로이드 커스텀 리스트뷰 구현하기 (0) | 2018.01.13 | 
| [Solution] 안드로이드 로그인 정보 저장 기능 구현하기 (1) | 2018.01.09 |