데스크톱 AIR 설치 파일 패키지화

모든 AIR 응용 프로그램은 최소한 응용 프로그램 설명자 파일 및 기본 SWF 또는 HTML 파일이 있어야 합니다. 응용 프로그램에 설치할 다른 에셋들도 AIR 파일로 패키지화해야 합니다.

이 문서에서는 SDK에 포함된 명령줄 도구를 사용하여 AIR 응용 프로그램을 패키지화하는 내용에 대해 설명합니다. Adobe 제작 도구 중 하나를 사용하여 응용 프로그램을 패키지화하는 방법에 대한 자세한 내용은 다음을 참조하십시오.

모든 AIR 설치 프로그램 파일은 디지털 인증서를 사용하여 서명해야 합니다. AIR 설치 프로그램은 서명을 사용하여 사용자가 응용 프로그램 파일에 서명한 이후 해당 파일이 변경되지 않았는지 확인합니다. 인증 기관의 코드 서명 인증서를 사용하거나 자체 서명된 인증서를 사용할 수 있습니다.

신뢰할 수 있는 인증 기관에서 발행된 인증서를 사용할 경우에는 응용 프로그램 사용자에게 제작자로서 자신의 ID에 대한 약간의 보증을 제공할 수 있습니다. 설치 대화 상자에는 자신의 ID가 인증 기관에 의해 확인되었다는 메시지가 표시됩니다.

신뢰할 수 있는 인증서로 서명된 응용 프로그램의 설치 확인 대화 상자

자체 서명된 인증서를 사용할 경우에는 사용자가 자신의 ID를 서명자로서 확인할 수 없습니다. 자체 서명된 인증서는 또한 패키지가 수정되지 않았음에 대한 보증도 약합니다. 사용자가 응용 프로그램을 받아 보기 전에 올바른 설치 파일이 위조된 파일로 대체될 수 있기 때문입니다. 설치 대화 상자에는 제작자의 ID를 확인할 수 없다는 메시지가 표시됩니다. 사용자는 응용 프로그램을 설치할 때 큰 보안 위험을 감수합니다.

전체 화면으로 그래픽 보기
자체 서명 인증서로 서명된 응용 프로그램의 설치 확인 대화 상자

ADT -package 명령을 사용하여 한 단계로 AIR 파일을 패키지 및 서명할 수 있습니다. -prepare 명령을 사용하여 서명되지 않은 중간 패키지를 만들고 별도의 단계에서 -sign 명령을 사용하여 중간 패키지에 서명할 수 있습니다.

참고: Java 버전 1.5 이상의 경우 PKCS12 인증서 파일을 보호하는 데 사용되는 암호에 상위 ASCII 문자를 사용할 수 없습니다. 코드 서명 인증서 파일을 만들거나 내보낼 경우에는 암호로 일반 ASCII 문자만 사용하십시오.

설치 패키지에 서명할 때 ADT는 자동으로 타임스탬프 기관 서버에 연결하여 시간을 확인합니다. 타임스탬프 정보는 AIR 파일에 포함됩니다. 확인된 타임스탬프가 들어 있는 AIR 파일은 나중에 언제든지 설치할 수 있습니다. ADT가 타임스탬프 서버에 연결할 수 없을 경우 패키지가 취소됩니다. 타임스탬프 옵션은 재정의가 가능하지만 타임스탬프가 없으면 설치 파일 서명에 사용된 인증서가 만료된 후에 AIR 응용 프로그램을 더 이상 설치할 수 없습니다.

기존 AIR 응용 프로그램을 업데이트하는 패키지를 만드는 중인 경우 원래 응용 프로그램과 동일한 인증서로 패키지를 서명해야 합니다. 원래 인증서가 갱신되었거나, 만료된 후 180일이 지나지 않았거나, 새 인증서로 바꾸려는 경우 마이그레이션 서명을 적용할 수 있습니다. 마이그레이션 서명은 응용 프로그램 AIR 파일을 새 인증서 및 이전 인증서 모두로 서명합니다. ADT migrate 명령 에 설명된 대로 -migrate 명령을 사용하여 마이그레이션 서명을 적용합니다.

중요: 원래 인증서가 만료된 후 마이그레이션 서명을 적용할 수 있는 유예 기간은 정확히 180일입니다. 마이그레이션 서명을 사용하지 않으면 기존 사용자가 새 버전을 설치하기 전에 기존 응용 프로그램을 제거해야 합니다. 유예 기간은 응용 프로그램 설명자 네임스페이스에서 AIR 버전 1.5.3 이상이 지정된 응용 프로그램에만 적용됩니다. 이전 AIR 런타임 버전을 대상으로 할 경우에는 유예 기간이 없습니다.

AIR 1.1 이전에는 마이그레이션 서명이 지원되지 않습니다. 마이그레이션 서명을 적용하려면 SDK 버전 1.1 이상으로 응용 프로그램을 패키지화해야 합니다.

AIR 파일을 사용하여 배포된 응용 프로그램은 데스크톱 프로파일 응용 프로그램으로 알려져 있습니다. 응용 프로그램 설명자 파일이 데스크톱 프로파일을 지원하지 않을 경우 ADT를 사용하여 AIR 응용 프로그램에 대한 기본 설치 프로그램을 패키지화할 수 없습니다. 응용 프로그램 설명자 파일에서 supportedProfiles 요소를 사용하여 프로파일을 제한할 수 있습니다. 장치 프로파일 supportedProfiles 를 참조하십시오.

참고: 응용 프로그램 설명자 파일의 설정은 AIR 응용 프로그램의 ID 및 기본 설치 경로를 결정합니다. AIR 응용 프로그램 설명자 파일 을 참조하십시오.

제작자 ID

AIR 1.5.3부터는 제작자 ID가 더 이상 사용되지 않습니다. 원래 AIR 1.5.3 이상 버전에서 제작된 새 응용 프로그램에는 제작자 ID가 필요하지 않으며 이를 지정하지 않아야 합니다.

이전 버전의 AIR를 사용하여 제작된 응용 프로그램을 업데이트할 경우에는 응용 프로그램 설명자 파일에 원래 제작자 ID를 지정해야 합니다. 그렇지 않으면 응용 프로그램의 설치된 버전과 업데이트 버전이 다른 응용 프로그램으로 취급됩니다. 다른 ID를 사용하거나 publisherID 태그를 생략할 경우 사용자가 새 버전을 설치하기 전에 이전 버전을 제거해야 합니다.

원래 제작자 ID를 확인하려면 원래 응용 프로그램이 설치된 META-INF/AIR 하위 디렉토리에서 publisherid 파일을 찾아보십시오. 이 파일 내에 들어 있는 문자열이 제작자 ID입니다. 제작자 ID를 수동으로 지정하려면 응용 프로그램 설명자가 응용 프로그램 설명자 파일의 네임스페이스 선언에서 AIR 1.5.3 런타임 이상을 지정해야 합니다.

AIR 1.5.3 이전에 제작되었거나 AIR 1.5.3 SDK로 제작되었지만 응용 프로그램 설명자 네임스페이스에서 이전 AIR 버전이 지정된 응용 프로그램의 경우 제작자 ID가 서명 인증서를 기준으로 계산됩니다. 이 ID는 응용 프로그램 ID와 함께 응용 프로그램의 ID를 식별하는 데 사용됩니다. 제작자 ID(있을 경우)는 다음과 같은 용도로 사용됩니다.

  • AIR 파일이 설치할 새 응용 프로그램보다 최신 파일인지 확인

  • 암호화된 로컬 저장소를 위한 암호화 키의 일부

  • 응용 프로그램 저장소 디렉토리 경로의 일부

  • 로컬 연결을 위한 연결 문자열의 일부

  • AIR 인 브라우저(in-browser) API를 통해 응용 프로그램을 호출하는 데 사용되는 ID 문자열의 일부

  • OSID의 일부(사용자 정의 설치/제거 프로그램을 만들 때 사용됨)

AIR 1.5.3 이전에는 신규 또는 갱신된 인증서를 사용하는 마이그레이션 서명으로 응용 프로그램 업데이트를 서명할 경우 응용 프로그램의 제작자 ID가 변경될 수 있었습니다. 제작자 ID가 변경되면 해당 ID를 사용하는 모든 AIR 기능의 비헤이비어도 변경됩니다. 예를 들어 기존 암호화된 로컬 저장소에 포함된 데이터에 더 이상 액세스할 수 없으며, 응용 프로그램에 대한 로컬 연결을 만드는 모든 Flash 또는 AIR 인스턴스는 연결 문자열에 새로운 ID를 사용해야 합니다.

AIR 1.5.3 또는 그 이상에서는 제작자 ID가 서명 인증서를 기반으로 하지 않으며 응용 프로그램 설명자에 publisherID 태그가 포함된 경우에만 지정됩니다. 업데이트 AIR 패키지에 대해 지정된 제작자 ID가 현재 제작자 ID와 일치하지 않을 경우 응용 프로그램을 업데이트할 수 없습니다.

ADT를 사용하여 패키지화

AIR ADT 명령줄 도구를 사용하여 AIR 응용 프로그램을 패키지화할 수 있습니다. 패키지화하기 전에 모든 ActionScript, MXML 및 확장 코드를 컴파일해야 합니다. 코드 서명 인증서도 있어야 합니다.

ADT 명령 및 옵션에 대한 자세한 참조는 ADT(AIR Developer Tool) 를 참조하십시오.

AIR 패키지 만들기

AIR 패키지를 만들려면 릴리스 빌드에 대해 대상 유형을 air 로 설정하는 ADT package 명령을 사용하십시오.

adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons

이 예제에서는 ADT 도구의 경로가 명령줄 셸의 경로 정의에 있다고 가정합니다. 도움말은 path 환경 변수 를 참조하십시오.

응용 프로그램 파일이 들어 있는 디렉토리에서 명령을 실행해야 합니다. 이 예제의 응용 프로그램 파일은 myApp-app.xml(응용 프로그램 설명자 파일), myApp.swf 및 icons 디렉토리입니다.

표시된 것과 같은 명령을 실행하면 ADT에서 키 저장소 암호를 묻습니다. 입력하는 암호 문자가 항상 표시되는 것은 아닙니다. 암호 문자를 표시하려면 입력을 마치고 Enter 키를 누르면 됩니다.

AIRI 파일로부터 AIR 패키지 만들기

AIRI 파일을 만들고 서명하여 설치 가능한 AIR 패키지를 만들 수 있습니다.

adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air