通話セキュリティをオフにする

呼び出しセキュリティは、クライアントがサーバーのメソッドを呼び出すアクセス許可を持っているかどうかを決定します。 呼び出しセキュリティを無効にするには、Dcomcnfg.exeを使用してレジストリを変更する方法と、 CoInitializeSecurity を呼び出す必要がある方法の 2 つがあります。

DCOMCNFG を使用した通話セキュリティの無効化

呼び出しセキュリティは、Dcomcnfg.exeを使用してレジストリを変更することで、最も簡単に無効にすることができます。 ただし、Dcomcnfg.exeを使用してセキュリティをオフにすると、クライアントとサーバーの両方が CoInitializeSecurity を呼び出 さない場合にのみ機能します。 これは、 CoInitializeSecurity が呼び出されると、DCOM はレジストリ設定を無視し、代わりに CoInitializeSecurity に指定された値を使用するためです。

Dcomcnfg.exeでセキュリティをオフにするには、クライアントとサーバーの両方で認証レベルを None に設定する必要があります。 以下の手順を完了する必要があります:

  1. Dcomcnfg.exe を実行します。
  2. [アプリケーション] ページで 、サーバーを表すアプリケーションを選択します。 [プロパティ] ボタンをクリックします (または、選択したアプリケーションをダブルクリックします)。
  3. 一般 タブをクリックします。
  4. [既定の認証レベル] ボックスの一覧から [(None)] を選択します。
  5. [適用] ボタンをクリックして変更を適用しますが、アプリケーションの実行中のインスタンスには変更は適用されません。
  6. クライアントが [アプリケーション] ページの一覧に表示される場合は、手順 2~5 を繰り返し、手順 2 でサーバーではなくクライアントを選択します。 [OK] をクリックします。 クライアントが一覧にない場合は、次の 3 つのいずれかを実行できます。
    • Dcomcnfg.exeを使用して、コンピューター全体でクライアントの認証レベルを None に設定できます。 (警告と以下の手順を参照してください)。
    • クライアントの認証レベルをプログラムで None に設定できます。
    • クライアントの AppID キーを作成して、認証レベルが None であることを示すことができます。 (レジストリを使用したプロセス全体のセキュリティの設定をご覧ください。)

コンピューター全体で認証レベルを None に設定するには:

Note

コンピューター全体の認証レベルを None に設定することは、非常に安全ではありません。

 

  1. Dcomcnfg.exe を実行します。
  2. [既定のプロパティ] タブを選択します。
  3. [既定の認証レベル] ボックスの一覧から [(None)] を選択します。
  4. [OK] をクリックします。

プログラムによる通話セキュリティの無効化

プログラムで呼び出しセキュリティをオフにするには、クライアントとサーバーの両方で CoInitializeSecurity を呼び出し、 dwAuthnLevel パラメーターの認証レベルをRPC_C_AUTHN_LEVEL_NONEに設定する必要があります。

ライセンス認証のセキュリティをオフにする