설치 및 업데이트할 사용자 정의 또는 써드파티 기능과 플러그인 서명
Eclipse 플러그인을 생성하여 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 또는 기타 써드파티 도구를 사용합니다.
프로시저
-
Notes®를 설치할 컴퓨터에서 JAVA_HOME 디렉토리 환경 변수를 keytool이 있는 JDK 폴더를 가리키도록 설정합니다. 다음의 샘플 명령행에서 필요한 bin\keytool은 표시된 JAVA_HOME 변수의 디렉토리에 있습니다.
set JAVA_HOME=C:\sign-plugin\abx\java\jdk1.5.0_05
-
키 저장소를 만들고 공개 키/개인 키 쌍의 개인 키와 연관된 자체 서명 인증서뿐만 아니라 공개 키/개인 키 쌍 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
-
인증서/키 쌍을 표시하십시오. 샘플 명령행이 표시됩니다.
%JAVA_HOME%\bin\keytool -list -v -alias EclipseFeaturesAlias -keystore C:\sign-plugin\abx\mykeystore -storepass keystorepassword
-
설치 키트에 추가할 기능의 경우 자체 서명된 인증서/키 쌍을 사용하여 (기능 폴더 및 플러그인 폴더에 있는) 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
-
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® 설치 킷에 새 기능 추가. -
서명된 기능을 Notes® 설치 킷에 추가합니다.
-
공개 키를 인증할 수 있는 신뢰 인증서를 내보냅니다. 샘플 명령행이 표시됩니다.
%JAVA_HOME%\bin\keytool -export -alias EclipseFeaturesAlias -file EclipseFeaturesAlias.cer -keystore C:\sign-plugin\abx\mykeystore -storepass keystorepassword
-
내보낸 신뢰 인증서를 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 ""
-
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 ""