Oracle SQL*Net 暗号化の構成
Oracle データベースへの Windchill RV&S Server の接続を正しく構成するには、クライアント側 (Windchill RV&S Server) からサーバー側 (Oracle データベース) へ互換性のある接続を定義する必要があります。このシナリオでは、Windchill RV&S Server がクライアント、Oracle データベースがサーバーと想定しています。互換性の詳細については、次の Oracle ドキュメンテーションを参照してください。
特に参考になるのは、JDBC Client-Side Security Features ドキュメントにある「Table 9-1 Client/Server Negotiations for Encryption or Windchill RV&S」です。サポートされているアルゴリズムとチェックサムは、クライアント (Windchill RV&S Server) とサーバー (Oracle データベース) 間で同じである必要があります。
Windchill RV&S Server には、Oracle JDBC Thin ドライババージョン 12.2.0.1 が含まれています。そのため、このバージョンのドライバで提供されるアルゴリズムとチェックサムのセットだけがサポートされます。
プロパティの設定
Oracle ドキュメンテーションでは、OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL などのプロパティを持つ Java プロパティのオブジェクトを使用したデータ暗号化パラメータの設定方法について説明しています。Windchill RV&S はこのアプローチをサポートしていません。代わりに、一致する Java システムのプロパティを設定する必要があります。
これらのプロパティは、データベースへの Windchill RV&S Server 接続用に設定する必要のある主な構成オプションに直接マッピングします。
パラメータ
|
値
|
oracle.net.encryption_client
|
次のいずれかです。
• accepted
• rejected
• requested
• required
|
oracle.net.encryption_types_client
|
次のサポート対象のアルゴリズムの括弧で囲まれた、コンマ区切りのリスト。
• AES256
• AES192
• AES128
• 3DES168
• 3DES112
• DES56C
• DES40C
• RC4_256
• RC4_128
• RC4_40
• RC4_56
|
oracle.net.crypto_checksum_client
|
次のいずれかです。
• accepted
• rejected
• requested
• required
|
oracle.net.crypto_checksum_types_client
|
次のサポート対象のアルゴリズムの括弧で囲まれた、コンマ区切りのリスト。
• MD5
• SHA1
|
<Windchill RV&S Server のインストールディレクトリ>/config/mksservice.conf ファイルで、mks.java.additional.<index> プロパティを追加してこれらのプロパティを定義します。ここで、<index> は追加のプロパティで、一意である必要があります。これにより、Windchill RV&S Server への Oracle JDBC 接続に必要な構成情報が提供されます。サーバーに付属しているコマンドラインユーティリティについても、同様の変更を行う必要があります。これを行うには、<Windchill RV&S Server のインストールディレクトリ>/bin ディレクトリ内の LAX ファイル (isutil.lax ファイル、PatchServer.lax ファイル、collectSupportPackage.lax ファイル、encryptPassword.lax ファイル) にシステムプロパティを追加します。システムプロパティを lax.nl.java.option.additional プロパティに追加する必要があります。
次の例では、以下の条件で SQL*Net 暗号化を使用するために、Windchill RV&S Server およびサポート対象コマンドラインユーティリティを構成します。
• 暗号化が必要。
• 暗号化は DES40C アルゴリズムに限定。
• チェックサムが必要。
• チェックサムは MD5 アルゴリズムに限定。
最初のタスクは、mksservice.conf ファイルを更新することです。このファイルにすでにインデックス 30 まで追加のプロパティが定義されている場合、次を追加します。
mks.java.additional.31=-Doracle.net.encryption_client=REQUIRED
mks.java.additional.32=-Doracle.net.encryption_types_client="( DES40C )"
mks.java.additional.33=-Doracle.net.crypto_checksum_client=REQUESTED
mks.java.additional.34=-Doracle.net.crypto_checksum_types_client="( MD5 )"
2 番目のタスクは、LAX ファイルを更新することです。次は、この例における現在の lax.nl.java.option.additional プロパティです。
lax.nl.java.option.additional=-XX:+UseCompressedOops -Dmks.installDir=
c:/example/Windchill/RVSServer12 -Dmks.install=server -Duser.language=en
-Djava.util.Arrays.useLegacyMergeSort=true -Djdk.lang.Process.
allowAmbiguousCommands=true -Dhttps.protocols=TLSv1.1,TLSv1.2
-Djdk.tls.client.protocols=TLSv1.1,TLSv1.2
|
LAX ファイルでは、このプロパティは 1 行に表示されます。読みやすくするために、ここでは改行が追加されています。
|
このプロパティは次のように更新されます。
lax.nl.java.option.additional=-XX:+UseCompressedOops -Dmks.installDir=
c:/example/Windchill/RVSServer12 -Dmks.install=server -Duser.language=en
-Djava.util.Arrays.useLegacyMergeSort=true -Djdk.lang.Process.
allowAmbiguousCommands=true -Dhttps.protocols=TLSv1.1,TLSv1.2
-Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 -Doracle.net.
encryption_client=REQUIRED -Doracle.net.encryption_types_
client="( DES40C )" -Doracle.net.crypto_checksum_client=REQUESTED
-Doracle.net.crypto_checksum_types_client="( MD5 )"