C O N T E N T S |
||||||||||||||
|
HP Secure Web Server Documentation
|
Chapter 7:Using CertificatesThis chapter tells you how to put certificates to work on your SSL-enabled HP Secure Web Server. There are instructions that will show you how to use mod_SSL, OpenSSL, and the Certificate Tool to set up your server's security. Those commands that require command-line OpenSSL are introduced and explained at the end of this chapter. __Topics_____________________________________________ How to use certificatesA self-signed certificate, good for 30 days, is automatically generated for
your server when you run CSWS
in SSL mode
Important: Once a real certificate has been installed, you should delete the temporary,
self-signed certificate (APACHE$SPECIFIC:[CONF.SSL_CRT]SERVER.CRT)
that was created during the installation of HP Secure Web Server.
This will prevent the accidental use of the temporary certificate if you've
installed the real certificate in APACHE$COMMON:[CONF.SSL_CRT] using
the same name and your mod_ssl.conf directive uses APACHE$ROOT as
part of the certificate file path. For example:
SSLCertificateFile /apache$root/conf/ssl_crt/server.crt
Because APACHE$ROOT is a search-listed logical name, the server will first look
in APACHE$SPECIFIC:[CONF.SSL_CRT] and then in
APACHE$COMMON:[CONF.SSL_CRT] for the server.crt file.
If you've used the same name as the temporary certificate file,
the server will find that one first.
You can test a real server certificate by using a CA's
trial program. For example, you can test VeriSign's Secure Server ID. Follow these steps to install a CA's certificate (also
referring to your CA's instructions as they apply to Apache with mod_ssl):
How to install a VeriSign Global Server IDPlease be aware of the client requirements before installing a VeriSign Global Server
ID (GSID). The following instructions configure the Global Server ID server certificate in the system-specific configuration directory and the Intermediate CA certificate in the common configuration directory. If this is not appropriate for your site, the location of the Intermediate CA certificate can be placed in the system-specific configuration directory.
Verify that all CSWS processes have stopped first. Client requirementsGlobal Server IDs will work with the following browsers:
If your users are using Netscape Navigator 3.0, they will be able to connect to your site at the 40-bit encryption. Navigators prior to 3.0 or Internet Explorers prior to 3.02 will not work with GSIDs. How to enforce secure pages selectivelyIt's important to realize that installing a trusted CA certificate does not enforce blanket security for your server unless you require it. You may want to specify which of your server's directories or files require a secure connection. Without doing so, clients are able to view the same pages using URLs beginning with http:// as well as https://. The simplest way to do this is by using the SSLRequireSSL directive in the HTTPD.CONF file using the MOD_SSL.CONF include file. If you apply it to the HTDOCS (or equivalent) directory, it prevents access to any pages in that directory or subdirectories without a secure connection (without using https://). You can also include the SSLRequireSSL directive in .HTACCESS files for individual directories. Using MOD_SSL.CONF is the more secure method, but this requires stopping and restarting the server. Using an .HTACCESS file offers greater flexibility but also has the potential to compromise performance and security. In order to enforce authentication of all clients, use the SSLVerifyClient directive. The require option makes the presentation of a client ID mandatory. A much more complex directive, SSLRequire, enables you to implement selective security using client verification on a per directory basis. You construct SSLRequire directives using Boolean statements that parse the credentials of client certificates (using their corresponding environment variables). The official mod_ssl documentation explains how to construct such directives. See also: How to use the FakeBasicAuth option
|
|||||||||||||
How to create and distribute client certificatesIssuing client certificates means you are performing the role of a Certificate Authority with the purpose of requiring clients to use a certificate that you issue. The following steps are involved:
Client certificates are issued to individual persons. Therefore the common name is the individual's proper name (not the name of a network node). Important: When signing the client certificate you must use the same pass phrase you used to create your certificate authority.
How to implement the FakeBasicAuth optionThis is an option of the SSLOptions directive
FAQsWhy do I already have a server certificate on my system?A server certificate is required to start HP Secure Web Server if you enabled SSL. A 30-day certificate is self-signed for you when you run the CSWS configuration tool:
You can examine the file's contents by choosing Option 1 in the OpenSSL Certificate Tool
What happens when the self-signed certificate expires?Your SSL-aware server will not start without a valid
certificate. In most cases, you will want to replace it with a commercial CA certificate, according to the preceding
instructions for testing and installing certificates. However, a certificate does not have to be signed by a public CA. You
can self-sign a new certificate by rerunning the CSWS configuration tool or by using the OpenSSL Certificate Tool to set a
longer expiration period as required.
Can I install more than one server certificate?Yes. Multiple server certificates for virtual hosts need to be defined using individual SSLCertificateFile and SSLCertificateKeyFile directives.
|
||||||||||||||
How to use command-line OpenSSLSSL-enabled HP Secure Web Server includes the complete OpenSSL command-line interface in its native UNIX format. Whether you will need to use this depends on the type of administrative tasks you plan to do. For example, if you are implementing client authentication, one requisite activity is to generate a Client Revocation List if you are issuing client certificates. Start the OpenSSL command-line interface with this command:
If you type an unknown command name, a complete list of commands (standard, message digest, and cipher) is displayed.
How to create and view a client revocation listIf you want to implement a client revocation list using the mod_SSL directives, SSLCARevocationPath and SSLCARevocationFile, you will need to set up your list using OpenSSL commands in the following way: Revoke a certificateWhen you revoke a certificate, you specify a client certificate you have issued. Doing so denies authorized access. The syntax of this command is as follows: $ openssl ca -verbose -config
OPENSSL_CA.CONF - Example: $ openssl ca -verbose -config OPENSSL_CA.CONF - [List of Certificates] Revoking Certificate 06.
Create the client revocation listWhen you create a CRL file, you are bundling all the revoked client certificate requests on your system. The syntax of this command is as follows:
Notes:
Example: $ openssl ca
-gencrl -config OPENSSL_CA.CONF -out - The files specified are the CA configuration file (OPENSSL_CA.CONF), and the CRL file, APACHE$COMMON:[CONF.SSL_CRL]CA-BUNDLE.CRL. View the client revocation listThe syntax of this command is as follows:
Example: This command would open the CRL file created by the previous example. $ openssl crl -in APACHE$ROOT:[CONF.SSL_CRL]CA-BUNDLE.CRL - Certificate Revocation List (CRL): Version 1 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: /C=US/O=XYZ Corp./OU=Research Dept./CN=XYZ Authority Last Update: Aug 14 16:27:42 2004 GMT Next Update: Aug 14 16:27:42 2005 GMT No Revoked Certificates. Signature Algorithm: md5WithRSAEncryption 83:47:e1:ce:f9:d9:41:ef:29:e7:a8:90:66:ee:1b:ad:50:37: bf:d3:16:ec:14:52:e5:1c:4f:dc:95:46:5b:ba:28:73:87:8f: 3f:49:80:11:08:8b:ab:64:56:77:bf:9f:75:3a:d7:be:55:a9: 87:2f:58:c2:59:80:31:52:a4:7d:28:00:24:a6:cc:0d:23:a2: 00:5c:f5:04:f5:91:80:59:ab:52:dc:72:83:ac:40:40:1b:08: fa:bd:d0:f9:c4:45:47:7a:c0:52:0b:3a:22:e4:5e:2a:8d:5d: fa:74:f1:1b:ee:ec:ce:88:c5:c6:50:4a:e2:74:9b:96:9f:cb: f6:a8 FAQsAfter entering OPENSSL -?, why am I prompted for a _File?You should use the following command to work with the OpenSSL command line:
Where are the OPENSSL configuration files?OpenSSL configuration files can exist in the system-specific or common CONF directory.
How do I view certificates and certificate requests?If you don't want to use the Certificate Tool for this purpose, use the following commands from the OpenSSL command line:
Why and how do I convert from PEM to DER and PFX formats?These formats are methods of hashing certificates for distribution to clients.
From the OpenSSL command line, use the following commands:
|