Java ME MIDP의 Trusted MIDlet 인증 과정에 대한 설명
Java ME MIDP 개발과 관련하여 가장 이해하기 난해한 부분인 Trusted MIDlet을 인증하는 과정에 대해 알아보도록 하자. 백문이 불여일견 우선, 필자가 손수 그린 멋진(?) 수작업 이미지를 살펴보도록 하자. (크게 보려면 이미지를 클릭!) MIDlet을 사용자에게 배포 시 인증된 (trusted) 형태로 제공하여야 Java ME가 제공하는 주요 기능들을 활용할 수 있다. 예를 들어, 네트워크 접속을 하는 경우에 비 인증된 MIDlet의 경우 보안 경고창이 나타나게 되며 사용자의 선택에 따라 네트워크 접속이 허용되지 않을 수도 있다. 이외에도 여러 기능들이 제한되거나 하는 문제점이 있으므로 상용 프로그램의 경우 인증은 필수적이라 할 수 있다. MIDlet을 인증하는 과정을 이해하기 위해서는 4개의 주요 기술 요소를 이해하여야 한다. X.509 Path Validation Self Signed Root Certification Protection Domain 인증된 MIDlet을 배포하기 위해사용하는 JAD 파일에는 반드시 아래와 같은 2가지 속성 값이 제공되어야 한다. MIDlet-Certificate- n-m MIDlet-Jar-RSA-SHA MIDlet-Certificate- n-m 은 BASE64 형태로 인코딩된 X.509 인증서 를 값으로 가지는 속성이다. X.509는 인증서(certificate)의 형식을 정의한 표준으로 위 그림에서 보이는 바와 같이 인증서의 대상이 되는 Subject, 인증서를 발행한 기관을 나타내는 Issuer, Subject를 위한 Public Key 값, 인증서의 진위여부를 확인하기 위한 signature등의 값을 가지고 있다. 위 그림에서 보이듯이 JAD는 복수개의 인증서를 가질 수 있는데 m 값을 순차적으로 증가하여 지정할 수 있다. MIDlet-Certificate-1-1: .... MIDlet-Certificate-1-2: ... MIDlet-Certificate-1-3: ... 위와 같은 경우 3개의 ...