Socket Proxy компонент и SSL

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by interpUten, 28 Sep 2010.

  1. interpUten

    interpUten New Member

    Joined:
    28 Sep 2010
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Доброго времени суток, у меня такой вопрос - есть компонент, "прозрачный" врапер под socket, для работы с Socks4,5,CONNECT под C#, так вот хочу попробовать добавить в него поддержку SSL(делаю свой небольшой компонент для работы с HTTT/HTTPS с поддержкой Socks проксиков), делаю вот так:
    PHP:

               IProxyClient proxyClient 
    null;
                
    TcpClient tcpClient null;
                
    proxyClient = new Socks5ProxyClient("Прокси_Адрес"Прокси_Порт);// Конектимся к прокси серверу
                
    try
                {
                   
    tcpClient proxyClient.CreateConnection("Адрес_Удаленного_Сайта"Порт_Удаленного_Сайта);// Конектимся к удаленному хосту
                   
    proxyClient.TcpClient.ReceiveTimeout 30000;
                   
    proxyClient.TcpClient.SendTimeout 30000;
                }
                catch (
    Exception ex)
                {
                    
    MessageBox.Show(ex.Message"Connection Error");
                    
    tcpClient.Close();
                    return;
                }

                
    SslStream ssl = new SslStream(tcpClient.GetStream(), true, new RemoteCertificateValidationCallback(CertificateValidationCallback)); 
                 
                
                try
                {
                    
    ssl.AuthenticateAsClient("Адрес_Удаленного_Сайта");
                }

                catch (
    AuthenticationException ex)
                {
                    
    MessageBox.Show("Exception: {0}"ex.Message);
                    if (
    ex.InnerException != null)
                    {
                        
    MessageBox.Show("Inner exception: {0}"ex.InnerException.Message);
                    }
                    
    MessageBox.Show("Authentication failed - closing the connection.");
                    
    ssl.Close();
                    
    tcpClient.Close();
                   
                    return;
                }
               .....................
            static 
    bool CertificateValidationCallback(object senderX509Certificate certificateX509Chain chainSslPolicyErrors sslPolicyErrors)
            {

                return 
    true;
            }
    и выпадаю в экспешен в этой строке ssl.AuthenticateAsClient(tbWebHost.Text); - Проверка подлинности не пройдена из-за закрытия транспортного потока удаленной стороной.
    Если взять отдельно просто конект через прокси - то все нормально, или просто конект через SslStream тоже все в порядке.
    Буду признателен если подскажите как можно организовать работу с SSL с этим компонентом.


    UPD.
    Не актуально, разобрался самостоятельно, тему в утиль.
     
    #1 interpUten, 28 Sep 2010
    Last edited: 28 Sep 2010