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_HOME
、JAVA_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
には、次の入力とオプションがあります:
オプション | 説明 |
---|---|
|
ウォレットを配置するディレクトリを絶対パスとして指定します。 指定したディレクトリは、すでに存在している必要があります。また、 |
|
ヘルプを表示します(前述の構文を表示します)。 |
|
TimesTenリリース番号を表示します。 |
|
以前のウォレットが指定したディレクトリ内にあれば上書きします。 |
|
ユーティリティの実行からの追加出力を表示します。 |
|
作成するウォレットの存続期間を指定する2つの方法のうちの1つで、作成からの日数として期間を表します。 デフォルトは3650日です。これは、 |
|
作成するウォレットの存続期間を指定するもう1つの方法。期間は開始日および終了日としてmm/dd/yyyy形式で表します。 |
|
設定していないオプションについては、これを使用することでデフォルト値を確認できます。 |
|
楕円曲線署名アルゴリズムを指定します。 サポートされているアルゴリズムは、 |
|
楕円曲線のサイズを指定します。 サポートされる値は、 |
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
ノート:
ウォレットのファイルおよびディレクトリの権限に注意して保持してください。