Managing The SSL Certificate For The ESRS HTTPS Listener Service
Managing The SSL Certificate For The ESRS HTTPS Listener Service
Managing The SSL Certificate For The ESRS HTTPS Listener Service
Technical Notes
P/N 300-011-843
REV A01
January 14, 2011
1
Introduction
Introduction
This technical note presents a method for securing the HTTPS connection
between the ConnectHome feature on a Control Station and the EMC®
Secure Remote Support (ESRS) HTTPS Listener Service installed on a
host system that is running Microsoft Windows. After you have installed
and configured the two components and the connection is shown to be
working (by using the default HTTPS configuration), you should
provide the ESRS HTTPS Listener Service with an X.509 certificate that is
specific to the system that is hosting the service. This action allows any
ConnectHome client to verify the server identity.
Terminology
ESRS HTTPS Listener (EHL) Service
2 Managing the SSL Certificate for the ESRS Listener Service Technical Notes
HTTPS concepts
HTTPS concepts
HTTPS protects the HTTP exchanges between two systems. Typically,
this protection uses encryption to protect the traffic over the network
and enables the client, which is the system initiating the exchange, to
verify the identity of the server. You can use HTTPS without verifying
the server’s identity, but this leaves the exchange open to man-in-the-
middle attacks.
In order for a client system to verify the identity of the server, the server
will present to a client an X.509 certificate that identifies the server and is
associated with a private key to which only the server system should
have access. This allows the HTTPS handshake process to use a
challenge and response protocol in which the client system can verify
that the server has the private key associated with the certificate and, to
the extent that the certificate is trusted, be assured that it is
communicating with the right server.
Logically, three systems are involved in establishing a valid HTTPS
connection. These are:
• The client system that initiates a connection. For the purposes of
this technical note, this is the Control Station which is initiating a
ConnectHome call.
Before any clients can verify the server’s identity, the server must obtain
a suitable X.509 certificate. This certificate is signed by some entity to
verify the information is correct, even if that entity is the server itself.
Once this certificate is in place and the client initiates a connection to the
server, the server presents the client with this certificate. The client
verifies that the information in the certificate agrees with what it
expected (typically, that either the hostname or IP address match what it
used to connect to the server) and then must decide how trustworthy the
certificate is (who signed it and whether to believe that signing
Managing the SSL Certificate for the ESRS Listener Service Technical Notes 3
Obtaining an appropriate X.509 certificate
authority).
The following sections describe how to obtain and install a suitable
certificate on the EHL hosting system and how to configure the Control
Station to accept it.
4 Managing the SSL Certificate for the ESRS Listener Service Technical Notes
Obtaining an appropriate X.509 certificate
4. In the right-hand pane, find the certificate that identifies the system
by IP address or hostname. Be sure that the certificate has a
corresponding private key.
In the case where a suitable certificate is already in place, determine the
signing authority (either a Certificate Authority or self-signed) and locate
the corresponding public certificate so that the Control Station can verify
the server’s identity (discussed in section Configuring ConnectHome to
verify the server identity).
Managing the SSL Certificate for the ESRS Listener Service Technical Notes 5
Obtaining an appropriate X.509 certificate
This command creates a self-signed certificate (the subject and issuer are
the same) and a corresponding key (mycert.pem and mykey.pem,
respectively). This certificate has a key length of 1024 bits and is valid for
one year. To have a larger key size, change the -newkey argument to
rsa:2048. To change the length of time for which the certificate is valid,
change the argument to the -days option.
4. Type the following command (all on one line) to bundle the resulting
certificate (mycert.pem) and associated private key (mykey.pem)
into a PKCS #12 bundle that can be imported on the Windows
system that is hosting the EHL service:
Openssl pkcs12 –export –out mypkg.p12 –in mycert.pem –inkey
mykey.pem
6 Managing the SSL Certificate for the ESRS Listener Service Technical Notes
Configuring the ESRS HTTPS Listener Service to use the appropriate X.509 certificate
Managing the SSL Certificate for the ESRS Listener Service Technical Notes 7
Configuring the ESRS HTTPS Listener Service to use the appropriate X.509 certificate
Note that the Issued to: and Issued by: entries are the same value. This
indicates the certificate is self-signed. Next note that the certificate store
considers the certificate to be untrusted. You should make the certificate
trusted for this system by importing the public certificate into the
Trusted Root Certification Authorities store. Do this by importing the
PKCS#12 bundle into the certificate store again but into a different
folder. The process is the same as outlined above except that in step 3,
select Certificates (Local Computer) → Trusted Root Certification
Authorities → Certificates.
Once you have done this, the original certificate similar to the following
should appear:
8 Managing the SSL Certificate for the ESRS Listener Service Technical Notes
Configuring the ESRS HTTPS Listener Service to use the appropriate X.509 certificate
Managing the SSL Certificate for the ESRS Listener Service Technical Notes 9
Configuring the ESRS HTTPS Listener Service to use the appropriate X.509 certificate
10 Managing the SSL Certificate for the ESRS Listener Service Technical Notes
Configuring ConnectHome to verify the server identity
7. Click Save.
8. Verify that the esrshttps.exe.config file includes the correct values.
If any values differ from what is expected, you can edit the config
file directly.
9. Start (or restart) the EHL service.
10. Verify in the log file that the service started correctly using the
supplied certificate. The log file lists the supplied SSLHash value
that is being used and verifies that it was found in the certificate
store.
Managing the SSL Certificate for the ESRS Listener Service Technical Notes 11
Troubleshooting
/path/to/cert/mycert.pem
Once you have completed these two commands, verify the connection
with the command:
nas_connecthome –test –https
Troubleshooting
If the HTTPS connection from the ConnectHome client to the EHL
service is not working, consider the following:
• Verify that the connection was working before any certificate
changes were made. In some environments, you may need to
change internal firewall settings.
12 Managing the SSL Certificate for the ESRS Listener Service Technical Notes
Troubleshooting
Managing the SSL Certificate for the ESRS Listener Service Technical Notes 13