protected String encryptMessage(String secureRequest, SecretKey sessionKey)
      throws EncryptionException, InterruptedException, IOException {
    PublicKey publicKey = getPublicKeyFromConfigFile();
    String encodedMessage =
        Base64.encodeBase64String(CipherUtils.encrypt(secureRequest.getBytes(), sessionKey));
    String encodedKey =
        Base64.encodeBase64String(CipherUtils.encrypt(sessionKey.getEncoded(), publicKey));

    String encryptedMessage =
        ""
            + "{"
            + "  \"encryptedContent\":\""
            + encodedMessage
            + "\","
            + "  \"encryptedKey\":\""
            + encodedKey
            + "\""
            + "}";
    return encryptedMessage;
  }