PLAN_004 Enforcing HTTPS protocol for API communications
Description​
This test verifies that all API communications use the HTTPS protocol by correctly redirecting any HTTP requests to HTTPS.
System requirements​
No special hardware or software is required to run this test.
Preconditions​
- The entire system (including the reverse proxy, REST API, and all upstream services) is deployed, operational, and accessible online.
- All communications with the REST API are conducted over HTTPS, either through the reverse proxy server or directly with the hosting server.
- A web domain name is linked to the IP address of the server hosting the API.
- Let's Encrypt is configured for automatic certificate generation.
Input data​
No specific data is needed to perform this test.
Steps​
- Send an HTTP request to any API endpoint (e.g.,
http://medical-device-pre.legit.health/login
). - Observe the response and the URL after the request.
- Send an HTTPS request to the same API endpoint.
- Observe the response and the URL after the request.
Expected outcome​
- The HTTP request is redirected to the HTTPS URL (e.g., from
http://medical-device-pre.legit.health/login
tohttps://medical-device-pre.legit.health/login
). - The HTTPS request is successfully processed by the API endpoint, and the response is received without any security warnings.
Verifies software requirements​
- REQ_005
Risk control for​
-
- Data breach or unauthorized access
Signature meaning
The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix
of the GP-001
, are:
- Tester: JD-017, JD-009, JD-004
- Approver: JD-005