レプリケーションおよびClient/Server用のTLS証明書の作成

デフォルトでは、TimesTenレプリケーションは、TimesTenデータベース間で暗号化されていないデータを転送します。また、TimesTen Client/Server環境では、デフォルトで、データはアプリケーションとTimesTenデータベース間で暗号化されずに転送されます。

レプリケーションおよびClient/Serverの暗号化は、Transport Layer Security (TLS)を使用することで有効化できます。TimesTenには、TLS用の自己署名証明書を生成するためのttCreateCertsユーティリティがあります。TLS証明書とウォレットの詳細は、『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』Client/Serverでの証明書の使用についてを参照してください。

ノート:

ttCertsCreateユーティリティを使用するには、Javaが開発ホストにインストールされている必要があります。このユーティリティは、JRE_HOMEJAVA_HOMEおよびPATHの設定に従ってJavaを検索します。

ttCreateCertsユーティリティは、TimesTenインスタンスの/binディレクトリ内にあります。このユーティリティにより、3つのウォレットrootWalletclientWalletおよびserverWalletが作成されます。

Linux開発ホストから、次のステップを実行して証明書を作成します。

  1. インストール環境のbinディレクトリに移動し、ttInstanceCreateユーティリティを対話形式で実行してインスタンスを作成します。installation_dirディレクトリは、TimesTenディストリビューションの解凍時に作成されたものです。

    ttCreateCertsユーティリティはTimesTenインスタンスから実行されるため、TimesTenインスタンスを作成する必要があります。ttInstanceCreateユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』ttInstanceCreateを参照してください。

    インスタンス・ディレクトリ(この例では/scratch/ttuser/instance_dir)を作成し、パラメータの-name-locationを指定してttInstanceCreateユーティリティを実行します。この例では、インスタンスの名前としてinstance1を使用し、インスタンスの場所として/scratch/ttuser/instance_dirを使用します。

    % mkdir /scratch/ttuser/instance_dir
    
    % installation_dir/tt22.1.1.27.0/bin/ttInstanceCreate -name instance1 
    -location /scratch/ttuser/instance_dir
    Creating instance in /scratch/ttuser/instance_dir/instance1 ...
    INFO: Mapping files from the installation to /scratch/ttuser/
    instance_dir/instance1/install
     
    NOTE: The TimesTen daemon startup/shutdown scripts have not been installed.
     
    The startup script is located here :
            '/scratch/ttuser/instance_dir/instance1/startup/tt_instance1'
     
    Run the 'setuproot' script :
            /scratch/ttuser/instance_dir/instance1/bin/setuproot -install
    This will move the TimesTen startup script into its appropriate location.
     
    The 22.1 Release Notes are located here :
      'installation_dir/tt22.1.1.27.0/README.html'
    
  2. TIMESTEN_HOME環境変数を設定します。この変数は、ttCertsCreateユーティリティの実行前に設定する必要があります。インスタンスのbinディレクトリから、ttenv.cshまたはttenv.shスクリプトを実行します。

    この例では、bash Bourneタイプのシェルを使用します。(出力のすべては示していません)。

    % . /scratch/ttuser/instance_dir/instance1/bin/ttenv.sh
    LD_LIBRARY_PATH set to 
    ...
    PATH set to 
    ...
    CLASSPATH set to 
    TIMESTEN_HOME set to /scratch/ttuser/instance_dir/instance1
    
  3. インスタンスのbinディレクトリから、ttCreateCertsユーティリティを実行します。この例では、-verbose修飾子を使用することで詳細な出力を表示します。ttCreateCertsユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』TimesTen ClassicでのClient/Server用のTLSの使用を参照してください。

    デフォルトのウォレット・ディレクトリは、timesten_home/confです。このtimesten_homeは、TimesTenインスタンスのホーム・ディレクトリです。この例では、このデフォルトのウォレット・ディレクトリを使用します。

    % /scratch/ttuser/instance_dir/instance1/bin/ttCreateCerts -verbose
    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 /scratch/ttuser/instance_dir/
    instance1/conf
    
  4. ウォレットの場所と証明書(boldで表示)を確認します。serverWalletディレクトリ内のcwallet.ssoは、replicationWalletメタデータ・ファイルとしてレプリケーション用およびClient/Server環境のサーバー用に指定するファイルです。clientWalletディレクトリのcwallet.ssoは、Client/Server環境のクライアント用に使用するファイルです。replicationWalletおよびclientWalletメタデータ・ファイルの詳細は、「構成メタデータの詳細について」を参照してください。これらのメタデータ・ファイルの使用方法の詳細は、「レプリケーション用のTLSの構成」および「Client/Server用のTLSの構成」も参照してください。

    (該当するcwallet.ssoファイルについても、boldで表示しています)。

    % ls $TIMESTEN_HOME/conf
    client1.cert  root.cert   server1.cert  snmp.ini      sys.ttconnect.ini
    clientWallet  rootWallet  serverWallet  sys.odbc.ini  timesten.conf
    
    % ls $TIMESTEN_HOME/conf/*Wallet*
    /scratch/ttuser/instance_dir/instance1/conf/clientWallet:
    cwallet.sso  cwallet.sso.lck
     
    /scratch/ttuser/instance_dir/instance1/conf/rootWallet:
    cwallet.sso  cwallet.sso.lck
     
    /scratch/ttuser/instance_dir/instance1/conf/serverWallet:
    cwallet.sso  cwallet.sso.lck
    

レプリケーションとTimesTen Client/Serverの両方でTLSに使用できる証明書の作成が完了しました。この時点で、レプリケーションとClient/Serverのどちらかに、またはレプリケーションとClient/Serverの両方に、TLSを構成して使用する準備が整いました。