Skip To Content

Enabling SSL using a new CA-signed certificate

In this topic

This topic shows you how you can enable SSL for ArcGIS Server using a certificate signed by a Certificate Authority (CA). The steps to enable SSL using a CA-signed certificate are as follows:

Create a new self-signed certificate

  1. Log in to the ArcGIS Server Administrator Directory at http://gisserver.domain.com:6080/arcgis/admin.
  2. Browse to machines > [machine name] > sslcertificates.
  3. Click generate.
  4. Provide values for the parameters on this page:

    OptionDescription

    Alias

    A unique name that easily identifies the certificate.

    Key Algorithm

    Use RSA (the default) or DSA.

    Key Size

    Specifies the size in bits to use when generating the cryptographic keys used to create the certificate. The larger the key size, the harder it is to break the encryption; however, the time to decrypt encrypted data increases with key size. For DSA, the key size can be between 512 and 1,024. For RSA, the recommended key size is 2,048 or greater.

    Signature Algorithm

    Use the default (SHA1withRSA). If your organization has specific security restrictions, then one of the following algorithms can be used for DSA: SHA256withRSA, SHA384withRSA, SHA512withRSA, SHA1withDSA.

    Common Name

    Use the domain name of your server name as the common name.

    If your server will be accessed on the Internet through the URL https://www.gisserver.com:6443/arcgis/, use www.gisserver.com as the common name.

    If your server will only be accessible on your local area network (LAN) through the URL https://gisserver.domain.com:6443/arcgis, use gisserver as the common name.

    Organizational Unit

    The name of your organizational unit, for example, GIS Department.

    Organization

    The name of your organization, for example, Esri.

    City or Locality

    The name of the city or locality, for example, Redlands.

    State or Province

    The full name of your state or province, for example, California.

    Country Code

    The abbreviated code for your country, for example, US.

    Validity

    The total time in days during which this certificate will be valid, for example, 365.

    Subject Alternative Name

    The subject alternative name (SAN) is an optional parameter that defines alternatives to the common name (CN) specified in the SSL certificate. There cannot be any spaces in the SAN parameter value.

    If no SAN is defined, a website can only be accessed (without SSL certificate errors) by using the common name in the URL. If a SAN is defined and a DNS name is present, the website can only be accessed by what is listed in the SAN. Multiple DNS names can be specified if desired. For example, the URLs https://www.esri.com, https://esri, and https://10.60.1.16 can be used to access the same site if the SSL certificate is created using the following SAN parameter value:

    DNS:www.esri.com,DNS:esri,IP:10.60.1.16

  5. Click Generate to generate the certificate.

Request a CA to sign your certificate

For web browsers to accept your certificate as a trusted certificate, it must be verified and countersigned by a well-known Certificate Authority such as Verisign or Thawte.

  1. Open the self-signed certificate you created in the previous section, and click generateCSR. Copy the contents into a file, usually with a *.csr extension.
  2. Submit the CSR to a CA of your choice. You may obtain a Distinguished Encoding Rules (DER) or Base64 encoded certificate. If the CA requests the type of web server the certificate is for, specify Other\Unknown or Java Application Server. After verifying your identity, they'll send you a *.crt or *.cer file.
  3. Save the signed certificate received from the CA to a location on your computer. In addition to the signed certificate, the CA will also issue a root certificate. Save the CA root certificate to your computer.
  4. Log in to the ArcGIS Server Administrator Directory: http://gisserver.domain.com:6080/arcgis/admin.
  5. Click machines > [machine name] > sslcertificates > importRootOrIntermediate to import the root certificate provided by the CA. If the CA issued any additional intermediate certificates, import those as well.
  6. Navigate to machines > [machine name] > sslcertificates.
  7. Click the name of the self-signed certificate that you submitted to the CA.
  8. Click importSignedCertificate, and browse to the location where you saved the signed certificate received from the CA.
  9. Click Submit. This replaces the self-signed certificate you created in the previous section with the CA-signed certificate.

Configure ArcGIS Server to use the CA-signed certificate

  1. Log in to the ArcGIS Server Administrator Directory at http://gisserver.domain.com:6080/arcgis/admin.
  2. Browse to machines > [machine name].
  3. Click edit.
  4. Type the name of the signed certificate in the Web server SSL Certificate field. The name you specify should match the alias of the self-signed certificate that was replaced with the CA-signed certificate in the previous section.
  5. Click Save Edits to apply your changes.
  6. On the current page, view the property Web server SSL Certificate to verify that the desired SSL certificate will be used for SSL.

Configure each GIS server in your deployment

If you have a multiple machine deployment of ArcGIS Server, you must obtain and configure a CA-signed certificate for each GIS server that participates in your site.

Import the CA root certificate into the OS certificate store

  1. On the machine hosting ArcGIS Server, open the init_user_param.sh script in a text editor by navigating to the <ArcGIS Server installation directory>/arcgis/server/usr directory.
  2. Locate the line export CA_ROOT_CERTIFICATE_DIR=<Location_to_CA_Root_Certificate>, and specify a location where all CA root certificates are stored on the system. Note that the specified directory needs to be accessible by the account that was used to install ArcGIS Server. You need to uncomment the lines by removing the pound sign [#] characters.
  3. Save and close the init_user_param.sh script.
  4. Repeat steps 1-3 for each GIS server in your site.
  5. Restart ArcGIS Server. You can do this by running the startserver.sh script on each GIS server in your site.

Enable SSL for your site

  1. Log in to the ArcGIS Server Administrator Directory at http://gisserver.domain.com:6080/arcgis/admin.
  2. Browse to security > config > update.
  3. For the Protocol parameter, choose the HTTP and HTTPS option, and click Update. This automatically restarts your ArcGIS Server site.
  4. After your site is restarted, verify that you can access the URL https://gisserver.domain.com:6443/arcgis/admin. If you do not get a response from this URL, ArcGIS Server was unable to use the specified SSL certificate. Check your SSL certificate, and configure ArcGIS Server to use a new or different SSL certificate.
  5. If you can access the URL https://gisserver.domain.com:6443/arcgis/admin, browse to security > config > update.
  6. For the Protocol parameter, choose the HTTPS Only option, and click Update.
Note:

It takes ArcGIS Web Adaptor one minute to recognize changes to the communication protocol of your site.

Legacy:

At 10.2.1 and earlier versions, you were required to reconfigure ArcGIS Web Adaptor after updating the communication protocol of ArcGIS Server. At 10.2.2 and later versions, this is no longer necessary.

Access your site using SSL

Once SSL has been configured, ArcGIS Server listens on port 6443 for HTTPS requests. Use the URLs below to securely access ArcGIS Server:

ArcGIS Server Manager

https://gisserver.domain.com:6443/arcgis/manager

ArcGIS Server Services Directory

https://gisserver.domain.com:6443/arcgis/rest/services

Note:

If you rename ArcGIS Server while SSL is enabled, you can continue to access ArcGIS Server using SSL; however, you must generate a new SSL certificate and configure ArcGIS Server to use it.