Change the MagicINFO HTTPS (TLS) Certificate
MagicINFO Server serves HTTPS through its built-in Tomcat web server. The certificate, its password and the allowed TLS versions are set on one element, the HTTPS Connector in server.xml, which listens on port 7002 by default. This page covers three jobs: replacing the certificate, turning HTTPS on after an HTTP-only install, and switching the server to HTTPS only.
All three follow the same pattern: stop the service, edit one file, start the service, test.
Before you start
- Get a certificate the displays and browsers will trust. Use one from a public certificate authority, issued for the name people and displays use to reach the server (for example
magicinfo.example.com). Recent display firmware can verify the server certificate; when that check is on, a self-signed or otherwise untrusted certificate makes the display fail to connect, with no clear message on screen. - Put it in a keystore with the full chain. Tomcat reads a Java keystore: JKS, or PKCS12 (a
.p12or.pfxfile). The keystore must contain the private key, your certificate and the intermediate certificates of the authority. A keystore without the intermediates works in some browsers and fails on displays and other clients. - Choose your own keystore password. Never keep the default passphrase from a fresh install.
- Back up
server.xml. CopyC:\MagicInfo Premium\tomcat\conf\server.xmlto a safe place. If the server does not come back after your change, restoring this copy undoes it. - Plan for downtime. After a restart the web console and the displays need several minutes before the server answers again.
Turning a .pfx export into a keystore
A certificate exported from Windows as a .pfx file is already a PKCS12 keystore, and Tomcat can usually read it as it is (with keystoreType="PKCS12"). If you prefer a clean copy under a new name, the standard Java keytool converts it:
keytool -importkeystore -srckeystore cert.pfx -srcstoretype PKCS12 -destkeystore magicinfo.p12 -deststoretype PKCS12
When asked, enter the password you chose when exporting the .pfx as the source password. To check that the chain is complete, list the keystore and look at the certificate chain length (it should be more than 1 for a certificate from a public authority):
keytool -list -v -keystore magicinfo.p12 -storetype PKCS12
Place the keystore in C:\MagicInfo Premium\runtime\keystore\, next to the one the installer created.
Stop and start the service
- Press Windows + R, type
services.mscand press Enter. - Find MagicInfo-i Premium Edition Server and click Stop.
- Make your change (one of the sections below).
- Select the same service and click Start, then wait several minutes before testing.
Replace the certificate
- Stop the service.
- Open
C:\MagicInfo Premium\tomcat\conf\server.xmlin a text editor. - Find the
<Connector port="7002" …>element. Leave the rest of the file alone. - Change three attributes:
keystoreFile: the path to your keystore, written with forward slashes.keystorePass: your keystore password.keystoreType:PKCS12for a.p12/.pfxfile,JKSfor a.jksfile.
- While you are there, set
sslEnabledProtocols="TLSv1.2,TLSv1.3". Older connectors also allow TLS 1.0, TLS 1.1 andSSLv2Hello; remove them. - Save the file and start the service.
The connector should look like this afterwards (shown on several lines for readability; one line works the same):
<Connector port="7002"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxHttpHeaderSize="8192" maxThreads="150" enableLookups="false"
disableUploadTimeout="true" acceptCount="100"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:/MagicInfo Premium/runtime/keystore/magicinfo.p12"
keystorePass="YOUR-KEYSTORE-PASSWORD"
keystoreType="PKCS12"
URIEncoding="UTF-8" sslProtocol="TLS"
sslEnabledProtocols="TLSv1.2,TLSv1.3"
maxPostSize="8388608" />
Tomcat uses the keystore password for the private key as well, so the key and the keystore should share the same password.
Turn on HTTPS after an HTTP-only install
If you chose HTTP during installation, server.xml has a connector on port 7001 and none for HTTPS.
- Stop the service and back up
server.xml. - Find the
<Connector port="7001" …>element. - Directly below it, add the HTTPS connector shown in Replace the certificate, with your own keystore path, password and type.
- Save, start the service and test.
Both ports now answer: 7001 for HTTP and 7002 for HTTPS. Displays keep working on whichever they were set to; move them to HTTPS one by one by switching TLS on in their server settings and changing the port to 7002 (or 443 behind a proxy).
Use HTTPS only
- First move every display to HTTPS. A display still set to port 7001 loses its connection the moment the HTTP connector is gone.
- Stop the service and back up
server.xml. - Make sure the 7002 HTTPS connector is present and working.
- Remove the
<Connector port="7001" …>element. Turning it into an XML comment (<!--…-->) instead of deleting it makes it easy to bring back. - Save, start the service and test.
If your server was installed on other ports than 7001 and 7002, use your ports in place of these throughout.
Test the result
- Open
https://<server>:7002/MagicInfo/with the name the certificate was issued for. The browser should show the page without a warning. Opening it withlocalhostor an IP address gives a name-mismatch warning even with a good certificate. - Inspect the certificate in the browser: check the name, the expiry date and that the chain ends at a trusted authority.
- Open
https://<server>:7002/MagicInfo/openapi/auth?cmd=isMagicInfo. This is the first request a display makes; a short version number means MagicINFO answers on HTTPS. - On a display, set the server address, turn TLS on (SSL in older menus) and enter the HTTPS port. TLS setting and port must match; see MagicINFO ports explained.
Common problems
The service does not come back after the change. Usually a typo in server.xml, a wrong keystore path, a wrong password or the wrong keystoreType. Compare with your backup, or restore it to get the server running again, then retry.
Browsers accept the certificate but displays do not connect. Check that the keystore contains the intermediate certificates, that the certificate name matches the address set on the display, and that the display's clock is correct; a display with a wrong date sees a valid certificate as expired or not yet valid. See Setting the device time and date.
"This site can't be reached" on the http:// address after enabling HTTPS. MagicINFO sends browsers an HSTS header that tells them to use HTTPS only, for a year, for that name and its subdomains. Once a browser has opened the server over HTTPS, it refuses the plain HTTP address, while other tools still connect. Use the https:// address consistently. To undo it in one browser, delete the stored policy for that name at chrome://net-internals/#hsts (edge://net-internals/#hsts in Edge). Displays are not affected.
HTTPS stopped answering after adding TLS 1.3 on an older build. Older builds ship an older Java runtime. Set sslEnabledProtocols="TLSv1.2" and test again; TLS 1.2 on its own is still a sound setting.
The certificate expires. Renew it with the authority, build a new keystore and repeat Replace the certificate. Put the expiry date in your calendar.
A MagicINFO upgrade put the old settings back. An upgrade can replace files in the installation folder. Check the HTTPS connector in server.xml after every upgrade and keep a copy of your edited version.
Version notes
- Builds from 21.1070 can run the HTTPS connector with a PKCS12 keystore and
TLSv1.2,TLSv1.3. - Build 21.1092.3 ships Tomcat 9.0.115, per Samsung's release notes. For the Tomcat and Java versions of older releases, see Tomcat and Java Versions in Older Releases.
Checked against MagicINFO Server 9 on Windows (builds 21.1070 to 21.1092.3), October 2026.