Mobile Link サーバが同期要求を受信するために使用するネットワークプロトコルオプションを設定します。
別途ライセンスが必要な必須コンポーネント
FIPS 認定の暗号化には別のライセンスが必要です。強力な暗号化テクノロジはすべて、輸出規制対象品目です。
別途ライセンスが必要なコンポーネントを参照してください。
mlsrv16 -c "connection-string" -x protocol[protocol-options] [ -x protocol[protocol-options] ... ] ...
protocol : tcpip | tls | http | https | oe
protocol-options : ( option=value; ... )
使用するすべてのプロトコルに対して -c オプションを指定する必要があります。たとえば、Mobile Link で TCP/IP と HTTP の両方を受信するには、次のような指定を行います。
mlsrv16 -x tcpip(port=1234) -x http(port=2222) |
デフォルトは tcpip でポート 2439 を使用します。
許可されている protocol の値は次のとおりです。
tcpip TCP/IP を使用した接続を受け入れます。
tls TCP/IP およびトランスポートレイヤセキュリティ (TLS) を使用した接続を受け入れます。
http 標準の HTTP Web プロトコルを使用した接続を受け入れます。
https 安全なトランザクションを処理する HTTP の変形プロトコルを使用した接続を受け入れます。HTTPS プロトコルは、RSA 暗号化を使用して HTTP over SSL/TLS を実装します。
oe Relay Server を使用する場合は、統合化 Outbound Enabler を使用します。サーバのコマンドラインに複数の -x oe プロトコルを含めることはできません。
option=value の形式で次のネットワークプロトコルオプションを指定することもできます。個々の複数のオプションは、セミコロンで区切ってください。
TCP/IP オプション tcpip プロトコルを指定する場合は、次のプロトコルオプションを任意で指定できます (これらのオプションでは、大文字と小文字は区別されます)。
TCP/IP プロトコルオプション | 説明 |
---|---|
collect_network_data={ yes | no } | 同期のたびに同期スクリプトでネットワーク情報を読み取れるようにします。NetworkData インタフェース [Mobile Link サーバ Java]とNetworkData インタフェース [Mobile Link サーバ .NET]を参照してください。 |
host=hostname | Mobile Link サーバが受信に使用するホスト名または IP アドレス。デフォルト値は localhost です。 |
ignore=hostname | 接続を確立する場合に、Mobile Link サーバが無視するホスト名または IP アドレス。このオプションにより、考えられる最低レベルでの負荷分散装置からの要求を無視することができるため、Mobile Link サーバログや Mobile
Link Profiler 出力ファイルでの過剰な出力を回避できます。無視するホストは複数指定できます。たとえば、-x tcpip(ignore=lb1;ignore=123.45.67.89) の形式で指定します。コマンドラインで -x の複数のインスタンスを指定した場合、すべてのインスタンスでホストが無視されます。たとえば、-x tcpip(ignore=1.1.1.1) -x http と指定した場合、1.1.1.1 の接続は TCP/IP と HTTP の両方のストリームで無視されます。
|
port=portnumber | Mobile Link サーバが受信に使用するソケットポート番号。デフォルトのポートは 2439 です。これは、Mobile Link サーバの IANA 登録ポート番号です。 |
TLS (TCP/IP とトランスポートレイヤセキュリティ) オプション tls プロトコル (トランスポートレイヤセキュリティを使用する TCP/IP) を指定する場合は、次のプロトコルオプションを任意で指定できます (これらのオプションでは、大文字と小文字は区別されます)。
TLS プロトコルオプション | 説明 |
---|---|
collect_network_data={ yes | no } | 同期のたびに同期スクリプトでネットワーク情報を読み取れるようにします。NetworkData インタフェース [Mobile Link サーバ Java]とNetworkData インタフェース [Mobile Link サーバ .NET]を参照してください。 |
e2ee_private_key=file |
RSA プライベートキーを含む、PEM または DER でコード化されたファイル。エンドツーエンド暗号化を有効にするためには、このオプションが必須です。 PEM および DER でコード化されたファイルは、createkey ユーティリティを使用して作成します。 キーペアジェネレータユーティリティ (createkey)を参照してください。 |
e2ee_private_key_password=password |
プライベートキーファイルのパスワード。エンドツーエンド暗号化を有効にするためには、このオプションが必須です。 このオプションが指定された場合、e2ee_private_key パラメータも指定する必要があります。 このパスワードを Mobile Link サーバのコマンドラインで表示されないようにするには、dbfhide ユーティリティを使用します。 ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
fips={yes|no} | RSA で TLS プロトコルを使用している場合、fips=yes を指定して、TCP/IP プロトコルと、FIPS 認定の暗号化アルゴリズムを使用して接続を受け入れることができます。FIPS 認定接続では、別の FIPS 140-2 認定ソフトウェアを使用します。FIPS 認定暗号化のない RSA 暗号化を使用しているサーバは、fips オプションが有効化された RSA を使用するクライアントと互換性があります。fips オプションが有効化された RSA を使用するサーバは、fips オプションが有効化されていない RSA を使用しているクライアントと互換性があります。 |
host=hostname | Mobile Link サーバが受信に使用するホスト名または IP アドレス。デフォルト値は localhost です。 |
identity=identity-file | サーバ認証で使用される ID ファイルのパスとファイル名。 |
identity_password=password |
ID ファイルのパスワードを指定する省略可能なパラメータ。 このオプションが指定された場合、identity オプションも指定する必要があります。 トランスポートレイヤセキュリティを参照してください。 このパスワードを Mobile Link サーバのコマンドラインで表示されないようにするには、dbfhide ユーティリティを使用します。 ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
ignore=hostname | 接続を確立する場合に、Mobile Link サーバが無視するホスト名または IP アドレス。このオプションにより、考えられる最低レベルでの負荷分散装置からの要求を無視することができるため、Mobile Link サーバログや Mobile
Link Profiler 出力ファイルでの過剰な出力を回避できます。無視するホストは複数指定できます。たとえば、-x tcpip(ignore=lb1;ignore=123.45.67.89) の形式で指定します。
|
port=portnumber | Mobile Link サーバが受信に使用するソケットポート番号。デフォルトのポートは 2439 です。これは、Mobile Link サーバの IANA 登録ポート番号です。 |
trusted_certificates=certificate_file |
このオプションを使用してクライアント証明書が有効であることを確認し、さらに NetworkData.ClientCertificates API を使用して、authenticate_user スクリプトで証明書を認証します。 NetworkData インタフェース [Mobile Link サーバ Java]とNetworkData インタフェース [Mobile Link サーバ .NET]を参照してください。 |
HTTP オプション http プロトコルを指定する場合は、次のプロトコルオプションを任意で指定できます (これらのオプションでは、大文字と小文字は区別されます)。
HTTP オプション | 説明 |
---|---|
buffer_size=number | Mobile Link サーバから送信される HTTP メッセージの本文の最大サイズ (バイト単位)。このオプションを変更すると、HTTP メッセージの送信に割り当てられるメモリ量が減少または増加します。デフォルトは 65536 バイトです。 |
collect_network_data={ yes | no } | 同期のたびに同期スクリプトでネットワーク情報を読み取れるようにします。NetworkData インタフェース [Mobile Link サーバ Java]とNetworkData インタフェース [Mobile Link サーバ .NET]を参照してください。 |
header_limit=number | HTTP 要求で送信可能なヘッダデータの最大容量。要求が指定した値を上回ると、サーバは HTTP エラーコードを返し、要求をアボートします。たとえば、-x http(header_limit=200000) により上限が 200000 バイトになります。デフォルト値は 64000 バイトです。
|
host=hostname | Mobile Link サーバが受信に使用するホスト名または IP アドレス。デフォルト値は localhost です。 |
log_bad_request={ yes | no } | yes に設定すると、Mobile Link サーバは不完全または予期しない HTTP 要求を受信した場合にエラーを出力します。これらのエラーは、-vf オプションによって出力されるエラーに似ています。デフォルトは no です。 -v mlsrv16 オプションを参照してください。 |
port=portnumber | Mobile Link サーバが受信に使用するソケットポート番号。デフォルトのポートは 80 です。 |
version=http-version | Mobile Link サーバは、クライアントが使用している HTTP のバージョンを自動的に検出します。このパラメータは、クライアントが使用しているバージョンをサーバが検出できない場合に使用される、HTTP のデフォルトバージョンを指定する文字列です。1.0 または 1.1 を選択できます。デフォルト値は 1.1 です。 |
HTTPS オプション HTTPS プロトコルでは、トランスポートレイヤセキュリティで RSA デジタル証明書を使用します。FIPS 暗号化を指定すると、プロトコルは、HTTPS と互換性のある、別の FIPS 140-2 承認ソフトウェアを使用します。
詳細については、トランスポートレイヤセキュリティを使用する Mobile Link サーバの起動を参照してください。
https プロトコルを指定する場合は、オプションで次のプロトコルオプションを指定できます (これらのオプションでは、大文字と小文字は区別されます)。
HTTPS オプション | 説明 |
---|---|
buffer_size=number | Mobile Link サーバから送信される HTTPS メッセージの本文の最大サイズ (バイト単位)。このオプションを変更すると、HTTPS メッセージの送信に割り当てられるメモリ量が減少または増加します。デフォルトは 65536 バイトです。 |
collect_network_data={ yes | no } | 同期のたびに同期スクリプトでネットワーク情報を読み取れるようにします。NetworkData インタフェース [Mobile Link サーバ Java]とNetworkData インタフェース [Mobile Link サーバ .NET]を参照してください。 |
e2ee_private_key=file |
RSA プライベートキーを含む、PEM または DER でコード化されたファイル。エンドツーエンド暗号化を有効にするためには、このオプションが必須です。 PEM および DER でコード化されたファイルは、createkey ユーティリティを使用して作成します。 キーペアジェネレータユーティリティ (createkey)を参照してください。 |
e2ee_private_key_password=password |
プライベートキーファイルのパスワード。エンドツーエンド暗号化を有効にするためには、このオプションが必須です。 このオプションが指定された場合、e2ee_private_key オプションも指定する必要があります。 このパスワードを Mobile Link サーバのコマンドラインで表示されないようにするには、dbfhide ユーティリティを使用します。 ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
fips={yes|no} | RSA で TLS プロトコルを使用している場合、fips=yes を指定して、TCP/IP プロトコルと、FIPS 認定の暗号化アルゴリズムを使用して接続を受け入れることができます。FIPS 認定接続では、別の FIPS 140-2 認定ソフトウェアを使用します。FIPS 認定暗号化のない RSA 暗号化を使用しているサーバは、fips オプションが有効化された RSA を使用するクライアントと互換性があります。fips オプションが有効化された RSA を使用するサーバは、fips オプションが有効化されていない RSA を使用しているクライアントと互換性があります。 |
header_limit=number | HTTPS 要求で送信可能なヘッダデータの最大容量。要求が指定した値を上回ると、サーバはエラーコードを返し、要求をアボートします。たとえば、-x https(header_limit=200000) により上限が 200000 バイトになります。デフォルト値は 64000 バイトです。
|
host= hostname | Mobile Link サーバが受信に使用するホスト名または IP アドレス。デフォルト値は localhost です。 |
identity=server-identity | サーバ認証で使用される ID ファイルのパスとファイル名。 |
identity_password=password |
ID ファイルのパスワードを指定する省略可能なパラメータ。 このオプションが指定された場合、identity オプションも指定する必要があります。 トランスポートレイヤセキュリティを参照してください。 このパスワードを Mobile Link サーバのコマンドラインで表示されないようにするには、dbfhide ユーティリティを使用します。 ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
log_bad_request={ yes | no } | yes に設定すると、Mobile Link サーバは不完全または予期しない HTTP 要求を受信した場合にエラーを出力します。これらのエラーは、-vf オプションによって出力されるエラーに似ています。デフォルトは no です。 -v mlsrv16 オプションを参照してください。 |
port=portnumber | Mobile Link サーバが受信に使用するソケットポート番号。ポート番号は、Mobile Link サーバがモニタするように設定されているポートと一致させます。デフォルトのポートは 443 です。 |
trusted_certificates=certificate_file |
このオプションを使用してクライアント証明書が有効であることを確認し、さらに NetworkData.ClientCertificates API を使用して、authenticate_user スクリプトで証明書を認証します。 NetworkData インタフェース [Mobile Link サーバ Java]とNetworkData インタフェース [Mobile Link サーバ .NET]を参照してください。 |
version=http-version | Mobile Link サーバは、クライアントが使用している HTTP のバージョンを自動的に検出します。このパラメータは、クライアントが使用しているバージョンをサーバが検出できない場合に使用される、HTTP のデフォルトバージョンを指定する文字列です。1.0 または 1.1 を選択できます。デフォルト値は 1.1 です。 |
OE オプション oe プロトコルを指定する場合は、次のプロトコルオプションを任意で指定できます (これらのオプションでは、大文字と小文字は区別されます)。
OE プロトコルオプション | 説明 |
---|---|
buffer_size=number |
Mobile Link サーバから送信される HTTP メッセージの本文の最大サイズ (バイト単位)。このオプションを変更すると、HTTP メッセージの送信に割り当てられるメモリ量が減少または増加します。デフォルトは 65536 バイトです。 |
config=file |
Outbound Enabler 設定ファイル。ファイル内で -cs オプションを指定していない場合、スタンドアロン Outbound Enabler の設定ファイルと同じフォーマットを持ちます。 設定ファイルは 1 つのみ指定してください。 |
header_limit=number | OE 要求で送信可能なヘッダデータの最大容量。要求が指定した値を上回ると、サーバはエラーコードを返し、要求をアボートします。たとえば、-x oe(header_limit=200000) により上限が 200000 バイトになります。デフォルト値は 64000 バイトです。
|
log_bad_request={yes|no} | yes に設定すると、Mobile Link サーバは不完全または予期しない HTTP 要求を受信した場合にエラーを出力します。これらのエラーは、-vf オプションによって出力されるエラーに似ています。デフォルトは no です。 -v mlsrv16 オプションを参照してください。 |
version=http-version |
Mobile Link サーバは、クライアントが使用している HTTP のバージョンを自動的に検出します。このパラメータは、クライアントが使用しているバージョンをサーバが検出できない場合に使用される、HTTP のデフォルトバージョンを指定する文字列です。1.0 または 1.1 を選択できます。デフォルト値は 1.1 です。 |
次のコマンドラインは TCP/IP ポートを 12345 に設定します。
mlsrv16 -c "DSN=SQL Anywhere 16 CustDB;UID=DBA;PWD=sql" -x tcpip(port=12345) |
次の例では、セキュリティのタイプ (RSA)、サーバ ID ファイル、サーバのプライベートキーを保護する ID パスワードを指定します。
mlsrv16 -c "DSN=my_cons" -x tls(identity=c:\test\serv_rsa1.crt;identity_password=pwd) |
次の例は前の例と似ていますが、ID ファイル名にスペースが含まれる点だけが異なります。
mlsrv16 -c "DSN=my_cons" -x "tls(identity=c:\Program Files\test\serv_rsa1.crt;identity_password=pwd)" |
次の例は、HTTPS を使用したエンドツーエンド暗号化の使い方を示します。
mlsrv16 -c "DSN=my_cons" -x https(identity=my_identity.crt; identity_password=my_id_pwd;e2ee_private_key=my_pk.pem; e2ee_private_key_password=my_pk_pwd) |
次の例は、統合化 Outbound Enabler の使用方法を示します。
mlsrv16 -c "DSN=my_cons" -x oe(config=oeconfig.txt) |
上記の例では、oeconfig.txt ファイルには次の内容が含まれています。
-f farm.name -id servername -t a18b2e37dbc296322ec5a6eded6ba896 -cr "host=relayserver.sybase.com;https=0;port=80" |
次に、NetworkData インタフェースを使用して安全な同期から証明書情報を取得する方法の例を示します。
public class OrderProcessor { DBConnectionContext _cc; public OrderProcessor( DBConnectionContext cc ) { _cc = cc; } // The method used for the authenticate_user event. public void AuthUser() { NetworkData nd = _cc.getNetworkData(); if( nd != null ) { if( nd.isTLS() ) { CertPath certs = nd.getCertificateChain(); if( certs != null ) { System.out.println( " client-side cert:" ); int n = 1; for( Certificate c : certs.getCertificates() ) { System.out.println( " cert " + n++ ); X509Certificate c509 = (X509Certificate) c; System.out.println( " Subject: " + c509.getSubjectX500Principal().getName() ); System.out.println( " Issuer: " + c509.getIssuerX500Principal().getName() ); } } else { System.out.println( " no client cert" ); } } } } } |
次の SQL 文を実行して、Java メソッドを登録します。
ml_add_java_connection_script( <version>, 'authenticate_user', 'OrderProcessor.AuthUser' ) |
次の 2 つの例で、Mobile Link コマンドラインに追加するオプションを示します。最初は HTTPS のための例で、2 番目は TLS のための例です。
mlsrv16 -c <connection_string> -x https(collect_network_data=1;trusted_certificates=<certificate_file>) -sl java |
mlsrv16 -c <connection_string> -x tls(collect_network_data=1;trusted_certificates=<certificate_file>) -sl java |
次に、NetworkData インタフェースを使用して安全な同期から証明書情報を取得する方法の例を示します。
public class OrderProcessor { DBConnectionContext _cc; public OrderProcessor( DBConnectionContext cc ) { _cc = cc; } public void AuthUser() { NetworkData nd = _cc.NetworkData; if( nd != null ) { if( nd.IsTLS ) { X509Certificate2Collection certs = nd.ClientCertificates; if( certs != null ) { PrintLn( " client-side cert:" ); int n = 1; foreach( X509Certificate2 x509 in certs ) { PrintLn( " cert " + n++ ); PrintLn( " Subject: " + x509.SubjectName.Name ); PrintLn( " Issuer: " + x509.IssuerName.Name ); } } } } } } |
次の SQL 文を実行して、.NET メソッドを登録します。
ml_add_dnet_connection_script( <version>, 'authenticate_user', 'OrderProcessor.AuthUser' ) |
次の 2 つの例で、Mobile Link コマンドラインに追加するオプションを示します。最初は HTTPS のための例で、2 番目は TLS のための例です。
mlsrv16 -c <connection_string> -x https(collect_network_data=1;trusted_certificates=<certificate_file>) -sl dnet |
mlsrv16 -c <connection_string> -x tls(collect_network_data=1;trusted_certificates=<certificate_file>) -sl dnet |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |