SSL protocol via custom module?

Ask a Question related to PERL Modules, Design and Development.

  1. #1

    Default SSL protocol via custom module?

    Hi

    I have bought a ‘well known’ shopping cart program which I'm trying
    to use with a ‘well known’ payment service provider.

    There is unfortunately a problem with a Perl script not functioning
    that each company says is the fault of the other. I am trying to
    determine which one is correct 

    The payment service provider says that in order for the process to
    work, the server hosting my shopping cart must have SSL support. This
    is apparently as the process uses a POST to send a simple
    acknowledgement back to an HTTPS website, for handshaking purposes. The
    payment service provider says that as the hosts system is a Linux box
    it requires crypt::SSLeay and port 443 open.

    However after a week of pushing the cart company they now say that that
    SSL support is not required as their own module, an sc.pm file in
    stored in the cgi-bin uploaded during the cart upload provides the SSL
    support.

    Searching for their scripts for lines like ‘new HTTP::Request
    "POST","url"; certainly draws a blank.

    The shopping cart scripts appear to post the information by calling a
    function
    ::HTTPS_SendAndReceive('www.xxxx.com', 443,
    '/xxx.dll/apc/apc', $sPostedData, 'POST', $::TRUE, $ssl_socket);

    This seems to use another object in the a .pm file that seems to have
    a lot encryption going on ie #
    # Construct the MD5 object
    #
    $Self->{_MASTER_MD5} = instantiateMD5Object();
    #
    # Construct the SHA1 object
    #
    $Self->{_MASTER_SHA1} = instantiateSHA1Object();
    #
    # Some more initialisation
    #
    $Self->init();



    My questions are this:
    1) In your opinions is it possible to implement a function to replace
    the POST command so that simple data can be sent to an HTTPS site.
    2) If the answer is yes, would it require the Perl MD5 module?
    3) If yes is it enough to have the module in
    /usr/lib/perl5/site_perl/5.6.1/MD5.pm like my host says it is
    4) Would all of the above negate the need for a module like
    crypt::SSLeay?


    Please reply with as much detail as possible as I am the middle man
    between the payment provider, shopping cart and host. And they seem to
    find it impossible to talk to each other.

    Pete




    /usr/lib/perl5/site_perl/5.6.1/MD5.pm

    petesouthwest@hotmail.com Guest

  2. Similar Questions and Discussions

    1. seek for solution of custom module autosize
      hello everyone i have a simple question but confused me seriously. that is how to let the custom module autosize. i don't wanna a blank area for...
    2. #32330 [Com]: session_destroy, "Failed to initialize storage module", custom session handler
      ID: 32330 Comment by: faithfulsoft at tiscali dot it Reported By: mfischer@php.net Status: Open Bug Type: ...
    3. FileSystemObject protocol
      Can anyone tell me which protocol (http/s, RPC) or service (w3svc) is used when using FileSystemObject in an ASP page? Thank you,
    4. what is ip protocol 47
      What is IP protocol. This process to setup a VPN. Can sometell where to install it?
    5. nvnet module not working after kernel (and module) recompile
      --- SYNeR <tups77@tsn.cc> escribi: Make sure that when you 'make-kpkg <options here> kernel_image kernel_headers' that you have that...
  3. #2

    Default Re: SSL protocol via custom module?

    [email]petesouthwest@hotmail.com[/email] wrote:
    >
    > I have bought a ‘well known’ shopping cart program which I'm trying
    > to use with a ‘well known’ payment service provider.
    So they provide support and documentation about how to use it, and you
    read the documentation fully before buying.
    > There is unfortunately a problem with a Perl script not functioning
    > that each company says is the fault of the other. I am trying to
    > determine which one is correct 
    Whose Perl script?
    > The payment service provider says that in order for the process to
    > work, the server hosting my shopping cart must have SSL support. This
    > is apparently as the process uses a POST to send a simple
    > acknowledgement back to an HTTPS website, for handshaking purposes.
    Define "must have SSL support"? Able to make an SSL (HTTPS) outgoing
    call, or be listening for an incoming HTTPS connexion? I presume your
    process opens a connexion to them using HTTPS, so any handshaking can be
    done over that - I can't see why they should try to initiate a call back to
    another listener - that would be overly complex, unnecessary and silly.
    > The
    > payment service provider says that as the hosts system is a Linux box
    > it requires crypt::SSLeay and port 443 open.
    Needing port 443 open is for HTTPS - nothing to do with Linux. MS
    Windows and MacOSX would need the same.
    > However after a week of pushing the cart company they now say that that
    > SSL support is not required as their own module, an sc.pm file in
    > stored in the cgi-bin uploaded during the cart upload provides the SSL
    > support.
    >.....
    > My questions are this:
    > 1) In your opinions is it possible to implement a function to replace
    > the POST command so that simple data can be sent to an HTTPS site.
    POST does send simple data. Are you asking "can I send to an HTTPS site
    without using an SSL component of some sorts". If so the answer is no.
    > 2) If the answer is yes, would it require the Perl MD5 module?
    > 3) If yes is it enough to have the module in
    > /usr/lib/perl5/site_perl/5.6.1/MD5.pm like my host says it is
    > 4) Would all of the above negate the need for a module like
    > crypt::SSLeay?
    No - MD5 is not a secure transport layer.
    > Please reply with as much detail as possible as I am the middle man
    > between the payment provider, shopping cart and host. And they seem to
    > find it impossible to talk to each other.
    Get the *exact* requirements from the payment service provider (you will
    be paying them, so they should be able and willing to help you).

    Get them clear in your head.

    Then remember that your ISP is not going to change their practices for
    your software problems. Either you can implement it now, or you will need
    to find another ISP who can fulfill the requirements.


    --
    Just because I've written it doesn't mean that
    either you or I have to believe it.
    Big and Blue Guest

  4. #3

    Default Re: SSL protocol via custom module?

    On 08/04/2006 12:28 PM, [email]petesouthwest@hotmail.com[/email] wrote:
    > Hi
    >
    > I have bought a ‘well known’ shopping cart program which I'm trying
    > to use with a ‘well known’ payment service provider.
    >
    > There is unfortunately a problem with a Perl script not functioning
    > that each company says is the fault of the other. I am trying to
    > determine which one is correct 
    >
    > The payment service provider says that in order for the process to
    > work, the server hosting my shopping cart must have SSL support. This
    > is apparently as the process uses a POST to send a simple
    > acknowledgement back to an HTTPS website, for handshaking purposes. The
    > payment service provider says that as the hosts system is a Linux box
    > it requires crypt::SSLeay and port 443 open.
    >
    > However after a week of pushing the cart company they now say that that
    > SSL support is not required as their own module, an sc.pm file in
    > stored in the cgi-bin uploaded during the cart upload provides the SSL
    > support.
    >
    > Searching for their scripts for lines like ‘new HTTP::Request
    > "POST","url"; certainly draws a blank.
    >
    > The shopping cart scripts appear to post the information by calling a
    > function
    > ::HTTPS_SendAndReceive('www.xxxx.com', 443,
    > '/xxx.dll/apc/apc', $sPostedData, 'POST', $::TRUE, $ssl_socket);
    >
    > This seems to use another object in the a .pm file that seems to have
    > a lot encryption going on ie #
    > # Construct the MD5 object
    > #
    > $Self->{_MASTER_MD5} = instantiateMD5Object();
    > #
    > # Construct the SHA1 object
    > #
    > $Self->{_MASTER_SHA1} = instantiateSHA1Object();
    > #
    > # Some more initialisation
    > #
    > $Self->init();
    >
    >
    >
    > My questions are this:
    > 1) In your opinions is it possible to implement a function to replace
    > the POST command so that simple data can be sent to an HTTPS site.
    This would probably be very hard, and your debugging attempts
    might get you locked out of the payment service temporarily.
    > 2) If the answer is yes, would it require the Perl MD5 module?
    Yes
    > 3) If yes is it enough to have the module in
    > /usr/lib/perl5/site_perl/5.6.1/MD5.pm like my host says it is
    Most likely.
    > 4) Would all of the above negate the need for a module like
    > crypt::SSLeay?
    >
    If you write the equivalent of Crypt::SSLeay, that would
    eliminate the requirement of Crypt::SSLeay.
    >
    > Please reply with as much detail as possible as I am the middle man
    > between the payment provider, shopping cart and host. And they seem to
    > find it impossible to talk to each other.
    >
    It sounds like your "well known" shopping cart software is
    slightly incompatible with your web hosting service. You can
    possibly get around this by installing Crypt::SSLeay in your
    web account.

    But even that won't work if the payment service provider
    absolutely requires that port 443 be open on the web host, and
    it's not.

    Maybe next time you can buy the shopping cart software, web
    hosting and payment service as part of a package of guaranteed
    compatible services and software.
    Mumia W. Guest

  5. #4

    Default Re: SSL protocol via custom module?


    <petesouthwest@hotmail.com> wrote in message
    ..
    ..

    The shopping cart scripts appear to post the information by calling a
    function
    ::HTTPS_SendAndReceive('www.xxxx.com', 443,
    '/xxx.dll/apc/apc', $sPostedData, 'POST', $::TRUE, $ssl_socket);

    Seems a reasonable guess that this is going to send and receive via port
    443. If that port is being blocked by the ISP, then it also seems reasonable
    to assume that command will not work.

    In which case you need to get the ISP to either unblock that port, or have
    the script specifiy a different (unblocked) port.

    Cheers,
    Rob


    Sisyphus Guest

  6. #5

    Default Re: SSL protocol via custom module?

    On Fri, 04 Aug 2006 10:28:16 -0700, petesouthwest wrote:
    > I have bought a 'well known' shopping cart program which I'm trying
    > to use with a 'well known' payment service provider.
    > [...]
    > The payment service provider says that in order for the process to
    > work, the server hosting my shopping cart must have SSL support. This
    > is apparently as the process uses a POST to send a simple
    > acknowledgement back to an HTTPS website, for handshaking purposes. The
    > payment service provider says that as the hosts system is a Linux box
    > it requires crypt::SSLeay and port 443 open.
    Your problem appears to be that you're confused by not understanding the
    technology sufficiently and dealing with people who are using the terms
    improperly so that when you talk to someone else, they think you mean
    something different from what you intend.

    Is your shopping cart program designed and documented to work with this
    payment service provider? You're not trying to integrate a shopping cart
    from one vendor with a payment service module from another, are you? That
    would require hacking of some degree, possibly considerable.

    Here's how the process happens: a user on their browser makes a
    HTTP connection to your web server to buy something. At least at the
    point where they supply credit card data, *that* connection needs to be
    secured via SSL so that no one snoops the information. So your site host
    needs to open port 443 and the URL the CC data is posted to needs to use
    the https scheme. There is another way that this is sometimes done where
    your program *redirects* the user to a secure site run by the payment
    service provider before they enter CC data, but it sounds like you're not
    doing that.

    Your shopping cart program then sends the CC data off to the payment
    service provider to be booked. That transaction is also done via HTTP and
    needs to be secured via SSL again. Your program is now acting as a web
    client. Your site host does *not* need to open port 443 for *this*
    operation, because you're connecting to port 443 on the *remote* host.
    It's conceivable that your host blocks outgoing connections such as that
    made by your program out of some misplaced sense of security. I would
    dump anyone that did that.
    > However after a week of pushing the cart company they now say that that
    > SSL support is not required as their own module, an sc.pm file in
    > stored in the cgi-bin uploaded during the cart upload provides the SSL
    > support.
    >
    > Searching for their scripts for lines like 'new HTTP::Request
    > "POST","url"; certainly draws a blank.
    >
    > The shopping cart scripts appear to post the information by calling a
    > function
    > ::HTTPS_SendAndReceive('www.xxxx.com', 443,
    > '/xxx.dll/apc/apc', $sPostedData, 'POST', $::TRUE, $ssl_socket);
    >
    A simple search on the above shows you asking the same question (with more
    detail) at [url]http://community.actinic.com/showthread.php?p=117075[/url] . The
    answer to your last query there is that the code uses Net::SSL to make the
    secure connection. Net::SSL comes with Crypt::SSLeay, therefore you need
    to install the Crypt::SSLeay distribution. See
    [url]http://search.cpan.org/~chamas/Crypt-SSLeay-0.51/[/url] .

    --
    Peter Scott
    [url]http://www.perlmedic.com/[/url]
    [url]http://www.perldebugged.com/[/url]

    Peter Scott Guest

  7. #6

    Default Re: SSL protocol via custom module?

    Why did you BUY a cart when you could just use a free one (open source)
    that supports any payment system and would provide you with plenty of
    support in the community??

    Jimi-Carlo Bukowski-Wills Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139