Home Search

DriveWorks Pro 24
How To: Use HTTPS, SSL and Multiple Domains

Send Feedback

How To: Use HTTPS, SSL and Multiple Domains

This topic explains how to secure DriveWorks and serve over HTTPS with an SSL certificate and why multiple domains are not supported.

Using HTTPS and SSL

To avoid encountering authentication issues and to establish a secure connection we recommend serving the applications listed below over HTTPS for public facing networks.

Most browsers block 'cross-site' (across two sites/domains) cookies by default to prevent unwanted and potentially malicious tracking.

As a result of this, session id cookies are not stored when set on one site from another, resulting in persistent authorization errors even with valid credentials.

DriveWorks applications that are accessed from a browser must run over HTTPS.

This applies to the following:

DriveWorks Live can also use HTTPS and SSL (self-signed) on local development networks

About SSL Certificates

An SSL (Secure Sockets Layer) certificate is a digital data file installed on a website's origin server that enables encrypted HTTPS connections and authenticates the site's identity.

SSL certificates are obtained through a website hosting provider, a domain registrar, or a standalone Certificate Authority.

DriveWorks Live - Integration Theme Using Internet Information Services (IIS)

When hosting the Integration Theme using IIS the SSL certificate is applied in the Site settings.

See the SSL certificate option under the step to Add Website in Create the API Endpoint Website in Internet Information Services (IIS) Manager.

Hosting the Integration Theme from the DriveWorks Live Application (not through IIS)

When hosting the DriveWorks Live application see Using an SSL Certificate.

DriveWorks Pro Server (public facing)

Enabling HTTPS and applying an SSL Certificate is done in the Pro Server - Management Console Configuration File.

See the following links for more information.

DriveWorks Live - Integration Theme (local development)

To create a HTTPS connection when working locally:

  1. Generate a local, self-signed SSL certificate
    1. Open PowerShell as an Administrator and enter the command shown at Microsoft Learn: New-SelfSignedCertificate.

      Replace the DnsName(s) shown in the example with:

      • the local machine address without the port (:8020)

        The machine address can be found in the browser address bar (on the machine the certificate is generated for) when Open Browser is selected from the Live task in DriveWorks Live.

        Or

      • a custom domain name
  2. Configure the certificate.
    1. Open the Run prompt.
      • Windows Key + R

        Or

      • Task Manager > File > Run New Task.
    2. Type mmc and press Ctrl + Shift + Enter to run as Administrator.

      This will open up the Microsoft Management Console.

    3. Inside the Microsoft Management Console, click File > Add/Remove Snap-in.
    4. Locate the 'Certificates' Snap-in located under the Available snap-ins list, and click Add >.
    5. Ensure 'Computer account' is selected, then click Next.
    6. Ensure the computer this snap-in should manage is the Local computer, then click Finish.
    7. In the 'Add or Remove Snap-ins' window, click OK.
    8. In the Microsoft Management Console, expand the 'Certificates (Local Computer)' node to reveal all the certificate folders currently in use.
    9. Expand the 'Personal' and 'Trusted Root Certification Authorities' folders, both should contain a subfolder called 'Certificates'.
    10. Check the 'Personal/Certificates' folder, the newly created certificate should be there.
    11. Right click the certificate, and click Properties.
    12. A 'Friendly name' for the certificate can be given - 'localhostCert' or similar, dependent on the domain.
    13. Beneath the name and description, under 'Certificate purposes', select 'Enable only the following purposes' and make sure only 'Server Authentication' is ticked.

      Click Apply, and then OK.

  3. Trusting the certificate.

    Before the self-signed SSL certificate can be used it needs to be trusted.

    1. Navigate inside the Microsoft Management Console to 'Personal/Certificates'.
    2. Hold right-click on the certificate, and drag it over the 'Trusted Root Certification Authorities/Certificates' folder, then select Copy Here.
    3. Select the 'Certificates' subfolder inside of 'Trusted Root Certification Authorities', the certificate will be listed.

    The certificate should now be trusted, and can be used for hosting purposes.

  4. Export certificate as .pfx file to local, safe location on the machine running DriveWorks Live.

    If mmc.exe has been closed, restart and add the Certificates Snap-in (step B.4 above).

    1. Right-click the desired certificate in Personal > Certificates.
    2. Select All Tasks > Export.
    3. Click Next.
    4. Select Yes, export the private key, click Next.
    5. Select all defaults, click Next.
    6. Check Password and enter a secure password (remember this for ConfigUser.xml later).
    7. Select AES256-SHA256 encryption.
    8. Click Next.
    9. Select browse and save the file to somewhere 'safe' on your machine (i.e. not in your public HTTP directories).
    10. Click Next and Finish.
  5. Secure DriveWorks Live and the Integration Theme.
    1. Update the DriveWorksConfigUser.xml with the httpsPfxFilePath and httpsPfxPassphrase.

      See Integration Theme Settings for information on the User file.

      See Configure httpsPfxFilePath and httpsPfxPassphrase in the DriveWorksConfigUser.xml file for information on these settings.

      httpsPfxFilePath is the full file path to where the .pfx file was saved.

      httpsPfxPassphrase is the password set during export.

    2. In DriveWorks Live, open Settings:

      Go to Live Settings > URL Settings, and check SSL (Advanced).

    3. Restart DriveWorks Live (Stop and Start buttons from the Live task).
    4. Check the onscreen log displays "Listening on https://" (under description).
    5. Click Open Browser to test.

      If not redirected, change the url to https://

    6. The connection should be secured.

      In Chrome, clicking the View site information button next to the URL in the address bar certificate should show the certificate is valid.

      Other browsers may display a padlock button with the same information.

    Any connections to your local server (for example through LiveIntegrationClient.min.js) will now be secured.

Multiple Domains or Split DNS

Multiple domains or split DNS are not supported when using the following:

  • DriveWorks Live - Integration Theme
  • DriveWorks Pro Server
  • CPQ Sales Portal when hosted on a separate domain.

Multiple domains are where many domains resolve to a single IP address in the DNS record.

For example:

domainIP
www.company.orgresolves to00.111.2.333
www.company.comresolves to00.111.2.333

Similarly, a split DNS (also known as split-horizon or split-view DNS) is where the same domain name resolves to different IP addresses depending on whether the request comes from inside or outside the network.

Certain features of DriveWorks technology require fully qualified domain names (FQDN) in responses and outbound communications.

As such having multiple domains directed to the same IP address or using a Split DNS are not supported.

Each domain name must use its own instance of the applications listed above.

DriveWorks Live - Web Theme

The above does not apply to the Web Theme, however we do recommend using the Integration Theme for its many advantages.

As the Web Theme is typically embedded into third party sites using an iFrame it has a dedicated URL therefore any paths are always relative to the root domain.