/// <summary> /// Begins verification of the end <see cref="Certificate"/> according to the SSL policy rules. /// </summary> /// <param name="server">The server that returned the certificate -or- a null reference if the certificate is a client certificate.</param> /// <param name="type">One of the <see cref="AuthType"/> values.</param> /// <param name="flags">One or more of the <see cref="VerificationFlags"/> values. VerificationFlags values can be combined with the OR operator.</param> /// <param name="callback">The <see cref="AsyncCallback"/> delegate.</param> /// <param name="asyncState">An object that contains state information for this request.</param> /// <returns>An <see cref="IAsyncResult"/> that references the asynchronous connection.</returns> /// <exception cref="CertificateException">An error occurs while queuing the verification request.</exception> public virtual IAsyncResult BeginVerifyChain(string server, AuthType type, VerificationFlags flags, AsyncCallback callback, object asyncState) { CertificateVerificationResult ret = new CertificateVerificationResult(this, server, type, flags, callback, asyncState); if (!ThreadPool.QueueUserWorkItem(new WaitCallback(this.StartVerification), ret)) { throw new CertificateException("Could not schedule the certificate chain for verification."); } return(ret); }
/// <summary> /// Begins verification of the end <see cref="Certificate"/> according to the SSL policy rules. /// </summary> /// <param name="server">The server that returned the certificate -or- a null reference if the certificate is a client certificate.</param> /// <param name="type">One of the <see cref="AuthType"/> values.</param> /// <param name="flags">One or more of the <see cref="VerificationFlags"/> values. VerificationFlags values can be combined with the OR operator.</param> /// <param name="callback">The <see cref="AsyncCallback"/> delegate.</param> /// <param name="asyncState">An object that contains state information for this request.</param> /// <returns>An <see cref="IAsyncResult"/> that references the asynchronous connection.</returns> /// <exception cref="CertificateException">An error occurs while queuing the verification request.</exception> public virtual IAsyncResult BeginVerifyChain(string server, AuthType type, VerificationFlags flags, AsyncCallback callback, object asyncState) { CertificateVerificationResult ret = new CertificateVerificationResult(this, server, type, flags, callback, asyncState); if (!ThreadPool.QueueUserWorkItem(new WaitCallback(this.StartVerification), ret)) throw new CertificateException("Could not schedule the certificate chain for verification."); return ret; }