Cisco CSS 11500 Series Content Services Switches

Requesting and Installing a Server Certificate on the CSS11500

Cisco - Requesting and Installing a Server Certificate on the CSS

Document ID: 47781

Updated: May 04, 2004



If you do not have pre-existing keys and certificates for the Content Services Switch (CSS), you can generate them on the CSS. The CSS includes a series of certificate and private key management utilities to simplify the process of generating private keys, Certificate Signing Requests (CSR), and self-signed temporary certificates. This document describes the process for obtaining a new certificate from a certificate authority (CA) and installing it to the CSS.



There are no specific requirements for this document.

Components Used

This document is not restricted to specific software and hardware versions.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


For more information on document conventions, see the Cisco Technical Tips Conventions.


In this section, you are presented with the information to configure the features described in this document.

Note: In order to find additional information on the commands used in this document, use the Command Lookup Tool (registered customers only) .


This document uses the configurations shown below.

  • Generate Rivest, Shamir, and Adelman (RSA) Key Pair

  • Associate the RSA Key Pair File

  • Generate CSR

  • Obtain Certificate from a CA

  • Import Chained Certificate File

  • Associate the Certificate File

  • Configure the SSL Proxy List

  • Configure Secure Socket Layer (SSL) Service and Content Rules

Generate Rivest, Shamir, and Adelman (RSA) Key Pair
Issue the ssl genrsa command to generate an RSA private/public key pair for asymmetric encryption. The CSS stores the generated RSA key pair as a file on the CSS. For example, to generate the RSA key pair myrsakey.pem, type the following:
CSS11500(config) # ssl genrsa myrsakey.pem 1024 “passwd123”

Please be patient this could take a few minutes

Associating the RSA Key Pair File
Issue the ssl associate rsakey command to associate the RSA key pair name to the generated RSA key pair. For example, to associate the RSA key name myrsakey1 to the generated RSA key pair file myrsakey.pem, type the following:
CSS11500(config) # ssl associate rsakey myrsakey1 myrsakey.pem

Generate CSR
Issue the ssl gencsr rsakey command to generate a CSR file for an associated RSA key pair file. This CSR will be sent to the CA for signing. For example, to generate a CSR based on the RSA key pair myrsakey1, type the following:
CSS11503(config)# ssl gencsr myrsakey1

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.
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 (full name) [SomeState] CA
Locality Name (city) [SomeCity] San Jose
Organization Name (company name) [Acme Inc]Cisco Systems, Inc.
Organizational Unit Name (section) [Web Administration] Web Admin
Common Name (your domain name) []
Email address []
The ssl gencsr command generates the CSR and outputs it to the screen. Most major CAs have Web-based applications that require you to cut and paste the certificate request to the screen.

The CA signs the CSR and returns it to you, typically using the email address provided within the CSR.

Obtain Certificate from a CA
After submitting your CSR to a CA, it takes between one and seven business days to receive a signed certificate; times vary due to the CA. Once the CA has signed and delivered the certificate, it can be added to the CSS.

Import Chained Certificate File
Once the CSR has been signed by a CA, it is now called a Certificate. The Certificate file must be imported to the CSS. Issue the copy ssl command to facilitate the import or export of certificates and private keys from or to the CSS. The CSS stores all imported files in a secure location on the CSS. This command is available only in SuperUser mode. For example, to import the mychainedrsacert.pem certificate from a remote server to the CSS, type the following:
CSS11500# copy ssl sftp ssl_record import mychainedrsacert.pem PEM “passwd123”

Completed successfully 

Associate the Certificate File
Issue the ssl associate cert command to associate a certificate name to the imported certificate. For example, to associate the certificate name mychainedrsacert1 to the imported certificate file mychainedrsacert.pem, type the following:
CSS11500(config)# ssl associate cert mychainedrsacert1 mychainedrsacert.pem 

Configure the SSL Proxy List
Issue the ssl-proxy-list command to create an SSL proxy list. An SSL proxy list is a group of related virtual or backend SSL servers that are associated with an SSL service. The SSL proxy list contains all the configuration information for each virtual SSL Server. This includes the SSL Server creation, certificates and corresponding SSL key pair, Virtual IP (VIP) address and port, SSL ciphers supported, and other SSL options. For example, to create the ssl-proxy-list ssl_list1, type the following:
CSS11500(config)# ssl-proxy-list ssl_list1
Create ssl-list <ssl_list1>, [y/n]: y 
Once you create an SSL proxy list, the CLI enters you into the ssl-proxy-list configuration mode. Configure your SSL server as shown below.
CSS11500(ssl-proxy-list[ssl_list1])# ssl-server 20
CSS11500(ssl-proxy-list[ssl_list1])# ssl-server 20 vip address
CSS11500(ssl-proxy-list[ssl_list1])# ssl-server 20 rsacert mychainedrsacert1
CSS11500(ssl-proxy-list[ssl_list1])# ssl-server 20 rsakey myrsakey1
CSS11500(ssl-proxy-list[ssl_list1])# ssl-server 20 cipher rsa-export-with-rc4-40-md5 80 5
CSS11500(ssl-proxy-list[ssl_list1])# active 

Configure Secure Socket Layer (SSL) Service and Content Rules
Once the SSL proxy list is activated, a service and content rule need to be configured to allow the CSS to send SSL traffic to the SSL module. This table provides an overview of the steps required to create an SSL service for a virtual SSL server, including adding the SSL proxy list to the service and creating an SSL content rule. Create an SSL service
CSS11500(config)# service ssl_serv1Create service <ssl_serv1>, 
   [y/n]: y
CSS11500(config-service[ssl_serv1])# type ssl-accel
CSS11500(config-service[ssl_serv1])# slot 2
CSS11500(config-service[ssl_serv1])# keepalive type none
CSS11500(config-service[ssl_serv1])# add ssl-proxy-list ssl_list1
CSS11500(config-service[ssl_serv1])# active 
Create an SSL content rule
CSS11500(config)# owner ssl_owner
Create owner <ssl_owner>, [y/n]: y
CSS11500(config-owner[ssl_owner])# content ssl_rule1
Create content <ssl_rule1>, [y/n]: y
CSS11500(config-owner-content[ssl-rule1]# vip address
CSS11500(config-owner-content[ssl-rule1]# port 443 
CSS11500(config-owner-content[ssl_rule1])# add service ssl_serv1 
CSS11500(config-owner-content[ssl_rule1])# active 
Create a clear text content rule
CSS11500(config-owner[ssl_owner])# content decrypted_www 
Create content <decrypted_www>, [y/n]: y
CSS11500(config-owner-content[decrypted_www]# vip address
CSS11500(config-owner-content[decrypted_www]# port 80
CSS11500(config-owner-content[decrypted_www])# add service linux_http
CSS11500(config-owner-content[decrypted_www])# add service win2k_http
CSS11500(config-owner-content[decrypted_www])# active 
At this point, client HTTPS traffic can be sent to the CSS at The CSS decrypts the HTTPS traffic, converting it to HTTP. The CSS then chooses a service and sends the HTTP traffic to a HTTP Web server. The following is a working CSS configuration using the examples above:
CSS11501# show run

!*************************** GLOBAL ***************************
ssl associate rsakey myrsakey1 myrsakey.pem
ssl associate cert mychainedrsacert1 mychainedrsacert.pem

ip route 1

ftp-record conf admin des-password 4f2bxansrcehjgka /tftpboot

!************************* INTERFACE *************************
interface 1/1
bridge vlan 10
description "Client Side"

interface 1/2
bridge vlan 20
description "Server Side"

!************************** CIRCUIT **************************
circuit VLAN10
description "Client Segment"

ip address

circuit VLAN20
description "Server Segment"

ip address

!*********************** SSL PROXY LIST ***********************
ssl-proxy-list ssl_list1
ssl-server 20
ssl-server 20 vip address
ssl-server 20 rsakey myrsakey1
ssl-server 20 rsacert mycertcert1
ssl-server 20 cipher rsa-with-rc4-128-md5 80

!************************** SERVICE **************************
service linux-http
ip address
port 80

service win2k-http
ip address
port 80

service ssl_serv1
type ssl-accel
slot 2
keepalive type none
add ssl-proxy-list ssl_list1

!*************************** OWNER ***************************
owner ssl_owner

content ssl_rule1
vip address
protocol tcp
port 443
add service ssl_serv1

content decrypted_www
vip address
add service linux-http
add service win2k-http
protocol tcp
port 80


There is currently no verification procedure available for this configuration.


There is currently no specific troubleshooting information available for this configuration.

Related Information

Updated: May 04, 2004
Document ID: 47781