Problem: During the install of ServiceDesk 7.1, the SSL option was not selected and you now want to enable SSL.
This document does not discuss securing the communication between ServiceDesk and an off box SQL server or between ServiceDesk and the Symantec Management Platform (SMP) Configuration Management Database (CMDB).
Prerequisite: SSL certificate must already be installed and configured in IIS.
The areas where changes are required include:
Properties.config
Process Manager: Application Properties
Task Tray: Local Machine Info
Database (only if there are existing Tasks)
Properties.config
In each project in ServiceDesk, there is a properties.config file that contains the BaseURLToProject. On the ServiceDesk server, navigate to the installation directory and search for properties.config. On my install, the location was C:\Program Files\Symantec\Workflow\WorkflowDeploy\Release. There were about 53 files that I had to edit. The only section you need to change is the PropertyValue of the BaseURLToProject in each properties.config. The section you should look for is similar to below. I’ve already made the change and highlighted it in red.
<ApplicationProperty>
<PropertyName>BaseURLToProject</PropertyName>
<PropertyValue>https://sdcluster.eml.test/SD.CreateRoutingRules</PropertyValue>
<EncryptInXml>false</EncryptInXml>
</ApplicationProperty>
ProcessManager: Application Properties
The Application Properties in ServiceDesk have links that need to be updated to have “https” in them. Here is a list of the links that I changed:
General Settings Section
Processmanager URL
Services Section
ChangeManagement URL
ServerFQDN
SelfServicePortalURL
MonitorMigratedIncidentsURL
KBManagementURL
CreateEmailURL
KBSearchURL
IncidentManagementURL
RoutingRulesURL
ProblemManagementURL
CreateChatTaskURL
InboundMailManagementURL
DataServicesURL
AssetViewURL
Server Settings
Open the Settings for the Local Machine from the Task Tray Icon:
Click the Edit button to edit the Server Settings.
Change the Deployment Root URL to https and select the Use HTTPS check box. The Port Number automatically updated when I checked the checkbox.
Click OK.
Scroll down and edit the Integrated Authentication URL to use https.
Database
If you have existing tasks in your database, the Task and TaskResponse tables have saved URLs that will not work. They are saved with http in the URL and will need to be updated to https. Here are three stored procedures that I used to update all of the records in these two tables. The TaskReponse table had 122,000 records that took 17 minutes to update.
This stored procedure will update the URL in the TaskReponse table:
DECLARE @mycur CURSOR
DECLARE @ID VARCHAR(1024)
SET @mycur = CURSOR
FOR
SELECT TaskResponseID FROM [DBNAME].[dbo].[TaskResponse]
OPEN @mycur
FETCH NEXT FROM @mycur INTO @ID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE [DBNAME].[dbo].[TaskResponse]
SET URL=(SELECT Replace((Select URL from [DBNAME].[dbo].[TaskResponse]
WHERE TaskResponseID = @ID), 'http', 'https'))
WHERE TaskResponseID = @ID
FETCH NEXT FROM @mycur INTO @ID
END
DEALLOCATE @mycur
This stored procedure will update the UrlOfProcess field in the Task table:
DECLARE @mycur CURSOR
DECLARE @ID VARCHAR(1024)
SET @mycur = CURSOR
FOR
SELECT TaskID FROM [DBNAME].[dbo].[Task]
OPEN @mycur
FETCH NEXT FROM @mycur INTO @ID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE [DBNAME].[dbo].[Task]
SET UrlOfProcess=(SELECT Replace((Select UrlOfProcess from [DBNAME].[dbo].[Task]
WHERE TaskID = @ID), 'http', 'https'))
WHERE TaskID = @ID
FETCH NEXT FROM @mycur INTO @ID
END
DEALLOCATE @mycur
This stored procedure will update the UrlOfResponseService field in the Task table:
DECLARE @mycur CURSOR
DECLARE @ID VARCHAR(1024)
SET @mycur = CURSOR
FOR
SELECT TaskID FROM [DBNAME].[dbo].[Task]
OPEN @mycur
FETCH NEXT FROM @mycur INTO @ID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE [DBNAME].[dbo].[Task]
SET UrlOfResponseService =(SELECT Replace((Select UrlOfResponseService from [DBNAME].[dbo].[Task]
WHERE TaskID = @ID), 'http', 'https'))
WHERE TaskID = @ID
FETCH NEXT FROM @mycur INTO @ID
END
DEALLOCATE @mycur