설치 및 업데이트할 사용자 정의 또는 써드파티 기능과 플러그인 서명

Eclipse 플러그인을 생성하여 Notes® 클라이언트 기능을 확장하는 데 사용할 수 있습니다. 기능 및 플러그인은 클라이언트 소프트웨어에 있습니다.

이 태스크 정보

설치 또는 배치를 단순화하려면 기능 및 플러그인을 서명하십시오.

경고: Notes® 설치 프로그램을 실행하려면 설치 킷의 모든 기능 및 플러그인에 서명하고 시간 소인해야 합니다.

인증 기관에서 얻은 코드 서명 인증서를 사용하여 새 기능 및 플러그인에 서명하는 방식으로 설치 및 업데이트를 준비합니다. 서명 후 설치 키트에 올바르게 넣은 기능은 키트 키 저장소에 코드 서명 인증서가 있으면 설치 가능합니다. 코드 서명 인증서가 신뢰된 파일이 아닐 경우 서명되었지만 신뢰되지 않은 내용도 설치할 수 있도록 서명 확인 정책을 수정할 수 있습니다.

주: Notes® 설치 또는 업그레이드의 일부로 설치 중인 기능 및 플러그인에 서명해야 합니다. 기존 Notes® 설치에 배치 중인 기능 및 플러그인(예: 위젯 사용)은 신뢰된 인증자가 서명해야 합니다.

보안 정책 문서의 키 및 인증서 탭에 있는 관리 신뢰 기본값 섹션에서 Domino® 정책 설정을 사용하여 관리 신뢰 기본값을 클라이언트에 적용할 수 있습니다. 이 정책 옵션을 사용하여 Notes® 설치 또는 업그레이드 중에 또는 기존 Notes® 설치에 클라이언트 플러그인 배치 중에 사용할 특정 관리 신뢰 기본값을 지정하십시오.

주: 서명된 플러그인에 시간 소인 인증서를 추가하여 플러그인 서명의 장기간 유효성을 보장할 수 있습니다. 보안 정책 설정을 사용하여 플러그인 서명 시 유효한 시간 소인 인증서의 만료일을 무시할 수 있습니다. 이 방법을 사용하면 서명된 플러그인을 사용하거나 설치하는 도중 시간 소인 인증서가 만료되더라도 사용자는 계속 작업을 수행할 수 있습니다. 보안 정책 설정 문서 작성에 대한 정보는 관련 항목을 참조하십시오.

사용자 정의 또는 써드파티 기능 및 플러그인에 서명하면 다음을 수행할 수 있습니다.

  • 사용자가 허용된 Eclipse 업데이트 사이트에서 다운로드할 서명/서명되지 않은 내용의 유형을 결정하는 정책 설정을 지정할 수 있습니다.
  • Notes® 설치 또는 업그레이드의 일부로 기능을 설치할 수 있습니다.
  • 사용자에게 배치된 기능 또는 플러그인 신뢰를 요청하지 않도록 합니다.
  • Domino® 관리 정책을 사용하거나 설치 킷의 PLUGIN_CUSTOMIZATION.INI 파일에서 환경 설정을 설정하여 설치 및 업데이트 시 서명 확인 코드에 사용된 기본 정책을 수정할 수 있습니다.
  • 관리자 설정에 따라 사용자가 인증서 세부사항을 기준으로 신뢰를 결정할 수 있습니다.

Notes® 설치에 새 사용자 정의 또는 써드파티 기능 및 플러그인을 설치하는 경우, 설치 킷에서 설치 및 업데이트 중에 서명된 기능을 신뢰할 수 있도록 키 저장소에 인증서를 추가할 수 있습니다. JDK(Java Development Kit)에 포함된 JarSigner 도구 또는 Eclipse에 있는 써드파티 도구(예: PDE(Plugin Development Environment))를 사용하여 기능 및 플러그인에 서명할 수 있습니다. 잘 알려진 다수의 인증 기관(CA)에서 인증서를 가져올 수 있습니다.

설치 및 업데이트 프로비저닝 시 기능의 신뢰 여부가 확인됩니다. Notes®가 이미 설치된 경우, 기능은 런타임 프로비저닝 중에 확인됩니다.

  • 프로비저닝 설치 및 업데이트

    Notes® 설치 프로그램은 설치 킷의 업데이트 사이트 UPDATESITE.ZIP에서 새 기능 또는 업데이트된 기능을 설치하고 초기에 프로비저닝합니다. 초기 프로비저닝 도중 신뢰는 Notes® 설치 킷의 deploy 디렉토리에 있는 Java 키 저장소 파일을 기반으로 합니다. Notes® 설치 중에 신뢰를 요청하기 위한 사용자 인터페이스가 없습니다. 모든 설치 기능은 신뢰된 서명자가 서명해야 합니다.

    주: Notes® 클라이언트 킷 설치를 실행하면, Java 키 저장소가 notes\framework\rcp\deploy\.keystore.JCEKS.IBM_J9_VM.install에 복사됩니다. 이 키 저장소는 설치 중에 사용되는 IBM® 코드 서명 인증서를 포함합니다.

    사용자 정의 또는 써드파티 기능 및 플러그인 JAR 파일을 포함하여 Notes® 설치 킷의 업데이트 사이트 zip 파일(updateSite.zip)의 항목에 서명해야 합니다. 프로비저닝 프로세스는 서명 확인을 목적으로 합니다. 이로써 관리자와 사용자는 클라이언트에 다운로드하는 서명된 코드를 제어하고 확인할 수 있습니다.

  • 런타임 프로비저닝

    Notes®가 실행 중인 경우, 프로비저닝은 사용자가 수동으로 시작하거나 예약된 조건에 따라 또는 위젯 프로비저닝 프로세스에서 사용되는 다른 프로비저닝 메커니즘 방법에 따라 프로그래밍 방식으로 시작할 수 있습니다. 런타임 프로비저닝 중에 Notes® 키 저장소와 사용자의 NAB(Name and Address Book) 조합이 배치 중인 기능 및 플러그인에 대한 신뢰를 판별합니다.

    주: Notes® 클라이언트 킷 설치를 실행하면, Java 키 저장소가 notes\framework\rcp\deploy\.keystore.JCEKS.IBM_J9_VM.install에 복사됩니다. (Mac OS X 플랫폼에서는, .keystore.JCEKS.Java_HotSpot_Client_VM.install에 복사됩니다.) 이 키 저장소는 설치 중에 사용된 IBM® 코드 서명 인증서가 있습니다. 그러나 런타임 프로비저닝 중에 Notes®는 사용자의 연락처 애플리케이션(names.nsf)에서 추가 신뢰 저장소를 사용합니다. 사용자의 연락처 애플리케이션의 고급/인증서 보기는 런타임 프로비저닝 중에 신뢰를 결정하는 데 사용되는 인증서를 포함합니다. 보안 정책의 관리 신뢰 기본값 섹션을 사용하여 연락처 애플리케이션의 고급/인증서 보기에 신뢰 인증서를 복사하거나 사용자가 프로비저닝을 수행하는 동안 플러그인을 설치하고 서명자를 내 신뢰된 서명자 목록에 추가합니다를 선택할 수 있습니다. 사용자가 신뢰 여부를 묻는 메시지를 수신하지 않도록 신뢰 설정을 구성해야 합니다. 정책을 사용하거나 정책을 사용하지 않을 경우 대체 deploy.nsf를 사용하여 신뢰 인증서를 사용자의 연락처 애플리케이션에 적용하여 배치된 기능 및 플러그인을 신뢰 여부를 묻는 메시지 없이 설치하도록 하십시오.
    주: 신뢰 기본값의 설치 킷 사용자 정의에 대한 정보는 관련 항목을 참조하십시오.

    설치 또는 업데이트할 기능이 디지털 서명된 경우 프로비저닝 시스템에서 다음이 수행됩니다.

    • 신뢰되지 않은 내용에 대한 오류를 설치 후 요약으로 표시합니다.
    • 런타임 프로비저닝 중에 신뢰된 내용과 신뢰되지 않은 내용을 정책 설정에 따라 처리하는 일관적인 사용자 인터페이스를 제공합니다.
    • 사용자가 서버의 기본 설정을 다시 정의하고 정책 설정을 관리할 수 있도록 관리된 정책 설정에 따라 신뢰 여부를 결정합니다.

Notes® 설치 킷에서와 다른 방법으로 사용자에게 배치할 기능 및 플러그인에 서명하는 경우에는 다음을 고려하십시오.

  • Domino® Administrator를 사용하여 보안 설정 > 서명된 플러그인 페이지에서 Notes® 클라이언트에 사용할 기본 서명 확인 정책을 설정합니다.
    주: Domino® 정책은 설치 킷의 deploy\plugin_customization.ini 파일에 있는 설정보다 우선합니다. Domino® 정책은 초기 설치에 영향을 주지 않습니다.
  • Notes® 클라이언트의 deploy.nsf를 사용하여 신뢰를 설정하는 경우, Notes®는 설치 시 해당 애플리케이션을 읽어 세션에 대한 신뢰 설정을 판별합니다. 그러나 보안 정책 대화 상자의 키 및 인증서 탭을 사용하여 관리 신뢰 기본값을 적용하는 경우에는 해당 설정이 사용되고 사용자의 deploy.nsf가 무시됩니다.
  • deploy 디렉토리에 업데이트한 키 저장소를 비롯하여 설치 키트를 사용자에게 배치하거나 사용할 수 있게 만듭니다.

자세한 정보는 정책 또는 클라이언트 설치 킷을 사용하여 인증자 및 신뢰 설정 푸시를 참조하십시오.

키트에 새 기능 서명 및 추가

이 태스크 정보

이 절차를 사용하여 새 사용자 정의 또는 써드파티 기능 및 플러그인 JAR 파일에 서명하고 Notes® 설치 킷에 기능을 추가하십시오.

이 절차에서는 Eclipse 업데이트 사이트에서 사용할 새 사용자 정의 또는 타사 기능 및 플러그인에 대한 JAR 파일을 구성하거나 만들었다고 가정합니다. JRE의 JarSigner 도구, Eclipse 또는 기타 써드파티 도구를 사용합니다.

프로시저

  1. Notes®를 설치할 컴퓨터에서 JAVA_HOME 디렉토리 환경 변수를 keytool이 있는 JDK 폴더를 가리키도록 설정합니다. 다음의 샘플 명령행에서 필요한 bin\keytool은 표시된 JAVA_HOME 변수의 디렉토리에 있습니다.
    set JAVA_HOME=C:\sign-plugin\abx\java\jdk1.5.0_05
  2. 키 저장소를 만들고 공개 키/개인 키 쌍의 개인 키와 연관된 자체 서명 인증서뿐만 아니라 공개 키/개인 키 쌍 EclipseFeaturesAlias를 생성하십시오. 샘플 명령행이 표시됩니다.
    %JAVA_HOME%\bin\keytool -genkey -dname "cn=Bob, ou=Sales, o=foo, c=US" -alias EclipseFeaturesAlias -keypass privatekeypassword -keystore C:\sign-plugin\abx\mykeystore -storepass keystorepassword -keyalg "RSA" -validity 360
  3. 인증서/키 쌍을 표시하십시오. 샘플 명령행이 표시됩니다.
    %JAVA_HOME%\bin\keytool -list -v -alias EclipseFeaturesAlias -keystore C:\sign-plugin\abx\mykeystore -storepass keystorepassword
  4. 설치 키트에 추가할 기능의 경우 자체 서명된 인증서/키 쌍을 사용하여 (기능 폴더 및 플러그인 폴더에 있는) updatesite JAR 파일을 서명합니다. 기능 폴더 및 플러그인 폴더에 있는 JAR 파일을 서명하기 위한 샘플 명령행은 다음과 같습니다.
    %JAVA_HOME%\bin\jarsigner -verbose -keystore C:\sign-plugin\abx\mykeystore -storepass keystorepassword -keypass privatekeypassword C:\sign-plugin\abx\mytestUpdatesite\features\com.ibm.sign.demo.feature_1.0.0.jar EclipseFeaturesAlias 
    %JAVA_HOME%\bin\jarsigner -verbose -keystore C:\sign-plugin\abx\mykeystore-storepass keystorepassword -keypass privatekeypassword C:\sign-plugin\abx\mytestUpdatesite\plugins\com.ibm.sign.demo_1.0.0.jar EclipseFeaturesAlias
  5. Notes® 설치 킷의 설치 manifest(deploy\install.xml)를 업데이트합니다. 스니펫이 표시됩니다(installfeature 설정에 대한 설명은 "새 Eclipse 기능 또는 써드파티 Eclipse 기능에 대해 Notes® 설치 사용자 정의" 참조).
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <ibm-portal-composite> 
    <domain-object name="com.ibm.rcp.installmanifest"> 
    <object-data>
        <install version="8.0.0.20081211.1925">
    <!-- add this sample installfeature snippet to the end of the manifest,before the </install> line --> 
    <installfeature default="false" description="My hello world feature"id="test" name="Test" required="false" show="true" version="1.0.0">
            <requirements>
                             <feature download-size="222"
    id="com.ibm.sign.demo.feature" match="perfect" shared="true" size="199"url="jar:${installer.root}/updateSite.zip!/" version="1.0.0"/>
             </requirements>
     </installfeature>
     <!-- end of addition -->
        </install>
    </object-data>
    </domain-object>
    </ibm-portal-composite>
    주: 이 단계는 다음 항목에도 설명되어 있습니다. Notes® 설치 킷을 사용자 정의하여 Eclipse 기능 추가 또는 제거제공된 도구를 사용하여 Notes® 설치 킷에 새 기능 추가.
  6. 서명된 기능을 Notes® 설치 킷에 추가합니다.
    1. Notes® 설치 킷의 updatesite.zipc:\updatesite로 추출합니다. 기능 폴더, 플러그인 폴더 및 site.xml 파일이 생성됩니다.
    2. 압축을 푼 서명된 기능 및 플러그인 JAR 파일을 updatesite의 기능 및 플러그인 폴더에 각각 복사합니다.
    3. 압축을 푼 updatesite의 site.xml 파일을 업데이트하여 새 기능을 표시합니다. 샘플 항목이 표시됩니다.
      <feature url="features/com.ibm.sign.demo.feature_1.0.0.jar"id="com.ibm.sign.demo.feature" version="1.0.0"/> 
    4. 수정된 updatesite 폴더를 압축하십시오.
    5. 수정한 updatesite.zip 파일을 Notes® 설치 킷에 복사하여 원래 제공된 updatesite.zip을 방금 수정한 파일로 바꿉니다.
  7. 공개 키를 인증할 수 있는 신뢰 인증서를 내보냅니다. 샘플 명령행이 표시됩니다.
    %JAVA_HOME%\bin\keytool -export -alias EclipseFeaturesAlias -file EclipseFeaturesAlias.cer -keystore C:\sign-plugin\abx\mykeystore -storepass keystorepassword
  8. 내보낸 신뢰 인증서를 Notes® 설치 킷 키 저장소에 추가하여 설치 시 공개 키에 대한 신뢰를 사용 가능으로 설정합니다. 샘플 명령행이 표시됩니다.
    %JAVA_HOME%\bin\keytool.exe -import -keystore C:\sign-plugin\abx\AllClient.msi.w32\deploy\.keystore.JCEKS.IBM_J9_VM.install -storetype JCEKS -alias EclipseFeaturesAlias -file EclipseFeaturesAlias.cer -storepass ""
  9. Notes® 설치 킷 키 저장소의 항목을 나열합니다. 샘플 명령행이 표시됩니다.
    %JAVA_HOME%\bin\keytool.exe -list -v -keystore C:\sign-plugin\abx\AllClient.msi.w32\deploy\.keystore.JCEKS.IBM_J9_VM.install -storetype JCEKS -alias EclipseFeaturesAlias -storepass ""