HTTP를 그냥쓰기는 뭣하고, 그래도 채널만이라도 암호화해야 되지 않을까 하는 생각에 OpenSSL을 이용한 인증서 만들기로 서버와 앱에 적용시켜 보았다.


크흑... 엄청난 삽질.. 삽질... 결국 인증서를 만든 이유는 오직 한가지, 채널만 암호화 하자는 것에 만족!!!


일단 RSA 암호화 방식으로 개인키를 생성해준다.

$openssl genpkey -out privatekey.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048


만들어진 키로 인증서 생성 요청을 한다. 알고리즘은 X509를 사용하도록 해서, 만료기한은 10000일으로..!!
$openssl req -new -x509 -key privatekey.pem -out cetificate.pem -days 10000


여기까지가 개인키, 생성후 인증서 생성하는 부분으로, 서버의 어플에서 사용할 부분이다.

그리고 앱에서 사용할 인증서를 pkcs12 방식으로 export 한다.단지 앱과 통신을 위한것일뿐이므로.. 정보 넣는것보다는 만드는것에 집중해보자..

$openssl pkcs12 -export -in cetificate.pem -inkey privatekey.pem  > cetificate.pkcs12


이제 모든것이 만들어졌으니, 서버에서 인증서를 이용하여 https 서비스를 돌리고, 단말에서는 해당 인증서로 https 채널을 뚫어서 이제 통신하면 된다..


이거 하나 하느라고 키 만드는 것은 쉬웠으나, 앱에 올리고 디버그 하는데 너무 많은 시간이 걸렸다.





블로그 이미지

커뉴

이 세상에서 꿈 이상으로 확실한 것을, 인간은 가지고 있는 것일까?

,