/// <exception cref="Sharpen.NoSuchAlgorithmException"></exception>
        /// <exception cref="Sharpen.KeyStoreException"></exception>
        public virtual Apache.Http.Conn.Ssl.SSLContextBuilder LoadTrustMaterial(KeyStore
                                                                                truststore, TrustStrategy trustStrategy)
        {
            TrustManagerFactory tmfactory = TrustManagerFactory.GetInstance(TrustManagerFactory
                                                                            .GetDefaultAlgorithm());

            tmfactory.Init(truststore);
            TrustManager[] tms = tmfactory.GetTrustManagers();
            if (tms != null)
            {
                if (trustStrategy != null)
                {
                    for (int i = 0; i < tms.Length; i++)
                    {
                        TrustManager tm = tms[i];
                        if (tm is X509TrustManager)
                        {
                            tms[i] = new SSLContextBuilder.TrustManagerDelegate((X509TrustManager)tm, trustStrategy
                                                                                );
                        }
                    }
                }
                for (int i_1 = 0; i_1 < tms.Length; i_1++)
                {
                    this.trustmanagers.AddItem(tms[i_1]);
                }
            }
            return(this);
        }