HTTPS certificate with winHTTP - local cert. required or no?

cdstudecdstude Member Posts: 16
My customer has a vendor that can utilize URL strings to pass queries about items, orders, etc. Since XML is not an option for the vendor, I have to use Microsoft WinHTTP Services, version 5.1. The vendor URL starts with HTTPS, and their API documentation has the statement "This API is using an HTTPS authentication certificate from Verisign." When I tried to execute the URL with the winHTTP.send command the immediate response from the vendor API was "A certificate is required to complete client authentication". After googling a bit, I determined that a local certificate was most likely required was a line like
strURL := 'https://www.myvendor.com/query.pgm?dealer=1234567&pass=pA55w0rD&po=PO019823&output=CSV';
CREATE(winHTTP);
winHTTP.Open('GET', strURL, FALSE);
winHTTP.SetClientCertificate('LOCAL_MACHINE\Personal\My Middle-Tier Certificate');  //<<== new line to point to a vendor-provided certificate on local machine
winHTTP.Send;

//>>Get CSV from InStream variable, etc...

So I had the customer contact the vendor and the vendor IT person replied with "There should be nothing that you need to do on your side of the fence relative to the certificate, but your software package does have to accept the certificate as being valid.”

OK... I am not sure how to respond - did not the API demand NAV had a certificate on it's end? Is there a way (HTTP is NOT an option) to communicate with the API without a local certificate (as it would have to be registered on every machine that was going to query the vendor API)?
Sign In or Register to comment.