AIR 파일에 디지털 서명

공인된 CA(인증 기관)에서 발급한 인증서로 AIR 설치 파일에 디지털 서명하면 설치하는 응용 프로그램이 실수로 또는 악의적으로 변경되지 않았음이 확실히 보장되며 사용자가 서명자(제작자)의 신원을 확인할 수 있습니다. AIR는 AIR 응용 프로그램이 신뢰할 수 있는 인증서 또는 설치 컴퓨터에서 신뢰할 수 있는 인증서에 체인으로 연결된 인증서로 서명된 경우 설치하는 동안 제작자 이름을 표시합니다.

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

자체 서명 인증서(또는 신뢰할 수 있는 인증서에 체인으로 연결되지 않은 인증서)로 응용 프로그램을 서명할 경우 사용자가 응용 프로그램 설치 시 더 큰 보안 위험을 감수해야 합니다. 설치 대화 상자에는 이러한 추가 위험에 대한 설명이 표시됩니다.

전체 화면으로 그래픽 보기
자체 서명 인증서로 서명된 응용 프로그램의 설치 확인 대화 상자
중요: 악의적인 사용자가 제작자의 서명 키 저장소 파일 또는 개인 키를 획득하게 될 경우 ID를 도용하여 AIR 파일을 위조할 수 있습니다.

코드 서명 인증서

코드 서명 인증서 사용과 관련된 보안 보증, 제한 사항 및 법적 규제는 인증 발급 기관에서 발행하는 CPS(Certificate Practice Statements) 및 구독자 계약서에 약술되어 있습니다. 현재 AIR 코드 서명 인증서를 발급하는 인증 기관의 계약서에 대한 자세한 내용은 다음을 참조하십시오.

ChosenSecurity(http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm)

ChosenSecurity CPS(http://www.chosensecurity.com/resource_center/repository.htm)

GlobalSign(http://www.globalsign.com/code-signing/index.html)

GlobalSign CPS(http://www.globalsign.com/repository/index.htm)

Thawte CPS(http://www.thawte.com/cps/index.html)

VeriSign CPS(http://www.verisign.com/repository/CPS/)

VeriSign Subscriber's Agreement(https://www.verisign.com/repository/subscriber/SUBAGR.html)

AIR 코드 서명

AIR 파일에 서명하면 디지털 서명이 설치 파일에 포함됩니다. 서명에는 AIR 파일이 서명된 이후 변경되지 않았음을 확인하는 데 사용되는 패키지의 다이제스트와 제작자 ID를 확인하는 데 사용되는 서명 인증서에 대한 정보가 포함됩니다.

AIR는 운영 체제의 인증서 저장소를 통해 지원되는 PKI(공개 키 인프라)를 사용하여 인증서를 신뢰할 수 있는지 여부를 증명합니다. 제작자 정보를 확인하려면 AIR 응용 프로그램이 설치되어 있는 컴퓨터가 AIR 응용 프로그램에 서명하는 데 사용된 인증서를 직접 신뢰하거나 인증서를 신뢰할 수 있는 인증 기관에 연결하는 인증서 체인을 신뢰해야 합니다.

AIR 파일이 신뢰할 수 있는 루트 인증서(일반적으로 여기에는 자체 서명된 모든 인증서가 포함됨) 중 하나에 체인으로 연결되지 않은 인증서로 서명된 경우 제작자 정보를 확인할 수 없습니다. AIR는 AIR 패키지가 서명된 이후 변경되지 않았음을 확인할 수 있지만 해당 파일을 실제로 누가 만들고 서명했는지는 알 수 없습니다.

참고: 사용자는 자체 서명된 인증서를 신뢰하도록 선택할 수 있으며 이 경우 인증서로 서명된 AIR 응용 프로그램에서 인증서의 공용 이름 필드 값이 제작자 이름으로 표시됩니다. AIR에는 사용자가 인증서를 신뢰할 수 있는 것으로 지정할 수 있는 방법이 없습니다. 개인 키가 포함되지 않은 인증서를 사용자에게 개별적으로 제공해야 하며 사용자는 운영 체제에서 제공하는 메커니즘 중 하나나 적절한 도구를 사용하여 인증서를 시스템 인증서 저장소의 적절한 위치로 가져와야 합니다.

AIR 제작자 ID

중요: AIR 1.5.3부터는 제작자 ID가 더 이상 사용되지 않으며 더 이상 코드 서명 인증서를 기반으로 계산되지 않습니다. 새로운 응용 프로그램에서는 제작자 ID를 사용할 필요가 없으며 사용해서도 안 됩니다. 기존 응용 프로그램을 업데이트하는 경우 응용 프로그램 설명자 파일에서 원래 제작자 ID를 지정해야 합니다.

AIR 1.5.3 이전에는 AIR 응용 프로그램 설치 프로그램이 AIR 파일 설치 중에 제작자 ID를 생성했습니다. 이 ID는 AIR 파일에 서명하는 데 사용된 인증서에 고유한 ID였습니다. 여러 AIR 응용 프로그램에 대해 동일한 인증서를 다시 사용하는 경우 해당 응용 프로그램은 모두 동일한 제작자 ID를 받았습니다. 다른 인증서로 응용 프로그램 업데이트에 서명하거나 원래 인증서의 인스턴스가 갱신되는 경우에도 제작자 ID가 변경되었습니다.

AIR 1.5.3 이상에서는 AIR에서 제작자 ID를 할당하지 않습니다. AIR 1.5.3을 사용하여 제작된 응용 프로그램은 응용 프로그램 설명자에서 제작자 ID 문자열을 지정할 수 있습니다. 원래 1.5.3 이전 버전의 AIR에 대해 제작된 응용 프로그램의 업데이트를 제작하는 경우에만 제작자 ID를 지정해야 합니다. 응용 프로그램 설명자에서 원래 ID를 지정하지 않으면 새로운 AIR 패키지가 기존 응용 프로그램의 업데이트로 간주되지 않습니다.

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

제작자 ID(있을 경우)는 다음과 같은 용도로 사용됩니다.

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

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

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

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

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

제작자 ID가 변경되면 해당 ID를 사용하는 모든 AIR 기능의 비헤이비어도 변경됩니다. 예를 들어 기존 암호화된 로컬 저장소에 포함된 데이터에 더 이상 액세스할 수 없으며, 응용 프로그램에 대한 로컬 연결을 만드는 모든 Flash 또는 AIR 인스턴스는 연결 문자열에 새로운 ID를 사용해야 합니다. AIR 1.5.3 이상에서는 설치된 응용 프로그램의 제작자 ID를 변경할 수 없습니다. AIR 패키지를 제작할 때 다른 제작자 ID를 사용하면 설치 프로그램이 새 패키지를 업데이트가 아니라 다른 응용 프로그램으로 간주합니다.

인증서 형식

AIR 서명 도구는 JCA(Java Cryptography Architecture)를 통해 액세스할 수 있는 모든 키 저장소를 허용합니다. 여기에는 PKCS12 형식 파일(일반적으로 .pfx 또는 .p12 파일 확장명 사용)과 같은 파일 기반 키 저장소, Java .keystore 파일, PKCS11 하드웨어 키 저장소 및 시스템 키 저장소가 포함됩니다. ADT에서 액세스할 수 있는 키 저장소 형식은 ADT를 실행하는 데 사용된 Java 런타임의 버전과 구성에 따라 달라집니다. PKCS11 하드웨어 토큰과 같은 일부 키 저장소 유형에 액세스하려면 추가 소프트웨어 드라이버와 JCA 플러그인을 설치 및 구성해야 할 수 있습니다.

AIR 파일에 서명하기 위해 대부분의 기존 코드 서명 인증서를 사용하거나 AIR 응용 프로그램에 서명하기 위해 명시적으로 발급된 새 인증서를 얻을 수 있습니다. 예를 들어 다음과 같은 유형의 VeriSign, Thawte, GlobalSign 또는 ChosenSecurity 인증서 중 하나를 사용할 수 있습니다.

  • ChosenSecurity:

    • TC Publisher ID for Adobe AIR

  • GlobalSign

    • ObjectSign Code Signing Certificate

  • Thawte:

    • AIR Developer Certificate

    • Apple Developer Certificate

    • JavaSoft Developer Certificate

    • Microsoft Authenticode Certificate

  • VeriSign:

    • Adobe AIR Digital ID

    • Microsoft Authenticode Digital ID

    • Sun Java Signing Digital ID

참고: 코드 서명용으로 인증서를 만들어야 합니다. SSL 또는 기타 유형의 인증서를 AIR 파일에 서명하는 데 사용할 수 없습니다.

타임스탬프

AIR 파일에 서명하면 패키지 도구가 독립적으로 확인 가능한 서명 날짜와 시간을 가져오기 위해 타임스탬프 기관의 서버에 쿼리를 보냅니다. 가져온 타임스탬프는 AIR 파일에 포함됩니다. 서명 인증서가 서명 당시 유효하기만 하면 인증서가 만료된 후에도 AIR 파일을 설치할 수 있습니다. 반대로 타임스탬프를 가져오지 못하면 인증서가 만료되거나 해지될 경우 AIR 파일을 더 이상 설치할 수 없게 됩니다.

기본적으로 AIR 패키지 도구는 타임스탬프를 가져옵니다. 하지만 타임스탬프 서비스를 사용할 수 없을 때 응용 프로그램을 패키지화할 수 있도록 타임스탬프 기능을 해제할 수 있습니다. 공개적으로 배포되는 모든 AIR 파일에는 타임스탬프가 포함되는 것이 좋습니다.

AIR 패키지 도구에서 사용되는 기본 타임스탬프 기관은 Geotrust입니다.

인증서 얻기

인증서를 얻으려면 일반적으로 인증 기관 웹 사이트를 방문하여 해당 회사의 구매 프로세스를 완료해야 합니다. AIR 도구에 필요한 키 저장소 파일을 생성하는 데 사용되는 도구는 구매한 인증서의 유형, 수신 컴퓨터에서 인증서가 저장되는 방법 및 인증서를 얻는 데 사용한 브라우저(일부 경우)에 따라 달라집니다. 예를 들어 Thawte에서 Adobe Developer Certificate를 얻어 내보내려면 Mozilla Firefox를 사용해야 합니다. 그러면 Firefox 사용자 인터페이스에서 직접 인증서를 .p12 또는 .pfx 파일로 내보낼 수 있습니다.

참고: Java 버전 1.5 이상의 경우 PKCS12 인증서 파일을 보호하는 데 사용되는 암호에 상위 ASCII 문자를 사용할 수 없습니다. Java는 AIR 개발 도구에서 서명된 AIR 패키지를 만드는 데 사용됩니다. 인증서를 .p12 또는 .pfx 파일로 내보낼 경우 암호에 일반 ASCII 문자만 사용하십시오.

AIR 설치 파일을 패키지화하는 데 사용된 ADT(Air Development Tool)를 사용하여 자체 서명된 인증서를 생성할 수 있습니다. 일부 타사 도구도 사용할 수 있습니다.

자체 서명된 인증서를 생성하는 방법 및 AIR 파일 서명 방법에 대한 자세한 내용은 ADT(AIR Developer Tool)를 참조하십시오. Flash Builder, Dreamweaver 및 Flash용 AIR 업데이트를 사용하여 AIR 파일을 내보내고 서명할 수도 있습니다.

다음 예에서는 Thawte 인증 기관으로부터 AIR Developer Certificate를 얻는 방법과 ADT에 사용하기 위해 해당 인증서를 준비하는 방법을 설명합니다.

예제: Thawte로부터 AIR Developer Certificate 얻기

참고: 이 예는 사용할 코드 서명 인증서를 얻고 준비하는 많은 방법 중 하나를 보여 줄 뿐입니다. 인증 기관별로 자체적인 정책과 절차가 있습니다.

Thawte 웹 사이트에서 AIR Developer Certificate를 구매하려면 Mozilla Firefox 브라우저를 사용해야 합니다. 인증서의 개인 키는 브라우저의 키 저장소에 저장됩니다. Firefox 키 저장소가 마스터 암호로 보호되는지 그리고 컴퓨터 자체가 물리적으로 안전한지 확인하십시오. 구매 프로세스가 완료되면 브라우저 키 저장소에서 인증서와 개인 키를 내보내고 제거할 수 있습니다.

인증서 등록 프로세스의 일부로 개인/공개 키 쌍이 생성됩니다. 개인 키는 Firefox 키 저장소 내에 자동으로 저장됩니다. Thawte 웹 사이트에서 인증서를 요청하거나 검색할 때 항상 같은 컴퓨터와 브라우저를 사용해야 합니다.

  1. Thawte 웹 사이트를 방문하여 Product 페이지의 Code Signing Certificates로 이동합니다.

  2. Code Signing Certificates 목록에서 [Adobe AIR Developer Certificate]를 선택합니다.

  3. 세 단계로 구성된 등록 프로세스를 완료합니다. 조직 및 연락처 정보를 제공해야 합니다. 그러면 Thawte에서 ID 확인 프로세스를 수행하고 추가 정보를 요청할 수 있습니다. 확인이 완료되면 Thawte에서 인증서를 검색하는 방법에 대한 지침을 전자 메일로 보냅니다.

    참고: 필요한 설명서 유형에 대한 자세한 내용은 https://www.thawte.com/ssl-digital-certificates/free-guides-whitepapers/pdf/enroll_codesign_eng.pdf를 참조하십시오.
  4. Thawte 사이트에서 발급된 인증서를 검색합니다. 인증서는 자동으로 Firefox 키 저장소에 저장됩니다.

  5. 다음 단계를 사용하여 Firefox 키 저장소에서 개인 키 및 인증서가 포함된 키 저장소 파일을 내보냅니다.

    참고: Firefox에서 개인 키/인증서를 내보낼 때 해당 파일은 ADT, Flex, Flash 및 Dreamweaver에서 사용할 수 있는 .p12(pfx) 형식으로 내보내집니다.
    1. [Firefox 인증서 관리자] 대화 상자를 엽니다.

    2. Windows의 경우: [도구] -> [옵션] -> [고급] -> [암호화] -> [인증서 보기]를 엽니다.

    3. Mac OS의 경우: [Firefox] -> [환경 설정] -> [고급] -> [암호화] -> [인증서 보기]를 엽니다.

    4. Linux의 경우: [편집] -> [환경 설정] -> [고급] -> [암호화] -> [인증서 보기]를 엽니다.

    5. 인증서 목록에서 [AIR Code Signing Certificate]를 선택하고 [백업] 버튼을 클릭합니다.

    6. 파일 이름과 키 저장소 파일을 내보낼 위치를 입력하고 저장을 클릭합니다.

    7. Firefox 마스터 암호를 사용 중인 경우 파일을 내보내려면 소프트웨어 보안 장치의 암호를 입력하라는 메시지가 표시됩니다. 이 암호는 Firefox에서만 사용됩니다.

    8. 인증서 백업 암호 선택 대화 상자에서 키 저장소 파일의 암호를 만듭니다.

      중요: 이 암호는 키 저장소 파일을 보호하며 AIR 응용 프로그램 서명에 파일을 사용할 때 필요합니다. 보안 암호를 선택해야 합니다.
    9. [확인]을 클릭합니다. 백업 암호가 만들어졌다는 메시지가 표시됩니다. 개인 키와 인증서가 포함된 키 저장소 파일은 .p12 파일 확장명(PKCS12 형식)으로 저장됩니다.

  6. 내보낸 키 저장소 파일을 ADT, Flash Builder, Flash Professional 또는 Dreamweaver에서 사용합니다. AIR 응용 프로그램에 서명할 때마다 파일에 대해 생성된 암호가 필요합니다.

중요: 개인 키와 인증서는 계속 Firefox 키 저장소 내에 저장되어 있습니다. 이로 인해 인증서 파일의 추가 복사본을 내보낼 수 있지만 인증서와 개인 키의 보안을 유지하기 위해 보호해야 하는 다른 액세스 지점도 노출됩니다.

인증서 변경

일부 경우, AIR 응용 프로그램의 업데이트에 서명하는 데 사용하는 인증서를 변경해야 합니다. 이러한 경우는 다음과 같습니다.

  • 원래 서명 인증서를 갱신하는 경우

  • 자체 서명된 인증서에서 인증 기관에서 발급한 인증서로 업그레이드하는 경우

  • 만료 예정인 자체 서명된 인증서에서 다른 인증서로 변경하는 경우

  • CI(Corporate Identity)가 변경되는 등의 이유로 인해 한 상업용 인증서에서 다른 상업용 인증서로 변경하는 경우

AIR에서 AIR 파일을 업데이트로 인식하도록 하려면 원래 AIR 파일과 업데이트 AIR 파일에 동일한 인증서로 서명하거나 업데이트에 인증서 마이그레이션 서명을 적용해야 합니다. 마이그레이션 서명은 원래 인증서를 사용하여 업데이트 AIR 패키지에 적용되는 2차 서명입니다. 마이그레이션 서명은 원래 인증서를 사용하여 서명자가 응용 프로그램의 원래 제작자임을 입증합니다.

마이그레이션 서명이 적용된 AIR 파일이 설치된 후에는 새 인증서가 기본 인증서가 됩니다. 이후 업데이트에는 마이그레이션 서명이 필요하지 않습니다. 그러나 업데이트를 건너뛰는 사용자도 수용할 수 있도록 가능한 한 오랫동안 마이그레이션 서명을 적용해야 합니다.

중요: 인증서를 변경하고, 원래 인증서가 만료되기 전에 원래 인증서를 사용하여 업데이트에 마이그레이션 서명을 적용해야 합니다. 그렇지 않으면 사용자가 새 버전을 설치하기 전에 기존 버전의 응용 프로그램을 제거해야 합니다. AIR 1.5.3 이상에서는 만료 후 365일의 유예 기간 내에 만료된 인증서를 사용하여 마이그레이션 서명을 적용할 수 있습니다. 하지만 만료된 인증서를 사용하여 기본 응용 프로그램 서명을 적용할 수는 없습니다.

인증서를 변경하려면

  1. 응용 프로그램의 업데이트를 만듭니다.

  2. 인증서를 사용하여 업데이트 AIR 파일을 패키지화하고 서명합니다.

  3. 원래 인증서(ADT -migrate 명령 사용)를 사용하여 다시 AIR 파일에 서명합니다.

다른 측면에서 보면 마이그레이션 서명이 있는 AIR 파일은 정상 AIR 파일입니다. 원래 버전이 없는 시스템에 응용 프로그램을 설치한 경우 AIR는 일반적인 방식으로 새 버전을 설치합니다.

참고: AIR 1.5.3 이전에는 갱신된 인증서로 AIR 응용 프로그램에 서명할 때 마이그레이션 서명이 필요하지 않은 경우도 있었습니다. AIR 1.5.3 버전부터는 갱신된 인증서를 사용할 경우 항상 마이그레이션 서명이 필요합니다.

마이그레이션 서명을 적용하려면 업데이트된 버전의 AIR 응용 프로그램에 서명에 설명된 대로 ADT migrate 명령을 사용합니다.

참고: 기본 확장이 포함된 AIR 데스크톱 응용 프로그램은 .air 파일이 아닌 기본 설치 프로그램으로 패키지화되기 때문에 이 AIR 데스크톱 응용 프로그램에는 ADT migrate 명령을 사용할 수 없습니다. 기본 확장이 포함된 AIR 데스크톱 응용 프로그램의 인증서를 변경하려면 ADT package 명령을 -migrate 플래그와 함께 사용하여 응용 프로그램을 패키지화합니다.

응용 프로그램 ID 변경

AIR 1.5.3 이전에는 마이그레이션 서명으로 서명된 업데이트가 설치될 경우 AIR 응용 프로그램의 ID가 변경되었습니다. 응용 프로그램의 ID를 변경하면 다음과 같은 몇 가지 부정적인 영향을 줍니다.

  • 새 응용 프로그램 버전이 암호화된 기존 로컬 저장소의 데이터에 액세스할 수 없습니다.

  • 응용 프로그램 저장소 디렉토리의 위치가 변경됩니다. 이전 위치의 데이터가 새 디렉토리로 복사되지 않습니다. 하지만 새 응용 프로그램은 이전 제작자 ID를 기반으로 원래 디렉토리를 찾을 수 있습니다.

  • 응용 프로그램이 이전 제작자 ID를 사용하여 로컬 연결을 더 이상 열 수 없습니다.

  • 웹 페이지에서 응용 프로그램에 액세스하는 데 사용되는 ID 문자열이 변경됩니다.

  • 응용 프로그램의 OSID가 변경됩니다. OSID는 사용자 정의 설치/제거 프로그램을 작성할 때 사용됩니다.

AIR 1.5.3 이상에서 업데이트를 제작하는 경우에는 응용 프로그램 ID를 변경할 수 없습니다. 업데이트 AIR 파일의 응용 프로그램 설명자에 원래 응용 프로그램 및 제작자 ID가 지정되어야 합니다. 그렇지 않으면 새 패키지가 업데이트로 인식되지 않습니다.

참고: AIR 1.5.3 이상을 사용하여 새 AIR 응용 프로그램을 제작하는 경우에는 제작자 ID를 지정하면 안 됩니다.

용어

이 단원에서는 공개 배포를 위해 응용 프로그램에 서명하는 방법을 결정할 때 이해해야 할 핵심 용어 중 몇 가지에 대한 용어 사전을 제공합니다.

용어

설명

CA(인증 기관)

신뢰할 수 있는 타사 역할을 하며 궁극적으로 공개 키 소유자의 ID를 인증하는 공개 키 인프라 네트워크의 주체입니다. CA는 일반적으로 자체 개인 키로 서명된 디지털 인증서를 발급하여 인증서 소유자의 ID를 확인했음을 증명합니다.

CPS(Certificate Practice Statement)

인증서를 발급하고 확인하는 인증 기관의 사용 약관과 정책을 설명합니다. CPS는 CA와 해당 구독자 및 관련 당사자 간 계약의 일부입니다. 또한 ID 확인에 대한 정책과 해당 기관에서 제공하는 인증서의 보증 수준에 대해 간략하게 설명합니다.

CRL(인증서 해지 목록)

이미 해지되었으므로 더 이상 신뢰할 수 없게 된 인증서 목록입니다. AIR는 AIR 응용 프로그램이 서명될 때 CRL을 확인하고 타임스탬프가 없으면 응용 프로그램을 설치할 때 다시 CRL을 확인합니다.

인증서 체인

인증서 체인은 체인의 각 인증서가 다음 인증서에 의해 서명된 인증서의 시퀀스입니다.

디지털 인증서

소유자의 ID, 소유자의 공개 키 및 인증서 자체의 ID에 대한 정보가 포함된 디지털 문서입니다. 인증 기관에서 발급한 인증서 자체는 발급 주체 CA에 속하는 인증서에 의해 서명됩니다.

디지털 서명

공개-개인 키 쌍의 절반인 공개 키로만 해독할 수 있는 암호화된 메시지 또는 다이제스트입니다. PKI에서 디지털 서명에는 결국은 인증 기관에서 추적할 수 있는 하나 이상의 디지털 인증서가 포함됩니다. 메시지 또는 컴퓨터 파일에 서명한 후 변경되지 않았음(사용된 암호화 알고리즘에서 제공하는 보증 제한 내에서)을 검증하는 데 사용될 수 있습니다. 이 경우 발급 주체 인증 기관, 서명자의 ID를 신뢰한다고 가정합니다.

키 저장소

디지털 인증과 경우에 따라서는 관련 개인 키를 포함하는 데이터베이스입니다.

JCA(Java Cryptography Architecture)

키 저장소를 관리하고 액세스하는 확장 가능한 아키텍처입니다. 자세한 내용은 Java Cryptography Architecture Reference Guide를 참조하십시오.

PKCS #11

RSA Laboratories의 암호화 토큰 인터페이스 표준입니다. 하드웨어 토큰 기반 키 저장소입니다.

PKCS #12

RSA Laboratories의 개인 정보 교환 구문 표준입니다. 일반적으로 개인 키 및 연결된 디지털 인증서가 포함된 파일 기반 키 저장소입니다.

개인 키

두 부분으로 구성된 공개-개인 키 비대칭 암호화 시스템 중 절반인 개인 부분입니다. 개인 키는 비밀로 보관되어야 하며 네트워크를 통해 전송하면 안 됩니다. 디지털로 서명된 메시지는 서명자에 의해 개인 키로 암호화됩니다.

공개 키

두 부분으로 구성된 공개-개인 키 비대칭 암호화 시스템 중 절반인 공개 부분입니다. 공개 키는 공개적으로 사용할 수 있으며 개인 키로 암호화된 메시지를 해독하는 데 사용됩니다.

PKI(공개 키 인프라)

인증 기관이 공개 키 소유주의 ID에 증명하는 신뢰 시스템입니다. 네트워크의 클라이언트는 디지털 메시지 또는 파일 서명자의 ID를 확인하기 위해 신뢰할 수 있는 CA에서 발급한 디지털 인증서에 의존합니다.

타임스탬프

이벤트가 발생한 날짜 및 시간이 포함된 디지털로 서명된 데이터입니다. ADT는 AIR 패키지의 RFC 3161 호환 시간 서버에서 타임스탬프를 포함할 수 있습니다. 타임스탬프가 있는 경우 AIR는 타임스탬프를 사용하여 서명 시간의 인증서 유효성을 설정합니다. 이를 통해 AIR 응용 프로그램의 서명 인증서가 만료된 이후 해당 응용 프로그램이 설치될 수 있습니다.

타임스탬프 기관

타임스탬프를 발급하는 기관입니다. AIR가 인식할 수 있도록 타임스탬프는 RFC 3161을 따라야 하고 타임스탬프 서명은 설치 컴퓨터에서 신뢰할 수 있는 인증 기관에 연결되어야 합니다.

iOS 인증서

Apple에서 발급한 코드 서명 인증서를 사용하여 iOS 응용 프로그램을 서명합니다. Adobe AIR를 사용하여 개발한 iOS 응용 프로그램도 마찬가지입니다. 테스트 장치에 응용 프로그램을 설치하려면 Apple 개발 인증서를 사용하여 서명을 적용해야 합니다. 완성된 응용 프로그램을 배포하려면 배포 인증서를 사용하여 서명을 적용해야 합니다.

응용 프로그램에 서명하려면 ADT가 코드 서명 인증서와 관련 개인 키에 모두 액세스할 수 있어야 합니다. 인증서 파일 자체에는 개인 키가 포함되어 있지 않습니다. 인증서와 개인 키를 모두 포함하는 개인 정보 교환 파일(.p12 또는 .pfx)의 형태로 키 저장소를 만들어야 합니다. 개발자 인증서를 P12 키 저장소 파일로 변환을 참조하십시오.

인증서 서명 요청 생성

개발자 인증서를 받으려면 Apple iOS Provisioning Portal에서 제출하는 인증서 서명 요청을 생성합니다.

인증서 서명 요청 프로세스는 공개-개인 키 쌍을 생성합니다. 개인 키는 컴퓨터에 남습니다. 공개 키 및 식별 정보가 포함된 서명 요청을 Apple로 보냅니다. 이 경우 Apple이 인증 기관 역할을 합니다. Apple은 자체 World Wide Developer Relations 인증서를 사용하여 사용자의 인증서에 서명합니다.

Mac OS에서 인증서 서명 요청 생성

Mac OS에서 키체인 접근 응용 프로그램을 사용하여 코드 서명 요청을 생성할 수 있습니다. 키체인 접근 응용 프로그램은 [응용 프로그램] 디렉토리의 [유틸리티] 하위 디렉토리에 있습니다. 인증서 서명 요청을 생성하기 위한 지침은 Apple iOS Provisioning Portal에서 확인할 수 있습니다.

Windows에서 인증서 서명 요청 생성

Windows 개발자의 경우에도 Mac 컴퓨터에서 iPhone 개발자 인증서를 받는 것이 가장 쉽지만 Windows 컴퓨터에서 인증서를 받을 수도 있습니다. 먼저 OpenSSL을 사용하여 인증서 서명 요청(CSR 파일)을 만듭니다.

  1. Windows 컴퓨터에 OpenSSL을 설치합니다. http://www.openssl.org/related/binaries.html로 이동합니다.

    또한 Open SSL 다운로드 페이지에 나열된 Visual C++ 2008 재배포 가능 파일을 설치해야 할 수도 있습니다. 컴퓨터에 Visual C++를 설치할 필요는 없습니다.

  2. Windows 명령 세션을 열고 CD 명령을 사용하여 OpenSSL bin 디렉토리(예: c:\OpenSSL\bin\)로 이동합니다.

  3. 명령줄에 다음을 입력하여 개인 키를 만듭니다.

    openssl genrsa -out mykey.key 2048

    이 개인 키 파일을 저장합니다. 이 파일은 나중에 사용합니다.

    OpenSSL을 사용하는 경우 오류 메시지를 무시하지 마십시오. OpenSSL에서 오류 메시지를 생성하는 경우에도 파일을 출력할 수 있습니다. 그러나 해당 파일이 사용 가능한 상태가 아닐 수 있습니다. 오류가 표시되는 경우 구문을 확인하고 명령을 다시 실행합니다.

  4. 명령줄에 다음을 입력하여 CSR 파일을 만듭니다.

    openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest  -subj "/emailAddress=yourAddress@example.com, CN=John Doe, C=US"

    전자 메일 주소, CN(인증서 이름) 및 C(국가) 값을 적절하게 바꿉니다.

  5. iPhone 개발자 사이트에서 Apple에 CSR 파일을 업로드합니다. "iPhone 개발자 인증서 신청 및 프로비저닝 프로파일 만들기"를 참조하십시오.

개발자 인증서를 P12 키 저장소 파일로 변환

P12 키 저장소를 만들려면 Apple 개발자 인증서와 관련 개인 키를 단일 파일에 결합해야 합니다. 키 저장소 파일을 만드는 프로세스는 원래 인증서 서명 요청을 생성하는 데 사용하는 방법 그리고 개인 키가 저장된 위치에 따라 다릅니다.

Mac OS에서 iPhone 개발자 인증서를 P12 파일로 변환

Apple에서 Apple iPhone 인증서를 다운로드한 후에는 인증서를 P12 키 저장소 포맷으로 내보냅니다. Mac® OS에서 이 작업을 수행하는 방법은 다음과 같습니다.

  1. 키체인 접근 응용 프로그램(응용 프로그램/유틸리티 폴더에 있음)을 엽니다.

  2. 아직 키체인에 인증서를 추가하지 않은 경우 [파일] > [가져오기]를 선택합니다. 그런 다음 Apple에서 받은 인증서 파일(.cer 파일)로 이동합니다.

  3. [키체인 접근]에서 [키] 카테고리를 선택합니다.

  4. iPhone 개발 인증서에 연결된 개인 키를 선택합니다.

    개인 키는 iPhone 개발자별로 식별됩니다. 즉, <이름> <성> 공용 인증서가 쌍을 이루고 있습니다.

  5. iPhone 개발자 인증서를 Command 클릭하고 “iPhone 개발자: 이름...” 내보내기를 선택합니다.

  6. 개인 정보 교환(.p12) 파일 포맷으로 키 저장소를 저장합니다.

  7. 키 저장소를 사용하여 응용 프로그램에 서명하거나 이 키 저장소에 있는 키 및 인증서를 다른 키 저장소로 전송할 때 사용되는 암호를 만들라는 대화 상자가 나타납니다.

Windows에서 Apple 개발자 인증서를 P12 인증서로 변환

AIR for iOS 응용 프로그램을 개발하려면 P12 인증서 파일을 사용해야 합니다. 이 인증서는 Apple로부터 받은 Apple iPhone 개발자 인증서 파일을 기반으로 생성합니다.

  1. Apple로부터 받은 개발자 인증서 파일을 PEM 인증서 파일로 변환합니다. OpenSSL bin 디렉토리에서 다음 명령줄 명령문을 실행합니다.

    openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
  2. Mac 컴퓨터의 키체인에서 가져온 개인 키를 사용하는 경우 키를 PEM 키로 변환합니다.

    openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
  3. 이제 iPhone 개발자 인증서의 PEM 버전과 키를 사용하여 유효한 P12 파일을 생성할 수 있습니다.

    openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

    Mac OS 키체인에서 가져온 키를 사용하는 경우 이전 단계에서 생성한 PEM 버전을 사용합니다. 그렇지 않으면 앞서 Windows에서 생성한 OpenSSL 키를 사용합니다.