Introduction
Symantec Workspace Streaming includes an option to enable secure communication between the end user and the launch server. I noticed there was no walkthrough on Connect for confiuring the option to use SSL on launch servers so I wanted to share with you the steps I followed in order to enable this setting.
For this exercise, I setup a lab environment with three seperate servers and a client:
- Domain Controller
- Back End Server (Streamlet Engine)
- Front End Server (Launch Server/Streaming Server)
- Client
All servers used in my lab environment are running Microsoft Windows 2008 R2 Standard SP1. My domain controller has the Active Directory Certificate Authority and Certificate Authority Web Enrollment Role Services enabled. The SWS servers are on the most recent release (currently 6.1 SP8 MP1). The client system is running Microsoft Windows 7 Enterprise SP1.
Creating the Certificate Service Request
On the back end server:
- Login to the console.
- From the navigation column, under Configuration, select Launch Server.
- Select the launch server.
- Click Generate Certificate Request.
- Fill in the web form to create a Certificate Service Request (CSR).
- Save the cert_req.txt file using its alias for the file name as a reminder.
- Copy the CSR file to a convenient location.
Creating the Certificate
On the Certificate Authority:
- Open the Certificate Services web interface (e.g., http://localhost/certsrv/).
- Click on Request a certificate.
- Click on advanced certificate request.
- Click on Submit a certificate request by using a base-64-encoded CMC or PKCS#10...
- Saved Request: Paste the contents of cert_req.txt here.
- Certificate Template: Web Server.
- Additional Attributes: leave this blank.
- Click the Submit button.
- Click on Download certificate chain.
- Save the certificate file using its alias for the file name as a reminder.
- Copy the certificate to a convenient location.
Uploading the Certificate
On the back end server:
- Login to the console.
- From the navigation column, under Configuration, select Launch Server.
- Select a launch server.
- Click Upload Certificate.
- Certificate File: browse to where you saved the certificate and select the corresponding file.
- Alias: type in the alias used in the steps above.
- Click the Upload button.
- Typing in the wrong alias gets this message: “java.lang.exception: input not an x.509 certificate”; go back and type in the matching alias name.
Enabling Secure Communication
On the back end server:
- Login to the console.
- From the navigation column, under Configuration, select Launch Server.
- Select the launch server.
- Click the Basic button.
- Select the option for Enable Secure Socket Connection to Launch Server.
- Click the Save button.
- From the navigation column, under Status and Control, select Component Status.
- Select the FE component and click Restart.
Testing Secure Communication
On a client machine:
- Open a browser and navigate to the portal page.
- The web server will automatically redirect the browser to use the secure port.
- View the certificate details to confirm the names of the servers “Issued to:” and “Issued from:”
This concludes setting up secure communication between the end user and the launch server.
But wait, there's more!
I thought I should include a short walkthrough on reverting back to non-secure mode and also how to clean up the certificates from the front end server.
Reverting Back to Non-secure Communication
On the back end server:
- Login to the console.
- From the navigation column, under Configuration, select Launch Server.
- Select the launch server.
- Click the Basic button.
- Deselect the option for Enable Secure Socket Connection to Launch Server.
- Click the Save button.
- From the navigation column, under Status and Control, select Component Status.
- Select the FE component and click Restart.
Removing the Certificate
On the front end server:
- Open an elevated command prompt.
- Change directory to:
C:\Symantec\Workspace Streaming\Server\common\jre\bin\
- List the contents of the stscerts file:
keytool -list -v -keystore "C:\Symantec\Workspace Streaming\Server\common\jre\lib\security\stscerts"
- Find the alias of the certificate.
- Delete the certificate using its alias name:
keytool -delete -alias certificate_alias_name -keystore "C:\Symantec\Workspace Streaming\Server\common\jre\lib\security\stscerts"
Now your launch server is back to the state we started in before we began this adventure with SSL.
Feedback
I'd like to hear back from the community! Share your success stories or problems you previously encountered setting up SSL on the launch server using the comments section below.