現在地: EMS の構成 > EMS ペイロードによるライセンス属性のカスタマイズ

EMS ペイロードによるライセンス属性のカスタマイズ

EMS はアクティベーション情報に含まれるライセンスモデル属性を使用します。ライセンスの生成前にインターフェース EnforcementPayload をインプリメントしてクラスパスにその参照を含めることにより、ライセンスモデル属性の一部を変更できます。Java クラスのサンプルは次のファイルに含まれています。

<EMS_Install_Dir>\ems120-plugins\samples\SampleEnforcementPayload\
src\com\sfnt\ems\service\generator\EnforcementPayloadImpl.java

インターフェース EnforcementPayload の使い方の詳細については、(<EMS_Installation_Dir>\ems120-plugins\javadocs\overview-summary.html にある)Javadocs を参照してください。

32ビットコンピュータのデフォルトのインストールディレクトリは、C:\Program Files\SafeNet Sentinel\Sentinel EMS です。64ビットコンピュータの場合は、C:\Program Files (x86)\SafeNet Sentinel\Sentinel EMS です。

ライセンスモデル属性を変更するには、次の手順に従います。

  1. サンプル EnforcementPayloadImpl.java に含まれている Java クラスを変更してコンパイルします。この Java クラスは次のインターフェースをインプリメントします。

    com.sfnt.ems.services.generator.EnforcementPayload

  2. このインターフェースの中のメソッド modifyGeneratorAttributes を編集します。
  3. /*interface source code*/
          package com.sfnt.ems.service.generator;
          import java.util.Map;
          import java.util.Set;
          import com.sfnt.ems.service.generator.model.LicenseModelAttribute;
          import com.sfnt.ems.service.generator.model.Payload;
          public interface EnforcementPayload
          {
           public Set<LicenseModelAttribute> modifyGeneratorAttributes(Payload payload);
          }
  4. メソッド modifyGeneratorAttributes の入力は Payload クラスのオブジェクトです。Payload クラスには次の属性が含まれています。
    1. enforcementName - ライセンスジェネレータの名前。
    2. enforcementVersion - ライセンスジェネレータのバージョン。
    3. featureName - ライセンスが生成されるフィーチャの名前。
    4. featureVersion - ライセンスが生成されるフィーチャのバージョン。
    5. licenseModelAttributes - attributeName と attributeValue を持つライセンスモデル属性のセット。このセットに含まれる属性は、activationJson のフィールドまたはその他の値を用いて変更できます。
    6. activationJson - Java Map 構造のアクティべーション情報。形式は次のとおりです。

  5. 次のパスにあるサンプルコードを参考にしてライセンスジェネレータの属性値を変更します。
  6. <EMS_Install_Dir>\ems120-plugins\samples\SampleEnforcementPayload\src\com\sfnt\ems\service\generator\EnforcementPayloadImpl.java

    サンプルコードは次の処理を実行します。

    1. VENDOR_PRIVATE_INFO の値をフィーチャのカスタム属性 VENDOR_PRIVATE_INFO の値で置き換えます。
    2. VENDOR_PUBLIC_INFO の値をフィーチャのカスタム属性 VENDOR_PUBLIC_INFO の値で置き換えます。
  7. EnforcementPayloadImpl.class をビルドします(ビルド手順については、以下の 2 つの項を参照)。
  8. 次の場所にあるファイル EnforcementPayloadImpl.class を上書きします。
  9. %EMSSERVER_HOME%\webapps\ems\WEB-INF\classes\com\sfnt\ems\service\generator

  10. Webサーバを再起動します。

Ant による EnforcementPayloadImpl.class のビルド方法

  1. Ant をインストールして、ANT_HOME 環境変数を設定します。
  2. 次の場所にあるファイル EnforcementPayloadBuild.xml の名前を build.xml に変更します。
  3. <Ems_Install_Dir>\ems120-plugins\samples\SampleEnforcementPayload/EnforcementPayloadBuild.xml

  4. 次の場所にある Javadoc を参照して、EnforcementPayloadImpl.java に変更を加えます。
  5. <Ems_Install_Dir>\ems120-plugins\javadocs

  6. コマンドプロンプトで、次のディレクトリに移動し、Ant を実行します。

    <Ems_Install_Dir>\ems120-plugins\samples\SampleEnforcementPayload

  7. 次のディレクトリに、適切なパッケージ構造の EnforcementPayloadImpl.class が作成されます。

    <Ems_Install_Dir>\ems120-plugins\samples\SampleEnforcementPayload\classes

Eclipse による EnforcementPayloadImpl.class のビルド

  1. Eclipse で、新しい Java プロジェクト(たとえば payload)を作成します。デフォルトで \src および \bin ディレクトリが作成されます。
  2. 次の場所にある src および lib ディレクトリを、その Java プロジェクトにコピーします。
  3. <Ems_Install_Dir>\ems120-plugins\samples\SampleEnforcementPayload\

  4. lib ディレクトリにある ems110_plugins.jar を、この Java プロジェクトのクラスパスに追加します。それにより、コンパイル時のエラーが解消されます。
  5. src ディレクトリにある EnforcementPayloadImpl.java に変更を加えて、プロジェクトをビルドします。それにより、bin ディレクトリの中にクラスファイルが作成されます。

 

Sentinel EMS を WebLogic 上にデプロイしている場合、カスタマイズを行うためには ems.war ファイルを生成してデプロイしなければなりません。 WebLogic の場合の .war ファイルの生成を参照してください。

 

  http://www.safenet-inc.com/Support
  © Copyright 2013, SafeNet, Inc. All rights reserved.