Message Encryption

The ServisBOT platform provides customers with the ability to encrypt customer messages as they enter the ServisBOT system. This guide assumes that you are familiar with basic encryption techniques, and you have the ability to generate and encrypt your own encryption keys.

Step 1

Message encryption is a feature that requires some initial configuration by ServisBOT. If you would like access to this feature, please contact ServisBOT first. ServisBOT will generate an ImportToken and PublicKey on your behalf, and send them to you. The ImportToken and PublicKey will be provided to you as Base64 encrypted strings. Please save each string within a txt file as you will then need to convert each file to a binary file.

eg. ImportToken.b64


Step 2

Once you have saved your ImportToken.b64 and PublicKey.b64 files, please run the following commands in sequence to generate your own private key.

  1. Convert files to binary

    openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.bin
    openssl enc -d -base64 -A -in ImportToken.b64 -out ImportToken.bin
  2. Generate key material

    openssl rand -out PlaintextKeyMaterial.bin 32
  3. Encrypt your key material

    openssl rsautl -encrypt \
                 -in PlaintextKeyMaterial.bin \
                 -oaep \
                 -inkey PublicKey.bin \
                 -keyform DER \
                 -pubin \
                 -out EncryptedKeyMaterial.bin
  4. Base64 encode your encrypted key material

    openssl enc -base64 -in EncryptedKeyMaterial.bin -out EncryptedKeyMaterial.base64

    Step 3

    Once you have completed the previous 4 steps, you will now need to provide ServisBOT with the following files.

    ImportToken.b64                 //  Original token sent you you by ServisBOT
    EncryptedKeyMaterial.base64     //  Generated by Step 4

Step 4

You will now see a new section within the ServisBOT portal called “Security” on the left-hand side of your screen, underneath the “Management” section. From here, you can enable/disable message encryption.