How to use command-line OpenSSL
SSL-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:
$ @APACHE$COMMON:[OPENSSL.COM]OPENSSL_INIT_ENV.COM
Then enter the following, to choose a directive and proceed:
$ OPENSSL <commandname>
If you type an unknown command name, a complete list of
commands (standard, message digest, and cipher) is displayed.
$ OPENSSL <unknown_commandname>

How to create and view a client
revocation list
If 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 certificate
When 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 - _$ revoke <FILESPEC>.CRT
Example:
$ openssl ca -verbose -config openssl_ca.conf - _$ revoke
APACHE$COMMON:[OPENSSL.CRT]JAY_SAMPLE.CRT
Using configuration from openssl_ca.conf
Enter PEM pass phrase:
[List of Certificates]
Revoking Certificate 06.
Data Base Updated
$
The files specified are the CA configuration file
(OPENSSL_CA.CONF), and the CRT file APACHE$COMMON:[OPENSSL.CRT]JAY_SAMPLE.CRT.
Create the client revocation list
When 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:
$ openssl ca -gencrl -config
openssl_ca.conf -out -
_$ <FILESPEC>.CRL -crldays [365]
Notes:
- OpenSSL arguments (shown lowercase) may precede or follow
OpenVMS file
specifications (shown uppercase).
- If you do not have default_crl_days defined in your
OPENSSL_CA.CONF file,
you must supply this on the command line also (as in the following example).
- If you get an error message "Unable to load 'random
state'," you
can create a RANDFILE environment variable, as follows:
$ SHOW SYSTEM /FULL /OUT=SYS$LOGIN:RANDFILE.;
$ DEFINE /PROCESS RANDFILE
SYS$LOGIN:RANDFILE.;
Example:
$ openssl ca
-gencrl -config openssl_ca.conf -out -
_$ APACHE$COMMON:[CONF.SSL_CRL]CA-BUNDLE.CRL -crldays 365
Using configuration from openssl_ca.conf
Enter PEM pass phrase:
$
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 list
The syntax of this command is
as follows:
$ openssl crl -in <FILESPEC>.CRL -text -noout
Example:
This command would open the CRL file created by the previous
example.
$ openssl crl -in APACHE$ROOT:[CONF.SSL_CRL]CA-BUNDLE.CRL -
_$ text -noout
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 2000 GMT
Next
Update: Aug 14 16:27:42 2001 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
OpenSSL
Reference Documents
FAQs
After entering OPENSSL -?, why am I prompted for a _File?
You should use the following command to work with the OpenSSL command line:
$ @APACHE$COMMON:[OPENSSL.COM]OPENSSL_INIT_ENV.COM
After doing this, you can proceed by entering $
OPENSSL once or prior to each command.
Where are the OPENSSL configuration files?
OpenSSL configuration files can exist in the system-specific or common CONF directory.
When using common configuration files across a cluster:
APACHE$COMMON:[CONF]OPENSSL.CONF and OPENSSL_CA.CONF
When using system-specific configuration files:
APACHE$SPECIFIC:[CONF]OPENSSL.CONF and OPENSSL_CA.CONF
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:
To view a certificate request:
$ OPENSSL REQ -IN <FILE_NAME>.CSR -NOOUT -TEXT
For example:
$ OPENSSL REQ -IN [.OPENSSL.CSR]MR.CSR -NOOUT
-TEXT
To view a certificate:
$ OPENSSL X509 -IN <INPUT_FILE>.CRT -NOOUT -TEXT
For example:
$ OPENSSL X509 -IN [.OPENSSL.CRT]MR.CRT -NOOUT
-TEXT
Why and how do I convert from PEM to DER and PFX formats?
These formats are methods of hashing certificates for distribution to clients.
File Extension |
Also Known As |
Purpose |
.P12 |
PFX/PKCS12 |
Format used by Internet Explorer
and Netscape Navigator to import client certificates. |
.DER |
|
Format used by Internet Explorer
to import CA certificates. |
.CRT |
PEM |
Format used by Netscape Navigator
to import CA certificates. |
From the OpenSSL command line, use the following commands:
To convert to DER:
$ openssl X509 -in <FILE_NAME>.PEM -inform PEM - _$ outform DER -out
<FILE_NAME>.DER
To convert to PFX:
$ openssl PKCS12 -export -in <FILE_NAME>.CRT -
_$ INKEY OPENSSL_KEY:<FILE_NAME>.KEY
_$ OUT <FILE_NAME>.P12 -NAME
"Issuer Name"
|