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
ノート:
ウォレットのファイルおよびディレクトリの権限に注意して保持してください。