Eclipse 설치 일지

– 글 쓰는 도중 내용이 날라가버리는 사태로 인하여 앞 부분은 대충 쓸 수 있음.

다양한 플러그인을 설치하면서 쓰다보면 Wholesale Jerseys 어느순간 무거워진 Eclipse 를 느낄 수 가 있다.

이에 안쓰는 것들을 UnInstall 하게 cheap nfl jerseys 되지만 찌꺼기는 남게 되고 뒤엉켜버린 상태가 되어 모든 것을 정리하고

새로 설치하는 것이 속 편할 때가 있다.

그런 날에 어떤 것들을 다시 세팅하고 시작해야하는지 내 기준으로만 적어봤다.

일단, Eclipse 홈페이지에 접속 Eclipse IDE for Java Developers 최신버전을 내려받는다.

압축을 적당한 곳에 풀고 eclipse 폴더를 끄집어 내어 옮겨놓는다.

eclipse 를 실행시키면 workSpace 설정 창이 뜰 것이고, 새로운 폴더를 만들고 선택한다.

로딩이 완료되면 Welcome 페이지가 뜰 것이고 사뿐히 닫아 준다.

Package Explorer 에서 Working Sets 세팅을 해준다.

New Development , Maintenance, Closed 이렇게 분류를 하고 Top Level Elements 을 Working Sets Package

Presentation 을 Hierarchical 으로 변경해준다.

Preferences 에서 Font 와 Code Formatter 를 기존에 사용하던 값으로 바꿔준다.

Trac 과 Mylyn 연동을 위해 Trac Connector 를 추가적으로 설치해준다. (자동 업데이트 가능)

Task 세팅 관련은 생략하기로 한다.

자. 이제 Project 를 세팅할 순서이다. 기존에 Allure 쓰던 소스를 가져오거나 SVN Fake Ray Bans 에서 가져오는 방법이 있다.

SVN 에서 가져오는 방법부터 알아보자. 현재 최신버전에서는 SVN Plug-in 을 추가적으로 설치할 필요가 없어졌다.

따라서 쉽게 SVN 적용이 가능하다. 아니다. nfl jerseys china 설치해야 한다. 다만, 쉽게 설치되도록 바꼈을 뿐이다. 그거부터 한다.

Eclipse MarketPlace 를 들어간다. 인기 순위로 보면 상위로 Subclipse 가 있을 것이고 선택하고 설치하면 wholesale jerseys china 끝 재시작 후

New – SVN – Checkout Projects from SVN 을 선택한다.

SVN repository 설정이 안되어 있으므로 새롭게 세팅한다.

SVN 리스트에서 원하는 Project 를 선택하고 Check out as a project ray ban sunglasses sale configured using the New Project Wizard 를 선택하고 Project 에서 Java Project 를 선택한다.

알맞은 Project Name 과 JRE 버전을 선택, Working sets 선택을 cheap nfl jerseys 하고 Library 세팅에서 특별히 추가할 사항이 있다면 ray ban sunglasses 설정을 해주면 SVN 으로 부터 소스를 가져오기 시작한다.

Project 를 가져온 것이 끝이 나고, x 가 보일 경우 라이브러리 세팅 문제가 대부분 이므로 알맞게 세팅한다.

이제 위와 oakley sunglasses for men 같은 방법으로 다른 Project 2016 Oakleys sunglasses Outlet 들을 가져오면 재설정이 마무리 된다.

JAVA THE SHOW 10 years

2000년 OOP 수업을 통하여 처음 자바를 접했다.

2010년 나에게 자바는 현재 진행형이다.

10년동안 자바와 함께 했던 시간들을 JAVA History Timeline 과 함께 비교해봤다.

2000 Over 400 Java User Groups are established worldwide
Java Developer Connection program tops 1.5 million members
Steve Jobs joins Scott McNealy on stage at JavaOne to announce a major commitment by Apple in support of Java technology
Heavy Metal band Metallica sues Napster for copyright violations
2000 봄학기 OOP 수강
첫 교재 Java How to Program (3rd) 구입
C,C++ 언어에 매력을 못느끼고 있었을 때여서인지 많은 관심을 가짐
하지만, 곧 군입대를 앞두고 있어서 수업에 집중을 안하고 낮은 점수를 받음
나우누리 자바동호회에서 채팅을 하면서 JSP 가 곧 뜰거라는 정보를 입수하자마자 입대
2001 First international JavaOne conference in Yokohama Japan
Over 1 million downloads of the Java Platform, Enterprise Edition (Java EE) SDK
Google Inc. PageRank search algorithm patent awarded
“The Lord of the Rings: The Fellowship of the Ring” is released

<table border="1" width="100%" cellpadding="5" cellspacing="0" class="lined" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.4em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: middle; border-collapse: collapse; -webkit-border-horizontal-spacing: xiray 0px; -webkit-border-vertical-spacing: 0px; width: 570px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(153, 153, 153); border-right-color: rgb(153, 153, 153); border-bottom-color: rgb(153, 153, 153); border-left-color: rgb(153, 153, 153); “>

<td width="10%" style="margin-top: 0px; margin-right: 0px; cheap nfl jerseys margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 10px; padding-bottom: 4px; padding-left: 5px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; font-weight: normal; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: middle; text-align: left; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(153, 153, 153); border-right-color: rgb(153, 153, 153); border-bottom-color: rgb(153, 153, 153); border-left-color: rgb(153, 153, 153); border-collapse: collapse; “>2001 일병을 달고 원서를 봐서 기초가 더 약했다라고 판단 클릭하세요 자바 2 JDK 1.3 구입
입대전에 들었던 JSP 가 생각나서  퍼펙트 JSP 구입.
하지만, 실습할 방법도 없었고 자바 기초가 미약한 상태여서 뛰엄뛰엄 보게 됨
공부할 시간적 여유가 많지 않은 시기라 관물대에 꽂여 제목만 바라보다 상병이 되면서
새로운 책 구입 Advanced JAVA Programming 응용을 하고 싶은 마음에 고도화 시도

2002 J2EE SDK downloads reach 2 million
78% of executives view J2EE technology as the most effective platform for building and deploying Web services<br style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: Cheap Oakleys 0px;padding-bottom: 0px;padding-left: 0px”>The Euro is introduced
“The Osbournes” becomes a surprise hit on MTV
2002 병장이 되면서 복학준비 모드로 변신 SCJP 자격증 준비하기로 하고 책 구입 JAVA 2 SCJP
정기구독했었던 마소잡지들을 보면서 새로운 자바 기술들을 찾다가 나의 길을 만나게 됨
마이크로소프트웨어 1,2,3 월 연재 기사 자바 TV 프로그래밍 
가을 학기 cheap jordans online 복학을 하면서, 알고리즘 재수강을 하고 의욕적으로 자바로 과제 제출
2003 Java technology runs in almost 550 million desktops
Almost 75% of professional developers use Java programming language as their primary development language
Commercial Voice-Over-Internet (VoiP) phone service begins
“The Da Vinci Code” is published

<table border="1" width="100%" cellpadding="5" cellspacing="0" class="lined" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.4em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: middle; border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; width: 570px; border-top-style: solid; border-right-style: throwback jerseys solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(153, 153, 153); border-right-color: rgb(153, 153, 153); border-bottom-color: rgb(153, 153, 153); border-left-color: rgb(153, 153, 153); “>

<tr valign="top" style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: Ralph 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: inherit;font-style: inherit;font-size: 12px;font-family: inherit;vertical-align: baseline”>

2003 봄학기 OOP 재수강하면서, 자신만만으로 수강 자바 프로그래밍 언어 교재 구입
졸업 논문 주제 선정에 돌입하면서, 자바 TV 를 이용하기로 결정하고 관련 지식 연구
지도교수님의 주제변경 요청에 묵묵히 모바일로 방향 선회 자바 모바일 프로그래밍 구입
“GPS 를 이용한 SK-VM 에서의 휴대폰 서비스 설계 및 구현” 졸업 논문 

<table cheap nfl jerseys shop border=”1″ width=”100%” cellpadding=”5″ cellspacing=”0″ class=”lined” style=”margin-top: 0px; margin-right: 0px; margin-bottom: 1.4em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: middle; border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; width: 570px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(153, 153, 153); border-right-color: rgb(153, 153, 153); border-bottom-color: rgb(153, 153, 153); border-left-color: rgb(153, 153, 153); “>

<td width="10%" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 10px; padding-bottom: 4px; padding-left: 5px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; font-weight: normal; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: middle; text-align: left; border-top-style: solid; border-right-style: solid; cheap jerseys wholesale border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(153, 153, 153); border-right-color: rgb(153, 153, 153); border-bottom-color: rgb(153, 153, 153); border-left-color: rgb(153, 153, 153); border-collapse: collapse; “>2004 Java 2 Platform, Standard Edition 5 (Project Tiger) is released
The Java Cheap Ray Bans technology-powered Mars Rover (Spirit) touches down on Mars
Sun Java Studio Creator is launched
2004 취업을 준비하면서 자바 개발자로 이력서를 써보지만, 경력과 실력이 미천한지 번번히 탈락
3월이 다되어 자바 어플리케이션 개발자로 첫발을 들임. 하지만, 사내 자바 개발자는 온리 나
결국, 독학 시작. 자바 애플릿으로 델파이로 만든 관제 시스템의 실시간 차트 뷰를 개발
전체를 볼 수 있는 시각을 갖기 시작. 디자인 패턴에 관심을 갖게 됨
2005 Java technology celebrates its 10th birthday
Approximately 4.5 million developers use Java technology
Over 2.5 billion Java technology-enabled devices are available
java.com bundles the Google Toolbar with the JRE download
<tbody style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ray ban sunglasses sale padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; vertical-align: baseline; “>

2005 갑작스런 회사 경영 악화로 나의 길을 다시 생각해보게 되고, 대학원 진학으로 결정함
미디어 공학을 전공으로 디지털방송 연구 시작 맘껏 자바TV 연구를 하게 됨
TV 위젯 어플리케이션 개발 , 데이터방송 저작도구 개발 등 다양한 프로젝트 수행
Swing 으로만 개발해오다가,  이클립스의 기반인 SWT 에 관심을 가짐
<tbody style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: cheap nfl jerseys 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;font-weight: inherit;font-style: inherit;font-size: 12px;font-family: inherit;vertical-align: baseline”>

2006 Rich Green announces at the JavaOne 2006 Conference that it’s not a matter of when Sun will open source Java technology, but how. The NetBeans IDE 5.0 is released. Sun open-sourced Java EE components as the Glassfish Project to java.net. Cheap Jordan Sale Java SE and ME initial components are released as open source. Pirates of the Caribbean: Dead Man’s Chest is released.
2006 자바 언어에 대한 공부보다 개발 방법론에 관심을 가지게 되면서 관련서적 구입
졸업 논문 준비로 전공 공부에 집중하게 되고, 관련 업계로 취업
돈을 벌어서 인지 더 많은 도서들을 구입
최근에 읽은 책은 클린 코드

2007년 이후의 Java History Timeline 은 제공하지 않고 있다.

나의 2007 ~ 2010 의 History 는 회사에서 VOD Application 개발을 하고 있다.

PS. 자바 언어만 해본 건 아니다. 태어나서 접해본 아니 맛만이라도 본 언어를 나열하자면..
BASIC, PASCAL, C, C++, Assembly, Delphi, Perl, PHP, Python, Prolog, C#, Object-C
많다..

File Distributor

아래 글의 프로그램을 cheap authentic jordans 완성했다. Fake Oakleys

오늘 하루종일은 아니고, 틈틈히 하다가 막판에 버그 이것저것 잡고

마무리했다. 휴..

일단 자동 분류는 cheap nfl jerseys cheap football jerseys 아니다. cheap Oakleys sunglasses 반자동 분류라고 해야하나..

우선, 옮겨질 폴더를 설정해둔다. cheap jerseys 그리고, cheap Air Jordans 감시하는 폴더 Ideas 하나를 설정한다.

프로그램은 그 폴더를 감시하다가 파일이 들어오면 팝업이 쓩뜨면서 리스트가 나타난다.

그리고, 선택하면 된다. 끝이다. NFL Jerseys China 탐색기에서 찾아가는 수고를 덜어줄듯 하다.

대충 Ray Ban sale 그리고, 급하게 하느라 메모리 문제를 신경 못썼다. 자바 Style 어플의 한계인가..

JRE 6 이상에서 돌아갈지 JRE 1.5 이상에서 돌아갈지는 테스트 해봐야 겠다..

내일 wholesale nfl jerseys 회사에서 유용하게 써봐야겠다.

나는 베타테스터~

파일 자동분류 프로그램

다운로드를 받은 파일을 wholesale football jerseys 알맞은 위치에 지정하기
메일 첨부파일을 알맞은 위치에 지정하기
일련의 воздуха 과정이 자료 관리를 위한 선작업들이다. cheap jerseys wholesale
그런데, 이러한 작업들이 귀찮아지기 시작했다. 좀 알아서 해주면 안되냐 라고 jordan retro 1 cheap jordans online 생각이 든다.
이런 고민은 다른 사람들도 해봤을테고, 관련 oakley sunglasses outlet 프로그램도 있을 듯 한데..
대충 찾아보니 아직 없네.. fake oakleys 아냐.. 분명 어딘가에 있을텐데..


열심히 찾는 노력대신 그 노력을 프로그램 만드는데 써보자는 생각이 든다.

<br [Sjonnir />

한번 생각해보자.
자동 분류 방식에 대해…
자동이라는 의미는 어떠한 조건하에 파일들을 옮겨야 할 것이다. 단순히 확장자?
이건 의미 없고, cheap oakleys 파일 제목? 이것도 약하다.. 그러면, 파일 내용 검색? 일반 문서라면
의미가 cheap nfl jerseys 있을테고 압축파일이나 실행파일이라면 애매하다.

이 프로그램은 순전히 개인용이므로 내가 cheap jerseys wholesale 쓰고 있는 패턴을 조사해서 만들면 될 거 같다.

일단, 임시 저장하는 폴더는 하나로 만들어 놓고, 거기을 감시하고 있다가 파일 있으면
옮겨버러야 겠다. 좀더 인텔리 하다면 브라우저 파일 저장할때 가져와서 해도 되겠지만..
그건 나를 Cheap NFL Jerseys 어렵게 한다. ㅠ

그리고, 할줄아는건 자바이므로 시스템 인터럽트에는 한계가 있다. 일단, 자바 API 줄수 있는
방법으로 해보자.

 

아직은 얼렁뚱땅 개발자

프로젝트를 진행중이다.

내가 <a ray ban sunglasses sale href=”http://www.cheap-nfl-jerseysus.com/” target=”_blank”>NFL Jerseys Cheap 맡은 잡은 cheap nfl jerseys ray ban sale 간단히 퉁 해주는 어플 만드는 것 뿐이다.

하지만, 퉁 해주기 nfl Fake Oakleys jerseys cheap 위해서는 소켓을 열고 닫고 하는 Cheap Oakleys Sunglasses 무시무시한 작업을 수행해야 한다.

개발완료 된지 몇 일이 지나고, 소스는 슬쩍 ร่วมงานกับเรา 슬쩍 보고 있다.

무결성 백프로를 자신하고 있다. 이러지 NFL Jerseys Cheap 말라고 책에서 그랬는데….

아니나 다를까 wholesale nfl jerseys 내가 퉁 해준 ray ban sunglasses 정보를 받은 다른 어플이 잘못된 화면을 보여주고 있었다.

난 무결하니 걔가 이상할꺼야 하는 전제하에 in 시작된 디버깅…

1분만에 나는 깨깽… GG

소켓 열기에 대한 실패처리는 해놨고, 닫기 처리도 해놨지만 소켓이 아예 생성이

안될수 있을 것이라는 가정을 안한체.. 널뽀인트익셉션이 나를 반가이 맞이했다…..

아직은 얼렁뚱땅 개발자인가보당…

[스그랩] 자체 인증으로 signed applet 구현

[#M_ 내용 보기.. |

From. JAVA LAND
Title. [후기]Java Plugin 1.3 에서 자체 인증으로 digitally signed applet 구현하기
Name. 김일형

안녕하세요, 김일형입니다.

이번에 엄청 고생해서 자바 플러그 인을 지원하는 자체 인증을 통하여 digitally signed applet을 구현하였습니다. 아직 더 많이 다듬어야겠지만 일단은 됩니다.

환경 설명………………..

제가 구현하려는 시스템의 Front-end는 웹환경으로 자료를 검색해서 결과를 테이블로 보고 해당 자료의 다운로드가 가능해야하고 프린팅도 Fake Oakleys Outlet Oakleys 지원해야 합니다.
따라서 일반 Java Script 또는 JSP로는 구현하는데는 한계가 있어서 당연 Applet을 사용해야하는데 다운로드 또는 프린팅이 지원이 않되는 문제가 있습니다.
따라서 이 applet을 인증시켜야하는데 이를 위해서는 Verisign와 같은 공인된 인증기관을 이용해야 한다는 것이죠.
그런데 어차피 회사사람만이 이용을 할 것이기 때문에 제3의 기관에 돈을 내는 것은 말이 좀 말이 되지 않았습니다 ( -__-;; )
그래서 생각해낸 방법이 공인기관을 거치지 않고 자체 인증을 통한 signed applet을 구현하는 것 입니다 (OpenSSL).

준비물 …………………………………………..
1. JDK 1.3.1 또는 Java Plugin 1.3.1
2. OpenSSL 0.9.6b 이상 (www.openssl.org에서 다운가능)
3. Apache ( Web Server )

환경준비 …………………………………………

1. Unix (Linux)에 OpenSSL 설치

간단하게 설명을 드리면 …
일단 앞축을 풀고 해당 디렉토리에 가서
$ ./config –prefix=/usr/local –openssldir=/usr/local/openssl
라고 하면 실행파일은 /usr/local/bin에 가서 깔리고 인증 서비스를 위한 자료는 /usr/local/openssl 밑에가서 깔립니다.

$ make

를 해서 컴파일을 하시고

$ make test

를 해서 시험을 합니다. 만일 문제가 특별히 발생하지 않으면

$ make install

을 해서 설치를 합니다. (자세한 설치는 INSTALL 파일을 Wholesale Jerseys 참조하십시요)

2. OpenSSL을 이용한 서비스 환경 설정

인증 서비스를 하려면 일단 rootCA라는 것을 가져야합니다. 이것은 자기 자신이 발행한 인증요구서를 자신이 인증하여 다른 개인이나 기관에게 배포하기 위한 것입니다.

2.1 비밀키의 생성

$ openssl genrsa -des3 -out ca.key 1024

2.2 비밀키를 자신이 인증하여 인증서 화일을 생성

$ openssl req -new -x509 -days 365 -key ca.key -out ca.crt

2.3 openssl.cnf 파일 수정

CA_default 부분에 “dir”을 자신의 상황에 맞게 수정한다. (보통은 “/path/to/openssldir/자신의CA”의 형태)

2.4 필요한 디렉토리와 파일을 생성

$ mkdir /usr/local/openssl/MyCA
$ mkdir /usr/local/openssl/MyCA/certs
$ mkdir /usr/local/openssl/MyCA/crl
$ mkdir /usr/local/openssl/MyCA/newcerts
$ mkdir /usr/local/openssl/MyCA/private
$ echo “01” > /usr/local/openssl/MyCA/serial
$ touch /usr/local/openssl/MyCA/index.txt

2.5 생성된 비밀키와 공개키를 openssl.cnf에서 지정한 디렉토리에 저장한다.

ca.key는 /path/to/openssldir/자기CA/private/cakey.pem으로 복사하고 ca.crt는 /path/to/openssldir/자기CA/cacert.pem정도로 복사하면 됩니다.

이상의 내용은 http://kldp.org/KoreanDoc/html/OpenSSL-KLDP/OpenSSL-KLDP.html에서 4.2절 까지의 내용입니다.

다음에는 실제 이를 이용하여 signed applet을 작성하는 것을 설명드리도록 하겠습니다.

이번에는 실제 인증하는 방법입니다.

지금까지 제가 자료를 모은 것에 의하면 과거 1.1때에는 MS IE 또는 Netscape 독자적으로 인증을 하는 방법이 존재했습니다. 그래서 각각의 인증방법이 틀렸고 그 말은 각각의 브라우저를 위해 코드도 서로 틀리게 작성해야 한다는 것입니다. 독자적으로 import하는 패키지가 틀렸걸랑요.

그러다가 1.2때부터 SUN에서 각각의 브라우저에 사용될 수 있는 plugin을 제시하였고 이제는 각각의 브라우저에 똑같이 적용될 수 있는 것이 나왔습니다. 다 아시다시피 이제는 더이상 applet 태그를 사용하지 않습니다. IE에서는 OBJECT, NS에서는 EMBEDED 태그를 대신 사용하죠.

처음에는 저도 각각의 브라우져에 대해 인증을 하는 방법으로 접근했다가 방향을 바꿔서 SUN의 지침을 따르기로 했습니다.

하지만 단점도 있습니다만 그것은 다음에 설명을 드리도록 하죠.

1. 예제 프로그램……………………………………

첨부된 파일의 코드는 지정한 url 과 port를 검사하는 <a href="http://www.cheap-nfl-jerseysus.com/" cheap oakleys target=”_blank”>Cheap nba Jerseys 것입니다. 다 아시는 것이겠지만 applet은 자신이 온 서버와 클라이언트로만 통신이 가능합니다. 따라서 이 프로그램을 인증 없이 사용한다면 localhost의 포트는 검사할 수 없겠죠.

2. 컴파일 하고 jar로 묶기 ……………………………………..

위의 코드를 저장하고

$ javac SimpleScannerApplet.java

를 하면 다음과 같은 코드들이 생기죠.

SimpleScannerApplet$Scanner.class
SimpleScannerApplet$ScannerException.class
SimpleScannerApplet.class
SimpleScannerApplet$1.class

$jar -cvf scan.jar *.class

이렇게 하면 scan.jar가 생깁니다.

3. 인증을 위한 준비 …………………………………

이제는 자바의 keytool을 이용하여 키를 생성합니다.

$ keytool -genkey -alias jamie -keyalg rsa

라고 하면 키를 생성하기 위한 각종 질문을 해옵니다. 잘 대답을 하시면 내부에 .keystore 라는 파일이 생깁니다. 패스워드는 잘 기억을 하십시요. 2가지가 있는데 keystore자체의 password하고 해당 엘리어스 (jamie)에 대한 패스워드 2가지이죠.

다음에는 인증요청서를 작성하는 것입니다.

$keytool -certreq -alias jamie
Enter keystore password: 123456

라고 하면 아래와 같은 결과가 화면으로 나오는데 이것을 리다이렉션을 통하여 scan.csr로 저장을 합니다.

—–BEGIN NEW CERTIFICATE REQUEST—–
MIIBvzCCASgCAQAwfzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQHEwtDaHVsYSBW
aXN0YTEXMBUGA1UEChMOSmFtZXMgSmF3b3Jza2kxHTAbBgNVBAsTFFNvZnR3YXJlIGRldmVsb3Bt
ZW50MRUwEwYDVQQDEwxqYXdvcnNraS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAPb5
Yt3M48Lwf2OjVYBG8+89HF35JB/YpHyyHt4DTohFeS2KbAQEvI03FGtG9KXZpzgumBttxhfiqRF8
6bF2GO8eDK1COubJ6ckEZziSlTUFYoLXqmLTui85TApXB8kJzj+SygQ2OP0APtVy6E3dq66izl89
RUzMdTH60QPxtbc5AgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQBEtAffkQVHRB8bGsm6yP7Sb8zZ
ert3h8pXdBlFjtC+SZZxUQq/rOGyqh1H320ZqJlcnmRBrgQth3KDh3WPXposnTt4eHwJKyK/whUk
0ucbkDo3cdidLLg4/as0QsVmje7udzcCdnCX6NuQqjvAayaOviU1i5GvN8ALbpWwbrf0uw==
—–END NEW CERTIFICATE REQUEST—–

계속……………………..

4. 인증하기 …………………………………

이렇게 생성된 scan.csr파일을 Verisign같은 공인 인증기관에서 인증을 하면 그 것으로 signed applet을 만들면 되는데, 일단 돈들이기가 싫으니까 대신에 OpenSSL이 인증을 해주는 것입니다.

$ openssl ca -out scan.crt -infiles scan.csr

라고 하면 요청된 인증서에 대한 scan.crt 라는 인증파일이 작성이 됩니다. 기본적으로 전 회에서 Poeta 말씀드린 openssl.cnf 파일에서 작성한 환경을 이용을 할 것입니다.

그리고 확인…

$ openssl verify -CAfile ca.crt scan.crt

위의 ca.crt 파일은 전회에서 생성한 openssl의 자체 인증서입니다.

이를 DER 형식으로 인증서를 변환을 합니다.

$ openssl crl2pkcs7 -nocrl -certfie scan.crt -certfile ca.crt -outform DER -out scan.der

앞에서 말씀드렸듯이 ca.crt파일은 전회에서 생성한 openssl의 자체 인증서입니다.

4. Applet을 인증하기 …………………………………

이렇게 생성된 scan.der 인증서 파일을 개발환경으로 가져와서 import를 시킵니다.

$ keytool -import -alias jamie -file scan.der

이렇게 하면 뭔가 쭉 나오다가 끝에가서

… is not trusted. Install reply anyway? [no]: yes

라고 나오는데 yes라고 하면 다음 메세지가 나와야 합니다.

Certificate reply was installed in keystore

그리고 마지막으로 에플릿에 사인을 합니다.

$ jarsigner scan.jar jamie

그러면 끝입니다.

첨부된 파일은 Cheap Oakleys 위의 에플릿을 구동하기 위한 htm 파일입니다.

5. Applet설치하기 …………………………………

이렇게 생성된 에플릿고 html파일은 일반 웹문서와 같이 웹 서버에 설치하면 됩니다.

다음에는 주의 사항을 말씀드리죠… 다 된게 아닙니다.

이제는 앞에서 준비한 것을 실행해보는 차례인데요….

처음 해보시면 인증받지 않은 기관의 것이라고 Exception 창이 뜨고
localhost에 80번 포트를 점검해보면 접근 거부가 나옵니다.

이게 이 방법을 취했을 때의 문제입니다.

과거 공인기관의 경우 승인할 지의 여부가 사용자에 의해서 판단이 되었고 설령 지금 읽어들이려는 기관이 공인기관이 아니어도 사용자만 OK하면 무조건 읽혀졌는데 JRE가 plug-in이 되면서 보안에 대한 것이 더욱 강화가 되었습니다.

그래서 지금은 물어보지도 않고 Verisign 또는 Thawte와 같은 공인 기관이 아니면 무조건 예외를 터뜨려댑니다.

그렇지만 해결책은 있지요.

사용자입장에서 보면 조금 귀찮은 것이기는 하지만 한번만 해두면 다시 건드리는 경우는 없습니다.

1. 배경설명………………………………………………….

일반적으로 JRE의 인증기관은 Windows의 경우 C:Program FilesJavaSoftJRE1.3.1_02libsecuritycacerts 파일에 binary의 oakley sunglasses sale 형태로 기록이 되어있는 것으로 추측이 됩니다.

따라서 자신의 인증서버를 사용하고자 한다면 그 인증서를 Inspiring 이 파일에 추가를 해줘야 합니다.

2. 인증서 추가 방법 …………………………………………..

앞에서 만든 OpenSSL의 ca.crt파일이 인증서버의 인증서입니다. 이게 사용자에게 배포되어야 하는 것입니다.

2.1 과거의 같은 엘리어스를 사용하는 인증서를 삭제

앞에서 설명을 드렸듯이 일단 cacerts 파일의 공인기관 목록에서 같은 이름을 사용하고 있는 기관을 삭제합니다.

$ keytool -delete -keystore “C:Program Filesjavasoftjre1.3.1_02libsecuritycacerts” -storepass changeit

여기서 -storepass를 생략하면 cacerts에 대한 password를 물어오는데 기본 값으로 “changeit” 입니다. 그리고 -keystore 를 생략하면 아마도 기본적으로 자신의 기본 디렉토리에 있는 .keystore 로 작업을 합니다. 그런데 이 것은 원하는 바가 아니죠. 반드시 cacerts파일을 상대로 작업을 해야합니다.

그리고 나서 배포된 인증서 (ca.crt) 파일을 import 합니다.

$ keytool -import -file ca.crt -keystore “C:Program Filesjavasoftjre1.3.1_02libsecuritycacerts” -storepass changeit

이렇게함으로써 생성된 인증서는 cacerts로 공증기관으로서 입력이 됩니다.
그럼 다음부터는 인증되지 않은 기관이라고 무조건 jordan retro 11 Exception 터뜨리는 상황은 없겠죠.

제가 이렇게 길게 패스워드까지 포함하며 한 행으로 ray ban sunglasses 명령을 다 때려넣으려는 이유는 만일 저와 같은 목적으로 signed applet을 운영하고자 하시는 분이 계시면 간단하게 batch파일로 만들 수 있게 함입니다.

사용자를 위한 도움말 페이지에서 간단하게 배치파일을 다운받아 실행시키게 하면 쉽게 사용자의 공인 인증기관 목록을 업데이트할 수 있습니다.

2.2 최후 테스트

그럼 모든 상주된 브라우져를 종료하고 다시 시작해보십시요.
그럼 인증서를 어떤 형태로 허가할 것인지 물어봅니다.

“Grant this Session”, “Deny”, “Grant Always”, “View Certificate”

이 중에서 맘에 드는 것을 고르면 됩니다.
이 다이얼로그가 나와야 정상적으로 공인기관으로 등록되었다는 것입니다.

3. 끝으로 …………………………………………………..

위의 것을 IE, NS에서도 해봤는데 정상적으로 잘 되었습니다. 한마디로 호환성 걱정을 안해도 된다는 것이죠.

제가 몇주간 고생을 한 것인데 다른 분들은 그런 시간낭비를 하지 않았으면 하는 바램에서 몇자 끄적여 봤습니다.

많은 도움이 되었기를 바라며 얕은지식에 얼마나 많은 도움이 될지는 모르지만 메일 주시면 또 공부해서 답드리겠습니다.

김일형.
닫기.. | _M#]

좋은 정보에 감사^^

[Java] 날짜 형식 유효성 검사 방법 (date, validity)

Question : String 형태로 날짜값을 입력 cheap MLB Jerseys 받아서 이 값이 날짜 형식에 맞는지 ray ban sunglasses 아닌지를 검사하고 싶다.

<span style="color:#202020;background-color:#FFDAED;padding:4 5 1 oakley sunglasses sale 3″>Answer : String을 Date값으로 파싱하면서 변환을 세밀하게 설정하여 cheap jerseys 형식이 틀릴경우 Exception 처리를 한다.

public boolean checkDate(String str)
{
boolean dateValidity = true;

SimpleDateFormat df = new SimpleDateFormat(“yyyyMMddHHmmss”,Locale.KOREA); //20041102101244<br cheap jordan shoes />
df.setLenient(false); // false 로 WoW-кружка 설정해야 엄밀한 해석을 함.

try {
NFL Jerseys China Date dt = df.parse(str);
Cheap Jordan Shoes }
catch(ParseException pe){
<a href="http://www.cheapoakley2012.com/" cheap nfl jerseys target=”_blank”>oakley sunglasses outlet cheap nfl jerseys dateValidity = false;<br Hacked />
}catch(IllegalArgumentException ae){
dateValidity = false;
}

return dateValidity;
}

– 출처 : 김상욱의 개발자Side ( http://www.50001.com )