0

The situation is that a desktop application is needed to be run in the background (an application that would be "hanging around" in the system tray) with an API. For simplicity reasons, I chose Flask to build the API and Python overall to build the desktop part of it. Is this a practical or reasonable way to create a desktop application? The application itself will not be large scale, it will only hold several Python scripts.

Basically, a Microsoft PowerApp will be communicating with this API on the desktop. When a call will be executed from the Microsoft PowerApp to the API, it will be targeting a public static IP address to a specific port, then that will be forwarded to the local IP of the Flask application. I understand that PowerApps requires SSL to communicate with applications. I can figure out how to build the API and desktop part of it, but I cannot figure out the SSL certificates. When I try to generate a certificate through CertBot, it requires me to supply a domain. This situation will not be using a domain, only the public static IP. Does this at all seem logical to do or should a different approach be taken?

  • *it will be targeting a public static IP address to a specific port, then that will be forwarded to the local IP of the Flask application.* Can you explain this a little better, I can't understand this. – President James K. Polk Jan 04 '22 at 03:14
  • So a HTTP request will be sent out from the PowerApps to a public static IP (this IP belongs to a business' office or someone's building). Then based on the port specified by the HTTP request, it will be forwarded to the private IP address, which will belong to the device that will have the Flask/Python API application hosted. I hope this makes things more clear. PowerApp HTTP request->Public IP of building->port forward the request to private IP of the desktop of Flask application. – Elonas Marcauskas Jan 04 '22 at 03:27

1 Answers1

0

Though some SSL certificate providers support issuing certs to IP addresses, do yourself a favor and get the one assigned to a hostname. Just use organization's domain to create a hostname you like.

Alternatively, try entering IP address instead of domain when ordering a certificate.

You can read more about IP-based certs here: Is it possible to have SSL certificate for IP address, not domain name?

J-M
  • 1,207
  • 11
  • 18