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 채널을 뚫어서 이제 통신하면 된다..


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





블로그 이미지

커뉴

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

,

Node를 설치하고나서 이제는 웹앱을 만드는 순서로 옮겨가게 될텐데...

그냥 맨바닥에서 다 개발하는 시대는 이제 끝난것 같다.


서블릿 개발할때도 스프링이나 스트럿츠 그리고 나가서는 iBatis,Hibernate등을 써서 개발하는 곳이 많은데, 노드도 굉장히 준비가 잘되어 있는것 같다.


그 대표적인 웹 개발 프레임워크인 Express를 글로벌 하게 설치해두자.


설치방법!!! 초간단.

$ sudo npm install express -g -->-g 옵션이 글로벌 설치를 의미한다.



설치하고 나서 이제 Express 프로젝트를 하나 만들어보면~~ 더 간단 ㅠ.ㅠ

 $ express node_express --> node_express가 프로젝트명


돌려볼까?

$ cd node_express

$ sudo npm install

$ node app


브라우저에서 접속.



놀라울따름이다.!!!



'코딩하고 > Node.js' 카테고리의 다른 글

Node.JS 로 Socket.IO사용하는 방법(WebSocket)  (0) 2013.08.29
Ubuntu Node.JS 최신 안정버전 설치하기(GIT)  (0) 2013.06.03
Node.js  (0) 2012.12.12
블로그 이미지

커뉴

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

,

아주 오랜만에 집에서 리눅스 랩톱을 켜놓고 개발환경을 셋팅하고 있는데...

예전에 너무 편하게만 사용하던 apt-get으로 node 를 설치했더니..버전이 무려.. ㅠ.ㅠ 0.6.14 였다. 


왜 node 호스팅 업체에서 0.6.14를 사용하는지 그 이유를 단박에 알게 되었다.


그런데 한가지 문제점은 npm을 설치하고 나서 express를 설치할려고 하는데!!!!


설치가 안된다. node 버전이 너무 낮아서...


그래서 과감하게 이미 설치되어 있는 node를 아래 명령으로 싹 지워버리고....

 $ sudo apt-get remove nodejs


최신 안정 버전을 설치하였다.

설치 방법은 아래와 같으니 이후 혹시라도 설치할 일이 있는 사람들은 참고 바란다.



기본 설치를 위한 패키지들을 아래와 같이 설치한다.


 $ sudo apt-get install g++ curl libssl-dev  apache2-utils git-core make automake autoconf




그리고, git을 이용하여 소스들을 땡겨와서 node js사이트에 나오는 최신- 안정 버전으로 설치를 한다. 지금의 최신버전은 v0.10.9이다.


http://www.nodejs.org/download/



$ git clone git://github.com/joyent/node.git 또는 github.com/ry/node.git

$ cd node

$ git tag  ---> 버전들이 주욱 나온다.

$ git checkout v0.10.9 --> 위에서 확인한 걸로 체크아웃한다.



이제는 컴파일하고 설치한다.

$ ./configure

$ make

$ sudo make install --> 설치할때 /usr/local 등의 디렉토리를 접근하기 위해서 sudo를 줘서 install 한다.

$ sudo ln -s /usr/local/bin/node /usr/bin/node --> 혹시나 패스가 안걸려있으면 심볼릭 링크도 추가해주면 편하다.



설치가 잘된나?? 버전한번 확인해보면..

$ node --version 

v0.10.9



설치를 했으니 모든 언어의 첫 시작관문인 Hello World를  한번 찍어보면~~~


helloworld.js를 아래와 같이 만들고 나서...

var http = require('http'); 

http.createServer(function (request,response){

        response.writeHead(200,{'Content-Type': 'text/plain'});

        response.end('Hello World. from Node.js\n');

}).listen(9999,"0.0.0.0");

console.log('Server Started');



node로 실행 시킨다.


 $ node helloworld.js


웹브라우저에서 한번 접속을 해보면!!




눈물이 또르르르...이제 옛날 처럼 힘들게 뭔가 만들필요가 없어진것 같은 ... 느낌이 확 다가온다.


블로그 이미지

커뉴

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

,

최근에 만드는 앱들은 모두 아들이 가지고 놀기 위한 앱들이다...


얼마전에 Glass Harp 연주 동영상을 같이 보고 있었는데, 아들이 "아빠, 이거 어디서 나는소리야??" 하고 관심을 보여서...


Glass Harp의 샘플을 직접 구해서.. 일일이 주파수를 추출해서 3,4,5 옥타브의 음원 세트를 만들었는데..


3옥타브는 휴대폰에서는 아무리 재생해도 잘 들리지가 않아서... 그냥 대충 만들어올렸는데..


올린지 하루만에 ㅠ.ㅠ 별점 1 ... 


역시 대충 만든앱은 누가 봐도 별점 1....


그래서 앱자체를 아예 제거해버리고 새로 만들어서 올렸다.


아이가 쓰기 쉽게... 한글도 넣고... 그동안 너무 무성의 했던듯.... 사실 아들이 아직 한글은 모르고 A,B,C를 더 잘알아서...


https://play.google.com/store/apps/details?id=com.hopeisagoodthing.glasspiano&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLmhvcGVpc2Fnb29kdGhpbmcuZ2xhc3NwaWFubyJd





블로그 이미지

커뉴

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

,

요즘들어 한글과 숫자를 배우고 있는 4살 난 아들이, 모두의 게임을 좀 씩 하고 있는데, 뭔가 부족하고, 하고싶은 만큼 할수 없는것 같아서...


직접 A to Z 까지 찾기, 1부터 64까지 찾기, ㄱ 부터 하 찾기 어플을 세개 만들어서 가지고 놀수 있게 해줬다.


아주 간단한 앱이지만.. 만들다보니.. ㅠ.ㅠ 손댈게 여기 저기 많아서 벌써 각각 버전 패치를 몇번 발행했다.


사운드가 나와서 아들이 관심을 가지면서 하고 있긴한데..엄청 오래 걸리고 있다.. ㅎㅎㅎㅎ



1. A to Z

https://play.google.com/store/apps/details?id=com.hopeisagoodthing.atoz&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5ob3BlaXNhZ29vZHRoaW5nLmF0b3oiXQ..



2. 1 to 64

https://play.google.com/store/apps/details?id=com.hopeisagoodthing.onetosixtyfour&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5ob3BlaXNhZ29vZHRoaW5nLm9uZXRvc2l4dHlmb3VyIl0.



3. ㄱ to 하

https://play.google.com/store/apps/details?id=com.hopeisagoodthing.hangul&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5ob3BlaXNhZ29vZHRoaW5nLmhhbmd1bCJd




블로그 이미지

커뉴

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

,