Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
Hi
Im using Visa Direct, and trying to implement the HelloWorld.cs functionality into my MVC Core project, to test it out on my site.
The line when you call:
var certificate = new X509Certificate2(certificatePath, certificatePassword);
throws an exception: "System.Security.Cryptography.CryptographicException: 'The system cannot find the path specified.'"
I put the cert.pem file into my project under a custom folder called Utils. and set the path to point at that like this: "~/Utils/cert.pem".
What am I doing wrong?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
Hi @MatriXz, Thank you for reaching out. One of our agents will look into this and get back to you soon. Until then, if any community members know a solution, please feel free to reply to this thread.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
Hi @MatriXz,
To further investigate, please provide the following information:
1. End Point
2. Request Header
3. Request Body
4. Response Header (include the x-correlation-id)
5. Response Body
You can find the x-correlation-id in the response header.
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
Hi,
I honestly have no idea what to reply here.
I think the endpoint is: "https://sandbox.api.visa.com/vdp/helloworld", it works perfectly in postman, using the same credentials, certificates etc.
In my project i created a simple button that calls this controller method:
[HttpPost]
public ActionResult BuyRows(string rowData) {
var visa = new Visa();
var response = visa.DoMutualAuthCall("vdp/helloworld", "GET", null, null, null);
return Json(response);
}
The class Visa is a copy paste of the Helloworld.cs file from your sample code collection. Slightly changed the logging method, and filled in the username etc.
This is the code:
As you can see I get an unhandled exception when it comes to this line. The request hasnt even been done yet. Hope its possible to read the screenshot.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
Using some Copilot assistance I figured out what the problem was.. Its the Absolute path of the Cert.Pem file location that was the issue..
Solution:
string certificatePath = Path.Combine(Directory.GetCurrentDirectory(), "Utils", "cert.pem");
However, now I am getting to the request.GetResponse() part. Im getting an error 400 (bad request)
Details i know:
Url: "https://sandbox.api.visa.com/vdp/helloworld"
Method: "GET"
I call this method like this:
new Visa().DoMutualAuthCall("vdp/helloworld", "GET", null, null, null);
Any idea what I am doing wrong ?
All Searches say that something is not correct in the request.Header, or url is incorrect. But its copied from the documentation, and works in postman, so not that imo.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
HI @MatriXz,
HTTP STATUS | HTTP CODE | CAUSE/RESOLUTION |
---|---|---|
BAD REQUEST |
400 |
This error could be due to a variety of reasons. Check for the following:
Or
Or
|
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: HelloWorld.cs with Mutual Auth throws error in X509Certificate2 call
hi @MatriXz
i'm using node js to connect to VISA network. one thing i forgot in the first try, was including username and password in headers. in nodejs it is as follows: