Forum Discussion
Hi,
Can you describe your use case?
TestComplete does not use SSL in any way, thus there is no way to enable or disable it in TC itself.
aqHTTPRequest object can be used to issue both http and https requests, but it is required that all underlying infrastructure is set up properly (valid certificates are installed, proxy is configured, etc.).
- cst990036 years agoContributor
Thank you for responding
OK. Here is the code where the Authentication happens within the Header but I believe I need help with a different layer and that is trying to figure out how to get the certificate to be read.
Here is the TC ERROR "An unknown error occurred while processing the certificate."
How do I install the certificate and do I need a proxy? The certificate is currently just sitting on my C: drive
What do you mean by setting up the infrastructure? Is this adding something to the default browser or possibly in TC itself?
try
{
RequestType = aqString.ToUpper(WebServiceData["ServiceType"]);
// Create an aqHttpRequest object
var aqHttpRequest = !equal(WebServiceData["UserName"],undefined) ? aqHttp.CreateRequest(RequestType, WebServiceData["Address"], WebServiceData["UserName"], WebServiceData["Password"]) : aqHttp.CreateRequest(RequestType, WebServiceData["Address"]);
// Specify the Content-Type header value
aqHttpRequest.SetHeader("Content-Type", "application/" + aqString.ToLower(ContentType));
aqHttpRequest.SetHeader("Accept", "application/" + aqString.ToLower(ContentType));
//Added for Authentication
var credentials = aqConvert.VarToStr(dotNET.System.Convert.ToBase64String
(dotNET.System_Text.Encoding.UTF8.GetBytes_2(Project.Variables.SSL_Login + ":" + Project.Variables.SSL_Password)));
aqHttpRequest = aqHttp.CreateGetRequest(WebServiceData["Address"]);
aqHttpRequest.SetHeader("Authorization", "Basic " + credentials);
aqHttpRequest.SetHeader("X-Request-Id", "Andrew");
// Send the request, get an aqHttpResponse object
var aqHttpResponse = (equal(RequestData,"")) ? aqHttpRequest.Send() : aqHttpRequest.Send(RequestData);
- AlexKaras6 years agoChampion Level 3
Hi,
> How do I install the certificate [...]?
Well... To my knowledge, it depends on the application that uses it. Regular Windows applications usually require certificate to be installed into the system or user storage and used from there. Jave applications store certificates in the file. So I would recommend to check this with your developers.
> aqHttpRequest.SetHeader("Authorization", "Basic " + credentials);
Basic authorization does not require any certificate but only user name and password, like in your code.
Unless you had a reason to create the code that you provided, I would recommend to use some traffic recording tool (Fiddler, for example) and record the traffic from the application. Analyze recording then and replicate it in your test code.
- cst990036 years agoContributor
We are using both types.
aqHttpRequest.SetHeader("Authorization", "Basic " + credentials);
I believe this Authorization is used for LDAP with a un/pw
and the other is for the HTTPS and a secure handshake from client to server.
I see in SOAPUI it is straight forward to add the SSL cert into the Preferences and also add Basic Authentication to the header but in TC I can add the Basic Auth into the header through the aqHttpRequest but the CERT is not so straight forward.
Can i assume that the CERT could be added to IE or someother location where certicates are read from? If true how does it know the password. Is the file system just set up to handle it if the cert is in the correct location?
Andrew
Related Content
- 9 years ago
Recent Discussions
- 6 days ago
- 6 days ago
- 10 days ago