Ask a Question

Advanced Search

Alert ID : INFO1909

Last Modified : 04/19/2019

ECC Certificate Signing Request (CSR) Generation Instructions for Apache SSL



This document provides instructions for generating ECC CSR for Apache. If you are unable to use these instructions for your server, Symantec recommends that you contact either the vendor of your software or an organization that supports Apache-SSL.
NOTE: To generate a CSR, a key pair must be created for the server. These two items are a digital certificate key pair and cannot be separated. If the public/private key file or password is lost or changed before the SSL certificate is installed, the SSL certificate will need to be re-issued. The private key, CSR, and certificate must all match in order for the installation to be successful.
NOTE: The following ECC name curve is supported: Key type: named curve NIST P-256, aka prime256v1. To learn more about Elliptic
Curve Cryptography name curve, please visit: Elliptic Curve Cryptography Subject Public Key Information - IETF
To generate the correct ECC parameter, name curve prime256v1, & SHA-256 signature algorithm OpenSSL ver. 1.0.1g. must be used.

Step 1: Generate Private Key for ECC

  1. The utility "openssl" is used to generate the key and CSR. This utility comes with the OpenSSL package and is usually installed
    under /usr/local/ssl/bin. If the utility was installed elsewhere, these instructions will need to be adjusted accordingly.
  2. Type the following command at the prompt:
    openssl ecparam -out privatekey.key -name prime256v1 -genkey

    For example:

    NOTE: This command generates a private key file and ECC named curve as prime256v1.

Step 2: Generate Certificate Signing Request (CSR)

  1. Type the following command at the prompt:
    openssl req -new -key privatekey.key -out request.csr -sha256

    For example:

    NOTE: If using openSSL on Windows, you may need to specify the path to openssl.cnf such as the following:
    openssl req -new -key privatekey.key -out request.csr -config "c:OpenSS-Win64inopenssl.cnf

  2. This command will prompt for the following X.509 attributes of the certificate:

  • Country Name (C): Use the two-letter code without punctuation for country, for example: US or CA.
  • State or Province (S): Spell out the state completely; do not abbreviate the state or province name, for example: California.
  • Locality or City (L): The Locality field is the city or town name, for example: Berkeley.
  • Organization (O): If your company or department has an &, @, or any other symbol using the shift key in its name, you must spell out the symbol or omit it to enroll, for example: XY & Z Corporation would be XYZ Corportation or XY and Z Corportation.
  • Organizational Unit (OU): This field is the name of the department or organization unit making the request.
  • Common Name (CN): The Common Name is the Host + Domain Name. It looks like "" or "".
    NOTE: Symantec certificates can only be used on Web servers using the Common Name specified during enrollment. For example, a certificate for the domain "" will receive a warning if accessing a site named "" or "", because "" and "" are different from "". 

    NOTE: Please do not enter an email address, challenge password or an optional company name when generating the CSR.
  1. A public/private key pair has now been created. The private key ( is stored locally on the server machine and is used for decryption.
    The public portion, in the form of a Certificate Signing Request (certrequest.csr), will be for certificate enrollment.
  2. To copy and paste the information into the enrollment form, open the file in a text editor such as Notepad or Vi and save it as a .txt file.
    Do not use Microsoft Word as it may insert extra hidden characters that will alter the contents of the CSR.
  3. Verify your CSR
  4. Once the CSR has been created, proceed enrollment through Managed PKI for SSL.
Step 3: Backup the private key

        Symantec recommends backing up the .key file and storing of the corresponding pass phrase. A good choice is to create a copy 
        of this file onto a removable media. While backing up the private key is not required, having one will be helpful in the instance 
        of server failure.

Once the certificate has been issued, follow the steps from this link to install the certificate on your server:  SO21505