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/logintohttps://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