728x90
1. 응용프로그램 인증서란?
2. 왜 필요한가?
3. 코드사인 테스트
4. 코드사인 서명방법
5. 인증서변환 방법

1. 응용프로그램 인증서란?

    최근 인터넷상에는 ActivX콘트롤이나 자바애플릿같은 응용프로그램을 다운받거나 설치하는 일이 많아지고 있다. 최종사용자(배포받을 사람의 PC) � 개발자나 회사들이 배포하고 싶은 프로그램을 받거나 받지 않거나 선택을 할수 있다.

    개발자가 유익한 프로그램을 만들수도 있고, 해킹 이나 바이러스를 만들수 도 있으므로, 최종사용자는 이것을 다운받아서 실행하기 이전에 어떠한 종류이며, 다운받아도 안전한지 알수 없다. 그러므로 배포할 이 프로그램이 절대 사용자의 PC 에 악영향을 주지 않고, 만약 악영향을 받았다면 보상을 해주겠다는 의미로 전자적 서명을 하게되며, 배포받을 최종사용자는 이것을 신뢰하고 다운로드받고 설치를 허락하게 된다.

2. 왜 필요한가?

    소프트웨어 개발사
    • 다운로드시 고객에게 보안경고창을 통해 자사의 정보를 표시할 수 있다.
    • 글로벌 인증기관인 Thawte CA로 부터 인증여부를 기재해 준다.
    • 고객이 다운로드 받을 때, 프로그램에 대한 신뢰감으로 배포에 도움을 준다.
    • 개발 프로그램의 바이너리 소스의 도용을 방지해 준다.

    고객

    • 다운로드 전 개발회사와 인증기관을 확인하여 프로그램의 정보유무 판단가능
    • 악의적인 코드를 가진 프로그램인지 여부 확인 가능 (인증기관이 신뢰)

    인증서가 설치된 경우
    아래와 같이 프로그램 개발회사가 ThawteCA 인증을 통해 이 프로그램이 사용자의 PC에 악영향을 주지않으며 만약 피해가 발생하면 적절한 보상을 해주겠다는 사실을 명시하게되면, 사용자는 안심하고 프로그램을 다운받아 이용할 수 있다.

    인증서가 설치되어 있지 않은 경우
    아래와 같이 인증이 되어있지 않은 경우에는 사용자가 프로그램의 신뢰도에 대해 의심을 할 수 밖에 없고 다운로드 여부를 망설이게 된다.

    * 만약 브라우저의 보안수준이 "높음"으로 설정되어 있거나 WindowsXP 사용자의 경우에는 글로벌 인증기관에서 인증받지 않은 프로그램은 다운로드 및 설치 자체가 불가능하다. 또한, WindowsXP에서는 인터넷을 통한 다운로드 이외에도 모든 설치프로그램에 응용프로그램 인증을 의무화 하고 있다.

    따라서 코드사인 인증을 받지 않게되면 해당 프로그램에 대한 고객들의 배포가 힘들어 져 매출에 영향을 주는 일이 생길 수 있다. 인증을 받으면 이러한 위험을 방지할 수 있을뿐더러 새로운 프로그램에 대한 사용자들의 거부감을 해소함으로써 프로그램 자체의 신뢰도를 높일수 있을 뿐만 아니라 회사의 대외 이미지 또한 제고시킬 수 있다.

3. 코드사인 테스트

  • Test를 위해 Test용 인증서를 받는 방법
  • Download: codesign.exe
    실행하면 자동으로 압축이 풀립니다

    Test 용 인증서 만들기

    앞서 LPK 파일을 만들 때 간단했든이 test용 인증서를 만드는 것은 그렇게 어려운 일이 아니다. 아래의 cabSDK 파일을 다운받아 적당한 폴더에 압축을 풀고, dos 기반 프로그램이기 때문에 ms-dos 창을 하나 연다. msdos에서 시계 ActiveX Control 의 패키지가 모여있는 폴더로 이동한다. 다음과 같이 입력한다

    makecert -n "CN=test" -sv test.pvk test.cer

    그러면 개인 공개키를 생성하는 화면이 뜬다. 여기서 원하는 암호를 넣는데, 너무 어려운 것을 넣어서 나중에 잊어 버리지 않도록 주의한다.

    입력하고나면 한번더 위와 비슷한 박스가 뜬다. 여기서는 아까 넣었던 비밀번호를 한번더 입력한다. 이러한 과정은 pvk 파일과 cer 파일을 생성하기 위해서다. 이제 dir을 해서 test.pvk 와 test.cer 파일이 생성되었는지 확인한다.

    이제는 생성시킨 cer 파일을 이용해서 spc 파일을 생성한다. dos 창에서 다음과 같이 입력한다.

    cert2spc test.cer test.spc

    Succeeded 라는 말이 나오면 spc 파일을 생성하는데 성공한 것이다. 이제 생성시킨 pvk 파일과 spc 파일을 가지고 cab 파일에 서명한다. dos 창에서 다음과 같이 입력한다.

    signcode -spc test.spc -v test.pvk -n "test" 파일명.cab

    그러면, 비밀번호를 한번더 묻게 되는데, 이전에 입력한 공개키 비밀번호를 입력한다. 중간에 Warring은 서명한 시간이 없어서 그런 것인데, Test 용 sign 은 원래 시간을 적지 않는다. 테스트 인증이 완료되었으며, DOS 창에서 다음과 같이 인증확인을 해본다.

    chktrust 파일명.cab

    이제 Test Sign 과정이 성공하였다.

4. 코드사인 서명방법

    Thawte를 통해 응용프로그램인증서를 신청하고, 정해진 절차를 거치면 server.pvk 파일과 server.spc 파일을 발급 받게 됩니다. 다운 받은 파일을 기초로, 코드사인 프로그램으로 아래와 같이 서명하시면 됩니다.

    그러나, 아래 프롬프트 방식의 서명은 까다롭고 사용하기가 불편하므로 마법사 방식의 서멍방법을 추천합니다. 처음 코드사인을 하시는 분은 아래 방법을 사용하지 마시고, 쉽게 Wizwig방식의 코드 사인을 하시면 쉽고 에러 없이 사용가능합니다.

    위의codesign 프로그램 압출을 풀면 signcode.exe을 비롯한 각종 DLL등 관련 화일이 있습니다. DOS창에서 다음과 같이 cab 파일에 서명합니다.

    그러면, 개인키 패스워드를 묻는 창이 뜹니다.


    암호를 입력하고 나면, Succeed라는 메세지가 뜹니다. 그러면, 비밀번호를 한번더 묻게 되는데, 신청 시에 입력한 공개키 비밀번호를 입력합니다. 첫번째 과정에서 나오는 Warning은 서명을 한 시각을 정할 수 없어 생기는 경고입니다. -t 옵션은 인증서를 신청한 날짜를 서명하는 것으로 Thawte Developer 인증서의 경우 Verisign의 Timestamp를 함께사용할 수 있습니다.
    정확한 사용예는 다음과 같습니다.
    signcode -spc server.spc -v server.pvk -t http://timestamp.verisign.com/scripts/timstamp.dll 파일명

    서명이 끝났으면 아래의 방법으로 확인하면, 서명 결과에 대한 내용이 뜹니다.

    chktrust 파일명




    이제 응용프로그램을 웹페이지에서 배포를 합니다

5. 응용프로그램 인증서 변환

Thawte로 부터 하나의 응용프로그램 인증서를 구입하시면 마이크로소프트의 Office 2000/VBA Macro, 넷스케이프 플러그인, 맥용 애플프로그램, 마림바채널프로그램 등과 호환해서 사용하실 수 있습니다. (단, 자바프로그램은 따로 신청해야 하며 호환되지 않음)

아래에는 Thawte에서 받은 응용프로그램 인증서를 이용하여 다른 플랫폼의 인증서와 호환하는 가장 빠르고 쉬운 방법을 설명합니다.

'참고자료 > 인증서' 카테고리의 다른 글

코드사인 인증서  (0) 2009.04.09
VBA 매크로 코드사인(codesign)  (0) 2009.04.09

+ Recent posts