IBackgroundCopyJobHttpOptions3::SetServerCertificateValidationInterface メソッド (bits10_3.h)
サーバー証明書は、HTTPS 接続が開かれると送信されます。 このメソッドを使用して、これらのサーバー証明書を検証するために呼び出されるコールバックを設定します。
構文
HRESULT SetServerCertificateValidationInterface(
IUnknown *certValidationCallback
);
パラメーター
certValidationCallback
型: IUnknown*
IBackgroundCopyServerCertificateValidationCallbacknullptr
に設定します。
戻り値
型: HRESULT
関数が成功した場合は、S_OKを返します。 それ以外の場合は、HRESULTエラー コードを返します。
戻り値 | 形容 |
---|---|
E_NOINTERFACE | IBackgroundCopyServerCertificateValidationCallback |
BG_E_READ_ONLY_WHEN_JOB_ACTIVE | コールバックを設定するには、ジョブの状態を PAUSED にする必要があります。 |
備考
サーバー証明書に対して独自のチェックを実行する場合は、このメソッドを使用します。
IBackgroundCopyServerCertificateValidationCallback インターフェイスを実装する場合にのみ、このメソッドを呼び出します。
アプリケーションが終了すると、検証インターフェイスが無効になります。BITS は検証インターフェイスのレコードを保持しません。 その結果、アプリケーションの初期化プロセスでは、証明書検証要求を受け取る既存のジョブ SetServerCertificateValidationInterface を呼び出す必要があります。
SetServerCertificateValidationInterface
証明書の OS 検証中に証明書エラーが見つかった場合、接続は中止され、カスタム コールバックは呼び出されません。 IBackgroundCopyJobHttpOptions::SetSecurityFlagsを呼び出して、OS 検証ロジックをカスタマイズできます。 たとえば、予想される証明書の検証エラーを無視できます。
OS 検証に合格した場合、TLS ハンドシェイクを完了する前と HTTP 要求が送信される前に、IBackgroundCopyServerCertificateValidationCallback::ValidateServerCertificate メソッドが呼び出されます。
検証メソッドが証明書を拒否した場合、ジョブは BG_ERROR_CONTEXT_SERVER_CERTIFICATE_CALLBACK のジョブ エラー コンテキストで BG_JOB_STATE_TRANSIENT_ERROR に遷移し、HRESULT エラーがコールバックから されます。 コールバックを呼び出せなかった場合 (たとえば、プログラムの終了後に BITS がサーバー証明書を検証する必要があるため)、ジョブ エラー コードは BG_E_SERVER_CERT_VALIDATION_INTERFACE_REQUIRED。 アプリケーションが次に実行されるときに、検証コールバックをもう一度設定してジョブを再開することで、このエラーを修正できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1809 [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2016 [デスクトップ アプリのみ] |
ヘッダー | bits10_3.h (Bits.h を含む) |
ライブラリ | Bits.lib |
DLL | Bits.dll |
関連項目
IBackgroundCopyServerCertificateValidationCallback の