본 과정은 윈도우에서 진행되었으며 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 파일을 안드로이드 단말기에 설치할 예정입니다.
추후 과정은 다음 포스팅을 확인해주세요 :)