インストールと更新用にカスタムまたはサードパーティのフィーチャーとプラグインに署名する

Eclipse プラグインを作成および使用すると、Notes® クライアント機能を拡張できます。フィーチャーとプラグインは、クライアントソフトウェアと共にプロビジョニングされています。

このタスクについて

インストールやデプロイを簡素化するには、フィーチャーとプラグインに署名します。

注意: Notes インストーラを実行するには、インストールキット内のすべてのフィーチャーとプラグインに対して、署名とタイムスタンプが必要になります。

インストールや更新に備えて、認証機関から取得したコード署名証明書を使用して、新しいフィーチャーとプラグインに署名します。フィーチャーに署名してインストールキットに正しく配置すると、コード署名証明書がキットキーストアに含まれている場合に限り、そのフィーチャーをインストールできます。コード署名証明書が信頼されたファイルでない場合は、インストール署名検証ポリシーを変更して、署名済みであるものの信頼されていないコンテンツをインストールできるようにすることができます。

注: Notes のインストールまたはアップグレードの一部としてインストールされるフィーチャーとプラグインには、署名を追加する必要があります。ウィジェットなどを使用して既存の Notes インストールにデプロイされるフィーチャーとプラグインには、信頼できる認証者による署名を追加する必要があります。

管理者の信頼のデフォルトは、セキュリティポリシー文書の [キーと認証] タブの [管理者の信頼のデフォルト] セクションにある Domino® ポリシー設定を使用してクライアントにプッシュすることができます。このポリシーオプションを使用して、Notes のインストールやアップグレード、または既存の Notes インストールへのクライアントプラグインのデプロイを行う際に使用する管理者の信頼のデフォルトを指定します。

注: タイムスタンプ認証を署名付きプラグインに追加して、プラグインの署名の長期にわたる有効性を確保することができます。セキュリティポリシー設定を使用して、プラグインの署名の時点で有効なタイムスタンプが付いた証明書の有効期限を無視することができます。この方法を使用すると、署名されたプラグインを使用したりインストールする際に、タイムスタンプ付きの証明書の有効期限切れを気にする必要がなくなります。セキュリティポリシー設定文書の作成方法については、関連トピックを参照してください。

カスタムまたはサードパーティのフィーチャーやプラグインに署名すると、次の処理が可能になります。

  • ポリシー設定を設定し、許可済みの Eclipse 更新サイトからダウンロード可能な署名済みコンテンツまたは署名されていないコンテンツの種類を決定できます。
  • Notes のインストールまたはアップグレードの一部としてフィーチャーをインストールすることができます。
  • デプロイ済みのフィーチャーまたはプラグインの信頼を確認する画面が表示されなくなります。
  • インストールと更新時に署名検証コードで使用するデフォルトポリシーを変更できます。そのためには、Domino 管理ポリシーを使用するか、インストールキット内の PLUGIN_CUSTOMIZATION.INI ファイルの設定を使用します。
  • 管理者設定と証明書の詳細に基づき、信頼を判断することができます。

Notes インストールの新しいフィーチャー (カスタムまたはサードパーティのフィーチャー) とプラグインをインストールする場合、独自の証明書をキーストアに追加することで、署名済みフィーチャーがインストールキットからインストールおよび更新されるときに信頼されるようにすることができます。Java™ Development Kit (JDK) に組み込まれている JarSigner ツールを使用するか、Eclipse 内の Plugin Development Environment (PDE) などのサードパーティツールを使用すると、フィーチャーとプラグインに署名できます。証明書は、多くの有名な認証機関 (CA) から取得することができます。

インストールと更新のプロビジョニング中に、フィーチャーが信頼できるかどうかがチェックされます。Notes が既にインストールされている場合は、ランタイムプロビジョニング中にフィーチャーがチェックされます。

  • インストールと更新のプロビジョニング

    Notes インストーラによって、インストールキットの更新サイト UPDATESITE.ZIP から新しいフィーチャーまたは更新されたフィーチャーがインストールされ、初期のプロビジョニングが実行されます。この初期プロビジョニング時に、Notes インストールキットの deploy ディレクトリにある Java キーストアファイルに基づいて、信頼できるかどうかが判別されます。Notes のインストール中に、信頼に関するプロンプトを表示するユーザーインターフェースはありません。インストールするフィーチャーにはすべて、信頼できる署名者による署名が追加されている必要があります。

    注: Notes クライアントキットのインストールを実行すると、Java キーストアが notes\framework\rcp\deploy\.keystore.JCEKS.IBM_J9_VM.install にコピーされます。このキーストアには、インストール時に使用される IBM® コード署名証明書が定義されています。

    Notes インストールキット更新サイトの zip ファイル (updateSite.zip) 内のアイテムは、署名されている必要があります (カスタムまたはサードパーティのフィーチャーとプラグイン JAR ファイルを含む)。プロビジョニングプロセスによって、署名の検証が試行されます。これにより、管理者とユーザーは、クライアントにダウンロードされている署名済みコードを制御および検証できます。

  • ランタイムプロビジョニング

    Notes が実行されている場合、プロビジョニングはユーザーによって手動で開始されるか、スケジュールされた基準またはその他のプロビジョニングメカニズム (ウィジェットプロビジョニングプロセスで使用されるメカニズムなど) に基づいたプログラムを使用して開始されます。ランタイムプロビジョニングが実行されている場合、デプロイ中のフィーチャーやプラグインが信頼できるかどうかは、Notes のキーストアとユーザーの個人アドレス帳 (NAB) の組み合わせによって判断されます。

    注: 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 クライアントが使用するデフォルトの署名検証ポリシーを設定します。
    注: インストールキットの deploy\plugin_customization.ini ファイルの設定よりも、Domino のポリシーの方が優先されます。Domino のポリシーが初期インストールに影響を与えることはありません。
  • Notes クライアントの deploy.nsf を使用して信頼を設定した場合、Notes は起動時にこのファイルを読み込んでセッションの信頼設定を判断します。ただし、セキュリティポリシーダイアログの [キーと認証] タブを使用して管理者の信頼のデフォルトをプッシュしている場合は、ユーザーの deploy.nsf は無視されます。
  • インストールキット (インストールキットの deploy ディレクトリで更新したキーストアを含む) を導入するか、ユーザーが使用できるようにします。

詳しくは、「ポリシーまたはクライアントインストールキットを使用して認証者と信頼設定をプッシュする」を参照してください。

新しいフィーチャーに署名してキットに追加する

このタスクについて

カスタムまたはサードパーティの新しいフィーチャーとプラグインの JAR ファイルに署名して Notes インストールキットに追加する場合は、ここで説明する手順を実行します。

ここでは、新しいフィーチャー (カスタムまたはサードパーティのフィーチャー) とプラグインの JAR ファイルが既に作成または取得されていて、Eclipse 更新サイトで使用できる状態になっていることを前提としています。JRE の JarSigner ツール、Eclipse、他のサードパーティツールを使用します。

手順

  1. Notes をインストールするコンピュータ上で JAVA_HOME ディレクトリ環境変数を設定し、keytool が格納されている JDK フォルダを指定します。次のコマンドラインの例では、指定された JAVA_HOME 変数のディレクトリ内に必要な binkeytool が格納されています。
    set JAVA_HOME=C:sign-pluginabxjavajdk1.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. インストールキットに追加するフィーチャーに対し、自己署名証明書/キーペアを使用して、updatasite の JAR ファイル (features フォルダと plugins フォルダ内に格納) に署名します。features フォルダと plugins フォルダ内の 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 インストールキットのインストールマニフェスト (deploy\install.xml) を更新します。その場合のコードを以下に示します (installfeature の設定については、「新規またはサードパーティの 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 に解凍します。この処理により、features フォルダ、plugins フォルダ、site.xml ファイルが作成されます。
    2. 署名されたフィーチャーとプラグインの JAR ファイルを、解凍された updatesite の features フォルダと plugins フォルダにそれぞれコピーします。
    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 ""