These instructions have been adapted from HOWTO: Use your own verified certificate for SSL at forum.serviio.org.  Many thanks to m33ts4k0z for the initial post.  These instructions detail how I secured the 64-bit version of Serviio running on Windows Server 2019, although it will be the same for other versions of desktop and server Windows OSes.

Pre-requisites

You should already have your certificate and private key ready.  I created mine using certbot on a Ubuntu web server, that creates certificates using Let's Encrypt.  I'll add an article later for how to do that.  The files I had created and used to encrypt my Mediabrowser connection were: cert1.pem, chain1.pem and privkey1.pem.

KeyStore Explorer should be installed as the tool that can change the key and certificate that Serviio is set up to use by default.  KeyStore Explorer requires the Java Runtime Environment to work.  You will need a file compression program to decompress and recompress the Serviio keystore file, I used 7-Zip.  To make changes to the contents of a text file, you need a basic text editor - Windows Notepad is fine for this, but I prefer to use Notepad++.

Instructions

  1. Browse to [serviio installation folder]\config and copy serviio.jks to another location:
  2. Browse to [serviio installation folder]\lib and copy serviio.jar to another location:
  3. Browse to the folder where you have saved the two files and double-click serviio.jks to open it in KeyStore Explorer.  You will be prompted for the password to Unlock KeyStore:
  4. Enter the password: >[Z=@Ahjr,(pA[{4,u8Q?T`gzKp^mAf&.  In the main window, right-click on serviio and Delete.
  5.  Right-click in the main window and select Import Trusted Certificate:
  6. Browse to the file chain1.pem and click Open, ckick OK when asked to enter an alias:
  7. Right-click and select Import Key Pair:
  8. Choose PKCS #8 as the Key Pair type, then uncheck Encrypted Private Key, browse to your key file, privkey1.pem and then your certificate file, cert1.pem and click Import:
  9. Click OK the New Key Pair Alias:
  10. Enter a password for the Key Pair, click OK:
  11. Click Save and then close KeyStore Explorer:
  12. Left-click on serviio.jar, right-click for the context menu and select 7-Zip, Extract to "serviio\":
  13. When the files have been extracted, browse for serviio.properties in the folder serviio, right-click and select Edit with Notepad++:
  14. On line 21, change the ssl_keystore_key_password for password you created in step xx, above (your password will be shown in plain text):
  15. Click Save and close Notepad++.  In the folder "serviio", press CTRL+A to select all the files, right click over the selection and select 7-Zip, Add to archive...:
  16. In the Add to Archive dialog, change the name from serviio.zip to serviio.jar, click OK:
  17. Copy your new serviio.jks and serviio.jat files back to their original locations, overwriting the originals.
  18. Restart the serviio service.