ttCreateCerts

複数のデータベースがあり、それぞれに異なる証明書が必要な場合や、クライアント/サーバーとレプリケーションの両方に証明書が必要な場合には、クライアント/サーバーに手動でttCreateCertsを使用します。

TimesTenは、TimesTenインスタンスの作成時にクライアント/サーバーまたはレプリケーションの証明書を生成する場合(TimesTen Classicの場合)や、グリッドの作成時にクライアント/サーバーの証明書を生成する場合(TimesTen Scaleoutの場合)に、ttCreateCertsを使用しますが、前述したように、手動でttCreateCertsを実行することが適切な状況もあります。

このユーティリティは、TimesTenインスタンスのbinディレクトリにあります。フルパスの指定を回避するには、ttCreateCertsを実行する前にTIMESTEN_HOMEを設定します。これを行うには、インスタンスのbinディレクトリからttenv.shまたはttenv.cshスクリプトをソーシングします。

このユーティリティにより、rootWallet (無視可能)、clientWalletおよびserverWalletの3つのOracleウォレットが作成されます。

ノート:

ttCreateCertsを使用するには、システムにJava JDKまたはJREバージョン1.8以降が必要です。その検索の際に、このユーティリティはJRE_HOMEJAVA_HOMEおよびPATHの設定に従います。

必要な権限

このユーティリティに権限は不要です。ただし、指定したオプションによっては、インスタンス管理者権限が必要なディレクトリにファイルが書き込まれることがあります。

TimesTen ScaleoutおよびTimesTen Classicでの使用

このユーティリティは、TimesTen ClassicとTimesTen Scaleoutの両方でサポートされています。

構文

% ttCreateCerts -h
usage: ttCreateCerts [-dir WALLETDIR] [options...]
       ttCreateCerts [-h | -help]
       ttCreateCerts [-V | -version]
options:
  -f | -force
  -verbose
  -validity DAYS | -valid_from mm/dd/yyyy -valid_until mm/dd/yyyy
  -dryrun
  -sign_alg ALGORITHM (ecdsasha256 ecdsasha384 ecdsasha512)
  -eccurve TYPE  (p256 p384 p521)

オプション

ttCreateCerts には、次の入力とオプションがあります:

オプション 説明

-dir

ウォレットを配置するディレクトリを絶対パスとして指定します。

指定したディレクトリは、すでに存在している必要があります。また、-forceオプションを使用する場合を除いて、ttCreateCertsによって生成されたウォレットが含まれていない必要があります。デフォルトは、timesten_home/confです。

-h

-help

ヘルプを表示します(前述の構文を表示します)。

-V

-version

TimesTenリリース番号を表示します。

-f

-force

以前のウォレットが指定したディレクトリ内にあれば上書きします。

-verbose

ユーティリティの実行からの追加出力を表示します。

-validity

作成するウォレットの存続期間を指定する2つの方法のうちの1つで、作成からの日数として期間を表します。

デフォルトは3650日です。これは、-validityを設定するか、-valid_from-valid_untilを設定することで上書きできます。

-valid_from

-valid_until

作成するウォレットの存続期間を指定するもう1つの方法。期間は開始日および終了日としてmm/dd/yyyy形式で表します。

-dryrun

ttCreateCertsで指定したとおりの証明書を作成するために実行されるすべてのコマンドをエコーしますが、それらのコマンドを実行しません。

設定していないオプションについては、これを使用することでデフォルト値を確認できます。

-sign_alg

楕円曲線署名アルゴリズムを指定します。

サポートされているアルゴリズムは、ecdsasha256ecdsasha384 (デフォルト)およびecdsasha512です。

-eccurve

楕円曲線のサイズを指定します。

サポートされる値は、p256p384 (デフォルト)およびp521です。

ttCreateCertsユーティリティには、Oracle orapkiユーティリティのコマンドを実行して公開キー・インフラストラクチャ(PKI)要素を管理できる-runオプションもあります。次の例のように、orapkiコマンドを引用符で囲みます:

% ttCreateCerts -run "wallet create -wallet serverWallet -auto_login_only"

認証局によって署名された証明書の使用の詳細は、『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』「サーバー・ウォレットの作成」「クライアント・ウォレットの作成」を参照してください。

orapkiの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

この項では、timesten_home/conf内のwalletsサブディレクトリにウォレットを配置するttCreateCertsの例を示します。このtimesten_homeは、TimesTenインスタンス・ホーム・ディレクトリへのフルパスです。

次の例には、詳細出力が含まれています。(-verboseオプションがない場合は、最後の行のみが表示されます。)

% ttCreateCerts -verbose -dir timesten_home/conf/wallets
Requested Certificates:
User Certificates:
Subject:        CN=server1,C=US
Trusted Certificates:
Subject:        CN=ecRoot,C=US
Requested Certificates:
User Certificates:
Subject:        CN=client1,C=US
Trusted Certificates:
Subject:        CN=ecRoot,C=US
ttCreateCerts : certificates created in timesten_home/conf/wallets

結果を次に示します。clientWalletおよびserverWallet以外はすべて無視できます。

% ls timesten_home/conf/wallets
client1.cert  clientWallet  root.cert  rootWallet  server1.cert  serverWallet
% ls timesten_home/conf/wallets/clientWallet
cwallet.sso
% ls timesten_home/conf/wallets/serverWallet
cwallet.sso

次の例は、ドライ・ランです。証明書は作成されません(最終行の表示にかかわらず作成されません)。これは出力の一部のみを示しています。

% ttCreateCerts -dir timesten_home/conf/wallets -dryrun
...
+ /bin/java -Djava.security.egd=file:///dev/./urandom -Xms64m -Xmx512m -cp 
/scratch/classic221110/instances/tt221/install/lib/cryptoj_5_0.jar:
/scratch/classic221110/instances/tt221/install/lib/oraclepki.jar:
/scratch/classic221110/instances/tt221/install/lib/osdt_cert.jar:
/scratch/classic221110/instances/tt221/install/lib/osdt_core.jar 
oracle.security.pki.textui.OraclePKITextUI wallet add -wallet rootWallet -dn 
CN=ecRoot,C=US -sign_alg ecdsasha384 -self_signed -asym_alg ECC -eccurve p384 
-jsafe -validity 3650 -auto_login_only -nologo
...
ttCreateCerts : certificates created in timesten_home/conf/wallets

ここから、デフォルト設定が-sign_alg ecdsasha384-eccurve p384および-validity 3650 (日)になっていることがわかります。

次に、別の例を示します。この例では、楕円曲線の署名アルゴリズムとサイズを設定します。

% ttCreateCerts -dir timesten_home/conf/wallets -sign_alg ecdsasha256 
-eccurve p256
ttCreateCerts : certificates created in timesten_home/conf/wallets

この例では、証明書が作成されてから1年後に期限切れになることを指定しています。

% ttCreateCerts -dir timesten_home/conf/wallets -validity 365
ttCreateCerts : certificates created in timesten_home/conf/wallets

または、次のように指定します:

% ttCreateCerts -dir timesten_home/conf/wallets -valid_from 10/28/2022 
-valid_until 10/28/2023
ttCreateCerts : certificates created in timesten_home/conf/wallets

次の例は、ウォレットがすでに存在している場所にウォレットを作成しようとしています。

% ttCreateCerts -dir timesten_home/conf/wallets
ttCreateCerts: rootWallet is not empty, use -force to overwrite

この例では、-forceオプションを使用して再試行します。

% ttCreateCerts -dir timesten_home/conf/wallets -f
ttCreateCerts : certificates created in timesten_home/conf/wallets

結果のウォレットをリコールします:

% ls -F timesten_home/conf/wallets
client1.cert   root.cert    server1.cert
clientWallet/  rootWallet/  serverWallet/
% ls timesten_home/conf/wallets/clientWallet
cwallet.sso
% ls timesten_home/conf/wallets/serverWallet
cwallet.sso

ルート証明書を含むclientWalletディレクトリを目的の場所にコピーします。これは、各クライアントのインスタンスで同じ場所にすることをお薦めします。

% mkdir timesten_home/conf/wallets
[...Copy clientWallet from the server...]
% cd timesten_home/conf/wallets
% ls
clientWallet
% ls clientWallet
cwallet.sso

ノート:

ウォレットのファイルおよびディレクトリの権限に注意して保持してください。