C.2. modutil


modutil ツールは、sec mod.db ファイルまたはハードウェアトークンに保存されている PKCS #11 モジュール情報を管理するコマンドラインユーティリティーです。modutil は、さまざまなセキュリティーデータベース操作を実行できます。
  • PKCS #11 モジュールの追加および削除
  • パスワードの変更
  • デフォルトの設定
  • モジュールコンテンツの一覧表示
  • スロットの有効化または無効化
  • FIPS(Federal Information Processing Standard)140-2 コンプライアンスの有効化または無効化
  • 暗号化操作のデフォルトプロバイダーの割り当て
  • key3.db、cert8.db、および secmod.db セキュリティーデータベースの作成。
セキュリティーモジュールデータベース管理は、通常、鍵データベース(key3.db ファイル)および証明書データベース(cert8.db ファイル)を管理するプロセスの一部です。キー、証明書、および PKCS #11 モジュール管理プロセスは、通常、証明書と証明書データベースを生成および管理するために必要な鍵と鍵データベースの作成から開始します。

場所

modutil ツールは /usr/bin フォルダーにあります。

構文

 

modutil task [option]
task表C.1「modutil のタスクコマンド」 に記載されているコマンドの 1 つであり、options は 表C.2「modutil のオプション」 から取得されます。各 modutil コマンドは 1 つのタスクと 1 つのオプションを取ることができます。

タスクおよびオプション

modutil ツールを使用して、さまざまなタスクを実行できます。これらのタスクは、コマンドおよびオプションを使用して指定します。コマンドは、実行するタスクを指定します。オプションは、タスクコマンドを変更します。

注記
modutil コマンドは 1 つのタスクと 1 つのオプションを取ることができます。
表C.1「modutil のタスクコマンド」 では、modutil コマンドの概要と、各モジュールで利用可能なオプションを説明します。表C.2「modutil のオプション」 オプションの内容を定義します。
Expand
表C.1 modutil のタスクコマンド
タスク 詳細 許可されるオプション
-add moduleName PKCS #11 モジュールをデータベースに追加します。
-libfile libraryFile
-mechanisms mechanismList
-changepw token 名前付きトークンのパスワードを変更します。トークンが初期化されていない場合、このオプションは提供されたパスワードで初期化されます。この場合、password という用語は、個人 ID 番号(PIN)と同等です。
-pwfile passwordFile
-newpwfile newPasswordFile
-create 新しい secmod.db ファイル、key3.db ファイル、および cert8.db ファイルを作成します。指定したディレクトリーにこれらのセキュリティーデータベースが存在する場合は、modutil ツールにエラーメッセージが表示されます。
-dbdir dbFolder
-default moduleName named モジュールがデフォルトのプロバイダーであるセキュリティーメカニズムを設定します。
-mechanisms mechanismList
-delete moduleName named モジュールを削除します。内部 PKCS #11 モジュールを削除することはできません。 
-disable moduleName named モジュールの全スロットを無効にします。特定のスロットを無効にするには、- slot オプションを使用します。
-slot slotName
-enable moduleName named モジュールの全スロットを有効にします。特定のスロットを有効にするには、- slot オプションを使用します。
-slot slotName
-fips true|false Directory Server で FIPS 140-2 コンプライアンスモードを有効または無効にします。詳細は、『 『Directory Server 管理ガイド』』の 「FIPS モードサポートの管理 」を参照してください。 
-force スクリプトから実行できるように、modutil ツールの対話式プロンプトを無効にします。このコマンドは、計画された各操作を手動でテストして警告を確認し、プロンプトをバイパスすると、データベースの整合性がなくなるか、失われるようにします。 
-jar JARfile
新しい PKCS #11 モジュールをデータベースに追加します。モジュールは名前付き JAR ファイルに含まれる必要があります。
JAR ファイルは、インストールするすべてのファイル、モジュール名、およびメカニズムフラグを識別します。また、PKCS #11 モジュールライブラリーやドキュメントなどの他のファイルなど、ターゲットマシンにインストールするファイルも含まれる必要があります。
JAR ファイルは Netscape Server PKCS #11 JAR 形式を使用します。JAR ファイルの作成に関する詳細は、JAR 情報ファイル を参照してください。
-installdir installation_directory
-tempdir temporaryFolder
-list [moduleName] secmod.db ファイルの内容に関する基本情報を表示します。スロットやトークンなど、特定のモジュールに関する詳細情報を表示するには、moduleName の値を指定します  
-undefault moduleName named モジュールがデフォルトのプロバイダーでは ない セキュリティーメカニズムを指定します。
-mechanisms mechanismList
表C.2「modutil のオプション」 では、modutil タスクコマンドのさまざまなオプションを説明します。
Expand
表C.2 modutil のオプション
オプション 詳細
-dbdir dbFolder セキュリティーモジュールのデータベースファイルにアクセスまたは作成するフォルダーを指定します。この引数は、すべてのコマンドに必要になります。これは、Administration Server 設定ディレクトリーを参照する必要があります。以下に例を示します。
-dbdir /etc/dirsrv/admin-serv
-installdir installation_directory -jar JAR-file タスクで提供されるファイルのルートインストールフォルダーを指定します。installation_directory ディレクトリーは、動的ライブラリーファイルを保存するのに適したものである必要があります。
-libfile libraryFile データベースに追加される PKCS #11 モジュールが含まれるライブラリーファイルを指定します。完全パスを使用してファイルを特定します。
-mechanisms mechanismList 特定のモジュールがデフォルトのプロバイダーであるセキュリティーメカニズムを指定します。mechanismList は、メカニズム名のコロン区切りリストです。スペースが含まれている場合は、この一覧を引用符で囲みます。モジュールは、これらのメカニズムが有効な場合にリストされたメカニズムのデフォルトプロバイダーになります。メカニズムのデフォルトプロバイダーとして複数のモジュールが割り当てられている場合、メカニズムのデフォルトプロバイダーは undefined として一覧表示されます。以下のメカニズムが現在利用できます。
  • RSA
  • DSA
  • RC2、RC4、および RC5
  • AES
  • DES
  • DH
  • SHA1 および SHA256
  • SSL および TLS
  • MD2 および MD5
  • RANDOM(乱数生成用)
  • FRIENDLY(一般に読み取り可能な証明書用)。
-newpwfile newPasswordFile トークンの新規パスワードが含まれるテキストファイルを指定します。これにより、- changepw コマンドの使用時にパスワードを自動的に更新できます。
-nocertdb modutil が、証明書やキーデータベースを開くように指示しません。これにはいくつかの影響があります。
  • -changepw コマンドと併用すると、パスワードは key3.db に保存されるため、内部モジュールにはパスワードを設定または変更できません。
  • -create コマンドで使用すると、sec mod.db ファイルのみが作成され、cert 8.dbkey3.db は作成されません。
  • -jar コマンドと併用すると、JAR ファイルの署名はチェックされません。
-pwfile passwordFile トークンの現在のパスワードが含まれるテキストファイルを指定します。これにより、- changepw コマンドの使用時にパスワードの自動エントリーが可能になります。
-slot slotName -enable コマンドまたは -disable コマンドの使用時に、有効または無効にする 特定のスロットを指定します。
-tempdir temporaryFolder -jar コマンドによって作成された一時ファイルを保存するフォルダーを指定します。一時フォルダーを指定しないと、現在のフォルダーが使用されます。

JAR 情報ファイル

JAR(Java アーカイブ)は、多くのファイルを 1 つに集約するプラットフォームに依存しないファイル形式です。JAR ファイルは、modutil を使用して PKCS #11 モジュールをインストールします。modutil が JAR ファイルを使用する場合は、特別な JAR 情報ファイルを含める必要があります。この情報ファイルには、特別なスクリプト命令が含まれ、JAR ファイルの MANIFEST ファイルに指定する必要があります。情報ファイルには任意の名前を指定できますが、P kcs11_install_script METAINFO コマンドを使用して指定します。

MANIFEST でこの METAINFO コマンドを宣言する方法は、を参照してください https://docs.oracle.com/cd/E19957-01/816-6164-10/
PKCS #11 インストールスクリプトが pk11install の情報ファイルに保存されている場合、署名ツール用のテキストファイルには、以下の METAINFO タグが含まれます。
+ Pkcs11_install_script: pk11install
例C.1「JAR ファイルの例」 の JAR 情報ファイルには、さまざまなプラットフォームに PKCS #11 モジュールをインストールする手順が記載されています。

例C.1 JAR ファイルの例

ForwardCompatible { IRIX:6.2:mips SUNOS:5.5.1:sparc }
	Platforms {
	   Linux:2.0.32:x86 {
	      ModuleName { "Fortezza Module" }
	      ModuleFile { win32/fort32.dll }
	      DefaultMechanismFlags{0x00000001 }
	      CipherEnableFlags{ 0x00000001 }
	      Files {
	         win32/setup.exe {
	            Executable
	            RelativePath { %temp%/setup.exe }
	         }
	         win32/setup.hlp {
	            RelativePath { %temp%/setup.hlp }
	         }
	         win32/setup.cab {
	            RelativePath { %temp%/setup.cab }
	         }
	      }
	   }
	   Linux:2.0.32:x86 {
	      EquivalentPlatform {WINNT::x86}
	   }
	   SUNOS:5.5.1:sparc {
	      ModuleName { "Fortezza UNIX Module" }
	      ModuleFile { unix/fort.so }
	      DefaultMechanismFlags{ 0x00000001 }
	      CipherEnableFlags{ 0x00000001 }
	      Files {
	         unix/fort.so {
	            RelativePath{%root%/lib/fort.so}
	            AbsolutePath{/usr/local/Red Hat/lib/fort.so}
	            FilePermissions{555}
	         }
	         xplat/instr.html {
	            RelativePath{%root%/docs/inst.html}
	            AbsolutePath{/usr/local/Red Hat/docs/inst.html}
	            FilePermissions{555}
	         }
	      }
	   }
	   IRIX:6.2:mips {
	      EquivalentPlatform { SUNOS:5.5.1:sparc}
	   }
	}
JAR 情報ファイルを作成するには、モジュールのインストール時に実行するタスクを指定するスクリプトを作成する必要があります。異なるプラットフォームに異なるモジュールインストール手順を指定するために modutil が解釈するキー、事前定義されたコマンド、およびオプションを使用できます。
キーは、3 つのカテゴリーにグループ化される大文字と小文字を区別しない文字列です。

グローバルキー

グローバルキーは、JAR 情報ファイルのプラットフォーム固有のセクションを定義します。ForwardCompatiblePlatforms の 2 つのグローバルキーがあります。

ForwardCompatible は、同じアーキテクチャーおよびオペレーティングシステムのそれ以降のバージョンと互換性のあるシステムアーキテクチャーおよびオペレーティングシステムの一覧を指定するオプションのキーです。modutil がモジュールをインストールするプラットフォームが Platforms キーで指定されていない場合は、ForwardCompatible の一覧は、以前のバージョンの OS とアーキテクチャーが同じプラットフォームについてチェックされます。これが見つかると、現在のプラットフォームに属性が使用されます。
ForwardCompatible キーは以下の形式を使用します。
ForwardCompatible { Solaris:5.5.1:sparc }
中括弧の間に一覧表示されるプラットフォームには、Platforms キー 内のエントリーが必要です。
プラットフォームは、 プラットフォームの一覧を指定する必須キーです。リストの各エントリーは、それ自体がキーと値のペアです。キーはプラットフォームの名前で、値リストにはプラットフォームのさまざまな属性が含まれます。ModuleNameModuleFile、および Files 属性は、Equivalent Platform 属性を指定しない限り、プラットフォームごとに指定する必要があります。詳細は、プラットフォームごとにキー を参照してください。
プラットフォーム文字列は、以下の形式となっています。
system name:OS release:architecture
modutil プログラムは、modutil ツールを実行しているシステムからシステム名、リリース番号、およびアーキテクチャーの 値を取得します。現在、以下のシステム名とプラットフォームが認識されています。
  • HP-UX(hppa1.1)
  • Linux(x86)は x86_64 を認識していますか?
  • Solaris(sparc)
以下に例を示します。
Linux:5.2.0:x86

プラットフォームごとにキー

これらのキーは、プラットフォーム 一覧 のエントリー内にのみ意味を持ちます。

moduleName は、モジュールの共通名を指定する必須キーです。この名前は、Red Hat Communicator、modutil ツール、サーバー、または Red Hat セキュリティーモジュールデータベースを使用するその他のプログラムのモジュールへの参照として機能します。
ModuleFile は、このプラットフォームの PKCS #11 モジュールファイル(.so)の名前を付けるのに必要なキーです。ファイル名は、JAR ファイルの場所と相対的なパスである必要があります。
DefaultMechanismFlags は、このモジュールがデフォルトのプロバイダーであるメカニズムを指定する任意のキーです。このキーと値のペアは 16 進数(0x)形式で指定されるビット文字列です。これは、表C.3「メカニズムおよびデフォルトのメカニズムフラグ」 に記載されている文字列定数のビット単位(OR)として作成されます。DefaultMechanismFlags エントリーを省略すると、値は 0x0 になります。
Expand
表C.3 メカニズムおよびデフォルトのメカニズムフラグ
mechanism 16 進数のビット値
RSA 0x00000001
DSA 0x00000002
RC2 0x00000004
RC4 0x00000008
DES 0x00000010
DH 0x00000020
FORTEZZA 0x00000040
RC5 0x00000080
SHA1 0x00000100
MD5 0x00000200
MD2 0x00000400
RANDOM 0x08000000
平易 0x10000000
OWN_PW_DEFAULTS 0x20000000
DISABLE 0x40000000
ファイルは、このモジュール用にインストールする必要のあるファイルを一覧表示する必須のキーです。ファイル一覧の各エントリーはキーと値のペアです。キーには、JAR アーカイブに含まれるファイルへのパスが含まれ、値リストにはファイルの属性が含まれます。少なくとも、各ファイルに RelativePath または AbsolutePath を指定する必要があります。必要に応じて、追加の属性を指定できます。詳細は、ファイルごとのキー を参照してください。
EquivalentPlatform キーは、名前付きプラットフォームの属性も現在のプラットフォームに使用する必要があることを指定します。この鍵を使用すると、複数のプラットフォームが同じ設定を使用する場合の時間を短縮できます。

ファイルごとのキー

これらのキーは、ファイル リスト内のエントリー内にのみ意味を持ちます。少なくとも、RelativePath または AbsolutePath を指定する必要があります。両方を指定すると、相対パスが最初に試行され、modutil によって相対ルートフォルダーが指定されていない場合に絶対パスが使用されます。

RelativePath キーは、インストール時に示されるフォルダーと相対的に、ファイルの宛先パスを指定します。相対パス %root% および %temp%の 2 つの変数に値を割り当てることができます。ランタイム時に 、%root% はサーバーのルートフォルダーなど、ファイルをインストールするフォルダーに置き換えられます。%temp% ディレクトリーはインストールの開始時に作成され、最後に破棄されます。
%temp% の目的は、これらのプログラムが使用する実行ファイル(設定プログラムなど)を保持することです。実行ファイルが起動する前に、一時フォルダーを宛先とするファイルが配置されます。すべての実行可能ファイルが終了するまで削除されません。
AbsolutePath キーは、ファイルの宛先を絶対パスとして指定します。RelativePathAbsolutePath の両方を指定すると、modutil は相対パスの使用を試行します。相対パスを判別できない場合、絶対パスを使用します。
実行ファイル キーは、インストール中にファイルが実行されるように指定します。通常、このキーはモジュールベンダーが提供する設定プログラムを識別するために使用されます。setup プログラム自体は、RelativePath キーまたは AbsolutePath キーで指定されます。
たとえば、setup.exe プログラム (%temp% フォルダーにある)が実行可能ファイルであることを指定するには、JAR 情報ファイルに以下の行を追加します。
Executable
RelativePath { %temp%/setup.exe }
複数のファイルを実行ファイルとして指定できます。その場合は、ファイルがスクリプトファイルに記載されている順序で実行されます。RelativePath キーまたは AbsolutePath キーの前に Executable キーを使用し、
FilePermissions キーは、ファイルに適用するアクセスパーミッションを指定します。modutil プログラムは、標準の UNIX 形式の後にキーを 8 進数の文字列として解釈します。このキーは、表C.4「FilePermissions を使用して指定されているファイルパーミッション」 に一覧表示される文字列定数のビット単位(または ビット単位)です。たとえば、すべてのユーザーの読み取りおよび実行アクセスを指定するには、555 ビット単位 400 + 100 + 040 + 010 + 004 + 001)を入力します。
以下の表は、FilePermissions を使用して指定できるファイルパーミッションの一覧です。
Expand
表C.4 FilePermissions を使用して指定されているファイルパーミッション
ファイル権限 Bitstring 値
ユーザー読み取り 400
ユーザー書き込み 200
ユーザー実行 100
グループの読み取り 040
GroupWrite 020
Group Execute 010
その他の読み取り 004
他の書き込み 002
その他実行 001
プラットフォームによっては、これらのパーミッションを理解できない場合があります。パーミッションは、現在のプラットフォームで有効である場合にのみ適用されます。このキーを省略すると、デフォルト値の 777 (読み取り、書き込み、実行)が想定されます。

modutil の使用例

例C.2 データベースファイルの作成

ディレクトリーにセキュリティー管理データベースファイルのセットを作成するには、以下を実行します。
# modutil -create -dbdir /etc/dirsrv/admin-serv

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

Creating "/etc/dirsrv/admin-serv/key3.db"...done.
Creating "/etc/dirsrv/admin-serv/cert8.db"...done.
Creating "/etc/dirsrv/admin-serv/secmod.db"...done.

例C.3 モジュール情報の表示

特定のモジュールに関する詳細情報を取得するには、次のコマンドを実行します。
# modutil -list -dbdir /etc/dirsrv/admin-serv

Using database directory /etc/dirsrv/admin-serv...

Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
         slots: 2 slots attached
        status: loaded

         slot: NSS Internal Cryptographic Services
        token: NSS Generic Crypto Services

         slot: NSS User Private Key and Certificate Services
        token: NSS Certificate DB
-----------------------------------------------------------

例C.4 デフォルトプロバイダーの設定

RSA、DSA、および RC2 のセキュリティーメカニズムのデフォルトプロバイダーに特定のモジュールを作成するには、以下を実行します。
# modutil -default "Cryptographic Module" -dbdir /etc/dirsrv/admin-serv -mechanisms RSA:DSA:RC2

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

Using database directory /etc/dirsrv/admin-serv...
Successfully changed defaults.

例C.5 スロットの有効化

モジュールで特定のスロットを有効にするには、以下を行います。
# modutil -enable "Cryptographic Module" -slot "Cryptographic Reader" -dbdir /etc/dirsrv/admin-serv

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

Using database directory /etc/dirsrv/admin-serv...
Slot "Cryptographic Reader" enabled.

例C.6 FIPS コンプライアンスの有効化

管理サーバーの内部モジュールで FIPS-140-2 コンプライアンスを有効にするには、以下を実行します。
# modutil -fips true

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

FIPS mode enabled.

例C.7 暗号モジュールの追加

新しい暗号化モジュールをデータベースに追加するには、以下を行います。
# modutil -dbdir "/etc/dirsrv/admin-serv" -add "Cryptorific Module" -libfile "/crypto.dll" -mechanisms RSA:DSA:RC2:RANDOM

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

Using database directory /etc/dirsrv/admin-serv...
Module "Cryptorific Module" added to database.

例C.8 JAR ファイルからの Cryptographic モジュールのインストール

JAR ファイルを使用してモジュールをインストールするには、最初に JAR ファイルスクリプトを作成します。以下に例を示します。
Platforms {
   Linux:2.0.32:x86 {
      ModuleName { "SuperCrypto Module" }
      ModuleFile { crypto.dll }
      DefaultMechanismFlags{0x0000}
      CipherEnableFlags{0x0000}
      Files {
         crypto.dll {
            RelativePath{ %root%/system32/crypto.dll }
         }
         setup.exe {
            Executable
            RelativePath{ %temp%/setup.exe }
         }
      }
   }
   Win95::x86 {
      EquivalentPlatform { Winnt::x86 }
   }
}
スクリプトからインストールするには、次のコマンドを使用します。
# modutil -dbdir "/etc/dirsrv/admin-serv" -jar install.jar -installdir "/etc"

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

Using database directory /etc/dirsrv/admin-serv...

This installation JAR file was signed by:

----------------------------------------------

**SUBJECT NAME**

C=US, ST=California, L=Mountain View, CN=SuperCrypto Inc.,
OU=Digital ID Class 3 - Red Hat Object Signing,
OU="www.verisign.com/repository/CPS Incorp. by Ref.,LIAB.LTD(c)9 6",
OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign,
OU=VeriSign Object Signing CA - Class 3 Organization, OU="VeriSign,
Inc.", O=VeriSign Trust Network **ISSUER NAME**,
OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign,
OU=VeriSign Object Signing CA - Class 3 Organization, OU="VeriSign,
Inc.", O=VeriSign Trust Network

----------------------------------------------

Do you wish to continue this installation? (y/n)

Using installer script "installer_script"
Successfully parsed installation script
Current platform is Linux:2.0.32:x86
Using installation parameters for platform Linux:2.0.32:x86
Installed file crypto.dll to /winnt/system32/crypto.dll
Installed file setup.exe to ./pk11inst.dir/setup.exe
Executing "./pk11inst.dir/setup.exe"... "./pk11inst.dir/setup.exe" executed successfully
Installed module "SuperCrypto Module" into module database
Installation completed successfully

例C.9 トークンのパスワードの変更

モジュールが使用するセキュリティーデバイスのパスワードを変更するには、以下を行います。
# modutil -dbdir "/etc/dirsrv/admin-serv" -changepw "Administration Server Certificate DB"

WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:

Using database directory /etc/dirsrv/admin-serv...
Enter old password:
Enter new password:
Re-enter new password:

Token "Administration Server Certificate DB" password changed successfully.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る