This is an old revision of the document!
Indigo Web Server Certificates
Displaying web content in a secure format using HTTPS requires a security certificate for the site your browser is connected to. These certificates are typically reviewed and signed by a third party authority to ensure they're legitimate. Indigo's certificate is “self-signed”, which means that it hasn't been reviewed by a third party. We must use a self-signed certificate because it isn't possible to have an authority-signed certificate for a local server name (localhost or 127.0.0.1) that doesn't have its own domain name.
Appropriately, your browser will warn you that a security certificate is self-signed and require you to intervene in order to display the requested content. You can choose to respond to this warning each time it appears, or you can tell your browser to trust the certificate – which will typically silence these warnings.
Only local or direct access to the Indigo Web Server will use the self-sign certificate (if https is enabled in the Start Local Server dialog). The Indigo reflector doesn’t use the local certificate; it’s part of the reflector service so it’s a valid certificate from a third-party Certification Authority.
WARNING!!! Be careful when using the steps described below – trusting a self-signed certificate tells your browser that the site you're connected to is secure and trustworthy.
Indigo's Certificate and Public Key
For each of the following examples, the associated certificate (and public key) can be found in the Indigo folder tree at ../Web Assets/cert/indigo-cert.pem and ../Web Assets/cert/indigo-key.pem beginning with Indigo 2024.1 (and in later versions).
Different browsers handle security certificates in a slightly different way (and your method may differ from those listed below depending on the OS and application versions you're using.
Safari MacOS
- Open Keychain.
- From the `File` menu, select `Import Items…`.
- Point to
../Web Assets/cert/indigo-cert.pemand select 'Open'. - The security certificate will be added to the 'Login' keychain.
- Keychain will mark the certificate with a warning that “This certificate has not been verified by a third party.”
- Double-click the certificate to open its info pane.
- Maximize the
Trustsettings and find “When using this certificate:” and select “Always Trust”. - Keychain should require a password to save the change.
- You may need to click away from the certificate and then re-select it for the updated settings to be displayed in the Keychain list.
Safari iOS and iPadOS
iOS and iPadOS will report that “This Connection is Not Private”. This is the way it reacts to insecure websites (which is great) but also how it reacts to sites with a self-signed certificate.
- On your Mac, browse to the certificate file at
../Web Assets/cert/indigo-cert.pem. - Click on the certificate and select “Share” and use Air Drop to share it to your device.
- On the device, if prompted, select the device you want to install the profile on (e.g., iPhone, Apple Watch, etc.)
- iOS should respond by saying, “Profile Downloaded”. You can close the notification.
- Open the Settings app.
- Near the top, of the main screen, there should be an item, “Profile Downloaded”.
- Click the downloaded profile, review its contents, and then select “Install”.
- Enter your passcode.
- You will be warned, “The authenticity of “Indigo Domotics” cannot be verified.”
- Select “Install”, and then select “Install”.
- Select “Done”
Under “VPN & Device Management”, you should see a configuration profile for “Indigo Domotics”. If desired, you can remove the profile from this screen.
Android
Firefox
In Firefox, you can add an exception for each Indigo server address you use.
- In Firefox, select 'Firefox' > 'Settings…'.
- In the search box, type “Certificates”.
- Select “View Certificates”.
- Select the “Servers” tab.
- Select “Add Exception”.
- Enter the URL for your server. For example,
https://localhost:8176. - Click “Get Certificate”.
- Read the warnings and then select “Confirm Security Exception”.
- You should see the security certificate exception listed in the Certificate Manager.
Chrome
Chrome for MacOS should use the same keychain entry that's described under Safari MacOS above. If you have installed the certificate for Safari, you don't need to do anything else. If you haven't installed the certificate for Safari, your best approach is to follow the steps for Safari MacOS