To obtain an SSL certificate, you first need to generate a Certificate Signing Request. This request include the common name and contact information. This is presented to a certificated authority who isues the SSL Certificate.
NOTE: When asked for your Common Name, enter the exact FQDN (fully qualified domain name) of the server you want to secure (i.e. "www.example.com" or "secure.example.com"). The prompt on some standard SSL distributions asks for "YOUR name", this is the Common Name
Throughout this document we use "www.example.com" and "secure.example.com". Any place you see either of these host names you should expect to enter the FQDN of the the server you are creating the CSR for. Providing the wrong Common Name is the single most common cause of problems.
Step 1. Go to your SSL directory
# cd /usr/local/ssl/private
Step 2. Generate a private key
# openssl genrsa -des3 1024 > secure.example.com.key
Now PLEASE backup your secure.example.com.key and make a note of the passphrase.
Step 3. Go to your certs directory
# cd /usr/local/ssl/certs
Step 4. Generate a CSR from your key
# openssl req -new -key ../private/secure.example.com.key > secure.example.com.csr
Please make sure that you backup the private key once it has been generated. Your certificate will not work without that private key.
For users of Raven 1.2, the certificate generation process is invoked with the following command typed at a shell prompt.
# ./ravenctl -cert
The process first prompts for the name of the certificate. Please enter the server name you wish to generate for.
Name of the server you are issuing certificate for? --> secure.example.com ############################################## The key name chosen is secure.example.com.key. The certificate name is secure.example.com.cert. The key/certificate pairs will be stored in /usr/local/ssl. ##############################################
You are about to generate a new key and key request. The key request will be sent to the email address of your choice and the keyfile will reside in /usr/local/ssl/private/secure.example.com.key.
Choose the size of your key. Smaller key sizes provide faster server response but will provide diminished security. Keys sizes less than 512 bits are easily cracked. For high security applications you will probably want a key sized not less than 1024 bits.
The process first prompts for the name of the certificate. Input your choice of key size at the prompt.
Number of bits in key (384 minimum, 1024 maximum)? --> 512 Generating random data ................................
Choose a pass phrase that is secure. Don't forget this password.
Enter PEM pass phrase: ................... Verifying password - Enter PEM pass phrase: ................... Key successfully generated.
You'll be prompted as to whether you will be sending the Certificate Request to a CA. Answer Yes to this and No to question regarding the ASN1-Kludge
Would you like to send a Certificate Request to a CA? [Y/n]: --> y Does your CA need the ASN1-Kludge? (VeriSign) [y/N]: --> n
Generating certificate request. This process will also create a temporary certificate for testing until you receive the certificate from your CA. Please enter the following information:
Using configuration from /usr/local/ssl/lib/ssleay.cnf
The pass phrase entered here is the phrase that you chose above.
Enter PEM pass phrase: ...................
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.
Country Name (2 letter code) [US]: US State or Province Name (full name) [State]: Your State Locality Name (eg, city) [City]: Your Town Organization Name (eg, company) [Organization]: Your Company name Organizational Unit Name (eg, section) [Division]: IT Department
It is important that your Common Name matches the name that the server will identify itself as when serving requests. Enter that server name below. For example, if you will be pointing people at https://secure.example.com/ then your server name would be secure.example.com. If your server has a real name ("adonis") and an alias ("secure" or "www") and you will be pointing people at the alias, then make sure you give the alias here, otherwise the browser will claim that the site name does not match the certificate.
It is also important that you give your State name, City name and two-letter UPPER CASE country code. The Organizational Unit field is optional.
Common Name (eg, YOUR name) [www.servername.com]: secure.example.com
Email Address [webmaster@servername.com]: webmaster@example.com
Using configuration from /usr/local/ssl/lib/ssleay.cnf
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=NH, L=Your Town, O=Your Company Name
OU=IT Department, CN=secure.example.com/Email=webmaster@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (512 bit)
Modulus (512 bit):
00:c0:34:7e:a5:02:f7:35:8e:42:7b:ce:69:e9:31:
c0:4e:fd:d2:a7:6e:2f:ee:0b:09:84:00:b5:dc:49:
3c:36:0b:82:74:7b:c8:65:3b:c4:85:b1:f8:71:86:
78:71:39:7c:03:16:c0:2b:50:d4:f1:dd:2a:f2:ce:
f3:68:35:d7:43
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
40:26:58:76:fe:a5:69:ab:fe:fd:f6:6e:0d:3b:f8:79:06:7e:
96:e3:1f:e0:44:12:c1:51:c6:58:f8:38:85:92:67:4e:99:ba:
3e:55:42:94:31:94:50:ba:96:19:4e:31:4a:d4:39:d6:91:12:
10:64:20:38:9c:df:df:ea:c8:72
Webmaster email: webmaster@example.com
Webmaster phone: +1.603.555.1212
Mailing the CSR to your personal email account will allow you to easily cut and paste the request into the submission form. Please enter that address below.
Send CSR via Email to? --> yourmail@example.com Certificate request sent to yourmail@example.com.
These instructions assume that SSLeay is installed, and that you have the executable ssleay in your PATH. They also assume that you are using version 0.8.1 or later... ssleay version will tell you which version you are using.
# which ssleay # ssleay version
Generate your key:
ssleay genrsa -des3 1024 > secure.example.com.key
This command sequence will generate a private key and store it in the file secure.example.com.key. It will ask you for a pass phrase: use something secure and remember it.
Your certificate will be useless without the key.
If you don't want to protect your key with a pass phrase (only if you absolutely trust that server, and you make sure the permissions are carefully set so only you can read that key) you can leave out the -des3 option.
Generate your CSR:
ssleay req -new -key secure.example.com.key> secure.example.com.csr
This command sequence will prompt you for the attributes of your certificate.
Once completed, you will have a private key in secure.example.com.key and a CSR in secure.example.com.csr. Paste the CSR into our forms, and hold on to your key. You will need the key to operate your secure server when we issue your certificate.
The Certificate Information for Server Desktop screen appears along with its associated buttons
Note: In order to obtain a signed certificate from a certificate authority, the organization name and location must be verifiable with a local, regional, or national government or other official organization. In addition, the certificate authority must be able to verify that the person requesting the certificate is the owner or employee of the named organization.
Note: Secondary certificate authorities are usually not needed, but certain authorities issue an extra certificate to be used for client authentication in addition to the usual server certificate that most certificate authorities issue.
The certificate file must contain both the private key and certificate sections if you are transferring it from another server. If the certificate is from a certificate authority to which you submitted a certificate signing request generated by this server, only the certificate is necessary, but it is okay if a private key is included with the signed certificate.
The server appliance saves the configuration of the virtual site.
Once the Server Administrator has enabled SSL, the Site Administrator must now create a self-signed certificate. The self-signed certificate can be signed later by an external authority.
The server appliance processes the information and regenerates the screen with the new self-signed certificate in the Certificate Request and Certificate windows.
Note: The encryption key size (512 bit, 1024 bit) has nothing to do with the actual session key (128 bit, 40 bit)
The following characters can not be accepted: < > ~ ! @ # $ % ^ * / \ ( ) ? . &
| DN Field | Explanation | Example |
|---|---|---|
| Country Name | The two-letter ISO abbreviation for your country | US = United States |
| State or Province Name | The state or province where your organization is located. Cannot be abbreviated. | New Hampshire |
| City or Locality | The city where your organization is located. | Manchester |
| Organization | The exact legal name of your organization. Do not abbreviate your organization name. | My Great Company, Inc. |
| Organizational Unit | Optional for additional organizational information. | Marketing |
| Common Name | The FQDN (fully qualified domain name) for your web server. You will get a certificate name check warning if this is not an exact match. | secure.example.com |
| SA E-mail Address | The e-mail address for the Server Administrator (optional) | admin@example.com |
example: /usr/local/stronghold/private/secure.example.com.key
Note: See also C2Net's documentation on key generation and installation instructions for both STRONGHOLD 2.3 and STRONGHOLD 2.4.x .
Note: On NT this is usually the /IBM Http Server/ssl directory
Note: This is the password that will be used to open the .kdb file in IKEYMAN in the future
Note: This will encrypt the password and save the file as a .sth file in the same directory as the .kdb file.
Note: Using the SiteName (ex. www.robo.com) as the label is a good practice
Note: This is the name that the GeoTrust will register, so it is important it matches the actual SiteName
Note: This is the file (.arm) that will contain your request. It is a simple text file that can be opened in any text editor. The information contained in this file is what GeoTrust needs you to provide us.
*Saving this file(.arm) in the same directory as the (.kdb) file is recommended.
More Info:
To activate the SSL protocol for your server, you will need to perform the procedures outlined in the following sections:
A certificate database is a key-pair and certificate database installed on the local host. When you use an internal token, the certificate database is the database into which you install the key and certificate. In Enterprise Server 4.0, each server instance (including the Enterprise Administration Server) has its own certificate/key pair which is referred to as a trust database.
A key-pair file contains both the public and private keys used for SSL encryption. You use the key-pair file when you request and install a certificate. The key-pair file is stored encrypted in the following directory:
server_root/alias/<alias>-key.db
When you create the key, you specify a password that you later use when you request the certificate and when you start a server that is using encrypted communications.
To create the certificate trust database, perform the following steps:
If no database exists, Enterprise Server creates the proper key and certificate database files and stores them in the alias/ directory (otherwise, Enterprise Server displays an error message).
All this information is combined as a series of attribute-value pairs called the distinguished name (DN), which uniquely identifies the subject of the certificate.
To install the issued Certificate, please refer to the following solution: vs26896
Select Start > Programs > iPlanet Web Server > Administer Web Server
It is very important that you remember this password. If you forget it you will not be able to gain access to your Private Key.
If the Web server name does not match the common name in the certificate, some browsers will refuse to establish a secure connection with your site. Do not specify the protocol (http://), any port numbers or pathnames in the Common Name (CN). Do not use wildcards such as * or ?.
You have successfully created your Private Key and Certificate Signing Request (CSR).
Open the Apache web server manager
When creating a CSR you must follow these convention. Ente rthe inforamtion to be displayed in the certificate. The following characters cannot be accepted: < > ~ ! @ # $ % ^ * / \ ( ) ? . , &
WARNING: Microsoft IIS 4.0 has serious issues with CSRs for SSL certificates. Please refer to the thawt article on SSL and IIS 4
Note: if you forget this password you will not be able to install your certificate. This password is kept locally and we have nothing to do with it. If you forget it, we cannot tell you what it is and you will have to buy another certificate.
If your server is 40 bit enabled, you will generate a 512 bit key only. 128 bit versions can generate up to 1024 bit keys. We suggest you select 1024 bit.
Do not use any of the following characters in the CSR fields: [! @ # $ % ^ * ( ) ~ ? > < & / \ , . " ']
This is possibly the most important step in the process. Do not forget to Commit Changes before you exit.
If you don't click on the YES button your private key will not be saved to the registry and the certificate you ultimately receive from us will not install and you will have to buy another one. Make very sure you Commit all changes.
WARNING: Microsoft IIS 4.0 has serious issues with CSRs for SSL certificates. Please refer to the thawt article on SSL and IIS 5
Start > Programs > Administrative Tools
You will need to prepare the request now but will only submit the request (CSR) via our online request forms. We do not accept CSR's via email.
At this point you will decide what encryption strength your Private Key and CSR will be set at. It is advised to choose a 1024-bit key size and please note that you cannot have a bigger key size than 1024-bit, as browsers will not make a session with a bigger key size.
Note: You will now create the Certificate Signing Request (CSR). This information will be displayed on your Certificate, and identifies the owner of the key to users. The CSR is only used to request the certificate. Certain characters must be excluded from your CSR fields, or your certificate may not work. Do not use any of the following characters: [! @ # $ % ^ * ( ) ~ ? > < & / \ , " ']
The term "common name" is X.509 speak for the name that distinguishes the Certificate best, and ties it to your Organization. In the case of SSL Web Server Certificates, enter your exact host and domain name that you wish to secure. Example: If you wish to secure secure.example.com, then you will need to enter the exact host (secure) and domain name in this field. If you enter example.com then the Certificate issued to you will only work error free on that exact domain name. It will cause an error when you or your users access the domain name as secure.example.com
When you have completed the form, submit it. The resulting page gives you your CSR. It looks like this:
-----BEGIN CERTIFICATE REQUEST----- MIIBujCCASMCAQAwejELMAkGA1UEBhMCQ0ExEzARBgNVBAgTClRFc3QgU3RhdGUx ETAPBgNVBAcTCENvbG9yYWR0MRswGQYDVQQKExJDYW5hZGlhbiBUZXN0IE9yZy4x EjAQBgNVBAsTCU9VIE9mZmljZTESMBAGA1UEAxMJd3d3LmV4LmNhMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQD5PIij2FNa+Zfk1OHtptspcSBkfkfZ3jFxYA6y po3+YbQhO3PLTvNfQj9mhb0xWyvoNvL8Gnp1GUPgiw9GvRao603yHebgc2bioAKo TkWTmW+C8+Ka42wMVrgcW32rNYmDnDWOSBWWR1L1j1YkQBK1nQnQzV3U/h0mr+AS E/nV7wIDAQABoAAwDQYJKoZIhvcNAQEEBQADgYEAAAhxY1dcw6P8cDEDG4UiwB0D OoQnFb3WYVl7d4+6lfOtKfuL/Ep0blLWXQoVpOICF3gfAF6wcAbeg5MtiWwTwvXR tJ2jszsZbpOuIt0WU1+cCYivxuTi18CQNQrsrD4s2ZJytkzDTAcz1Nmiuh93eqYw +kydUyRYlOMEIomNFIQ= -----END CERTIFICATE REQUEST-----
Copy your CSR from that page, and save it for future reference.
Note: Do not "click here to choose certificate authority".
Use the 4D WebSTAR Server Suite Key Generator application that comes with your 4D WebSTAR Server Suite/SSL server to generate a key file containing a public/private key pair for use with your secure server.
Do not forget this password! You'll need it later to authorize 4D WebSTAR Server Suite to use your public/private key pair. We recommend that you write it down and store it in a safe place. If you lose the password, you will have to purchase a new Digital ID.
Generating a key can take a few minutes.
The file must be named "Public/Private Key" and must be stored in the same folder as the 4D WebSTAR Server Suite server.
Use the Certificate Request application to enter the Certificate Signing Request information for your site. A Certificate Signing Request includes identifiers such as the name of your organization, department within the organization, and where the organization is located. It also includes the public key for your site.
Your Certificate Signing Request may be rejected if the information is not properly formatted. Be sure to closely follow the conventions outlined in the instructions. If any of the information is improperly formatted, you will be asked to correct it and send the request again.
The Certificate Signing Request process requires that you supply an email address and certain identifying information. All the fields except Organizational Unit are required.
Follow these steps:
Make sure that the Common Name you specify will be the actual domain name of your 4D WebSTAR Server - it will be encoded into the server certificate and cannot be changed later without purchasing a new certificate.
The email Address, Phone Number, and FAX Number fields are not part of the certificate. They are used these fields to contact you if it finds a problem with the certificate request.
The application creates a file named "Certificate Request" and then quits.
See the 4D WebSTAR Server Suite Installation Guide for further information about installing and setting up your 4D WebSTAR Server.
Zeus Server allows each of your virtual servers to have their own SSL certificates. This allows multiple secure sites to run on the same Zeus server. Each virtual server requires its own public and private certificates for secure communication. Secure certificates are added to a virtual server by clicking on the SSL Configuration link from the Edit Server page. The easiest way to configure SSL on your virtual server is to use the 'SSL Quick Setup' wizard. Click the 'SSL Quick Setup' button and fill in the form
You can configure your SSL server manually. You can use the certificate tool ($ZEUSHOME/admin/bin/cert) or an equivalent tool like openssl to generate the keys and certificates.
# $ZEUSHOME/admin/bin/cert -new -type private -keysize 1024 -out private.key Generating keys, this may take a few seconds Your new private key has been written to 'private.key'
# $ZEUSHOME/admin/bin/cert -new -type request -key private.key -out cert.csr The following information is required to make up the certificate. Optional fields can be left blank by entering a '.' Country: GB State/Province (optional outside US): . Locality (town/city): Cambridge Organisation: Zeus Organisational Unit (optional): . Common Name (full DNS name of the machine): secure.example.com Your certificate request has been written to the file 'cert.csr'.
# $ZEUSHOME/admin/bin/cert -new -type public -key private.key -out public.cert The following information is required to make up the certificate. Optional fields can be left blank by entering a '.' Country: GB State/Province (optional outside US): . Locality (town/city): Cambridge Organisation: Zeus Organisational Unit (optional): . Common Name (full DNS name of the machine): secure.example.com Your new public certificate has been written to the file 'public.cert'.
# $ZEUSHOME/admin/bin/cert -in public.cert -text X509 Certificate: Certificate Info: Version: 00 Serial Number: 00 Signature Algorithm: md5withRSAEncryption Issuer: C=UK, L=Cambridge, O=Zeus, CN=atlas Validity: Not Before: Mon, 15 May 2000 17:40:11 GMT Not After: Tue, 15 May 2001 17:40:11 GMT Subject: C=GB, L=Cambridge, O=Zeus, CN=www.zeus.com Subject Public Key Info: Public Key Algorithm: rsaEncryptionPublic Key: Modulus: c4:84:c7:63:36:e0:d4:52:fb:41:44:31:38:9b:91:5e:62: .... Exponent: 01:00:01 Signature Algorithm: md5withRSAEncryption Signature: 29:eb:c2:62:73:b8:b7:82:94:33:1f:da:9b:83:39:8b:75:1c:47:f5:41: ....
# $ZEUSHOME/admin/bin/cert -check -key private.key -in public.cert