Overview
Features
Download
Documentation
Community
Add-Ons & Services

HTTPS Error..."Segmentation fault" in Ubuntu

Please post support and help requests here.

HTTPS Error..."Segmentation fault" in Ubuntu

Postby vanxining » 18 Dec 2009, 10:50

Hi,everyone.I encounter a problem when using NetSSL in Linux.
Here is the code:
Code: Select all
#include "Poco/Util/Application.h"
#include "Poco/URIStreamOpener.h"
#include "Poco/StreamCopier.h"
#include "Poco/Path.h"
#include "Poco/URI.h"
#include "Poco/SharedPtr.h"
#include "Poco/Exception.h"
#include "Poco/Net/HTTPRequest.h"
#include "Poco/Net/HTTPResponse.h"
#include "Poco/Net/HTTPSClientSession.h"
#include "Poco/Net/SSLManager.h"
#include "Poco/Net/KeyConsoleHandler.h"
#include "Poco/Net/ConsoleCertificateHandler.h"
#include <memory>
#include <iostream>

using Poco::Util::Application;
using Poco::URIStreamOpener;
using Poco::StreamCopier;
using Poco::Path;
using Poco::URI;
using Poco::SharedPtr;
using Poco::Exception;
using Poco::Net::SSLManager;
using Poco::Net::Context;
using Poco::Net::KeyConsoleHandler;
using Poco::Net::PrivateKeyPassphraseHandler;
using Poco::Net::InvalidCertificateHandler;
using Poco::Net::ConsoleCertificateHandler;

class App:public Poco::Util::Application
{
    public:
        int init(int argc, char** argv)
        {
            return 0;
           if (argc != 2)
           {
              Path p(argv[0]);
              std::cerr << "usage: " << p.getBaseName() << " <uri>" << std::endl;
              std::cerr << "       Download <uri> to standard output." << std::endl;
              std::cerr << "       Works with http, https, ftp and file URIs." << std::endl;
              return 0;
           }
        }
        int run()
        {
            //URI uri("https://mail.google.com/");//This works
            URI uri("https://172.19.172.1:444/wlan1/login.html");//This doesn't work
            std::string path(uri.getPathAndQuery());
            if(path.empty()) path = "/";

            SharedPtr<InvalidCertificateHandler> ptrCert = new ConsoleCertificateHandler(false);
            Context::Ptr ptrContext = new Context(Context::CLIENT_USE, "", "", "rootcert.pem",
                            Context::VERIFY_RELAXED, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH");
            SSLManager::instance().initializeClient(0, ptrCert, ptrContext);

            Poco::Net::HTTPSClientSession s(uri.getHost());
            Poco::Net::HTTPRequest req;
            Poco::Net::HTTPResponse res;

            try
            {
                s.sendRequest(req);
                std::istream& rs=s.receiveResponse(res);
                StreamCopier::copyStream(rs, std::cout);
            }
            catch (Exception& exc)
            {
                std::cerr << exc.displayText() << std::endl;
                return 1;
            }
            return 0;
        }
};

POCO_APP_MAIN(App)


Code: Select all
WARNING: Certificate verification failed
----------------------------------------
Issuer Name:  /C=US/ST=CA/L=San Jose/O=Enterprise Mobility/OU=EWLAN/CN=Motorola
Subject Name: /C=US/ST=CA/L=San Jose/O=Enterprise Mobility/OU=EWLAN/CN=Motorola

The certificate yielded the error: self signed certificate

The error occurred in the certificate chain at position 0
Accept the certificate (y,n)? y
Segmentation fault


Thx!
vanxining
 
Posts: 3
Joined: 18 Dec 2009, 10:38

Re: HTTPS Error..."Segmentation fault" in Ubuntu

Postby guenter » 18 Dec 2009, 12:32

guenter
 
Posts: 1157
Joined: 11 Jul 2006, 16:27
Location: Austria

Re: HTTPS Error..."Segmentation fault" in Ubuntu

Postby vanxining » 17 Jan 2010, 16:20

Hi, it seems that there is a new problem, the program will return an error:
Code: Select all
Certificate validation error: Unacceptable certificate from 172.19.172.1: application verification failure

On http://www.openssl.org/docs/apps/verify.html, the explanation to this error is:
Code: Select all
50 X509_V_ERR_APPLICATION_VERIFICATION: application verification failure
an application specific error.Unused.

"Unused"??

Is there a solution to this problem??
Atually,this incorrect certification is just to indicate the visitors they are visiting the real site(url).

Thanks!

p.s.I'm sorry that I have poor knowledge about SSL,and I just want to write an auto-login program to enjoy the WLAN provided by the school...
vanxining
 
Posts: 3
Joined: 18 Dec 2009, 10:38

Re: HTTPS Error..."Segmentation fault" in Ubuntu

Postby vanxining » 17 Jan 2010, 16:54

Change ConsoleCertificateHandler to AcceptCertificateHandler doesn't work too.
vanxining
 
Posts: 3
Joined: 18 Dec 2009, 10:38


Return to Support

Who is online

Users browsing this forum: No registered users and 4 guests

cron