Citrix ADC

创建一个证书

证书颁发机构(CA)是颁发用于公钥加密的数字证书的实体。执行SSL事务的应用程序(如web浏览器)信任证书颁发机构颁发或签署的证书。这些应用程序维护它们信任的ca列表。如果任何受信任的ca对用于安全事务的证书进行签名,则应用程序继续进行事务。

警告:Citrix建议您对所有SSL事务使用从授权ca(如Verisign)获得的证书。仅将在Citrix ADC设备上生成的证书用于测试目的,而不用于任何活动部署。

要导入现有的证书和密钥,请参见导入证书

执行以下步骤创建证书并将其绑定到SSL虚拟服务器。文件名中唯一允许的特殊字符是下划线和点。

  • 创建私钥。
  • 创建证书签名请求(CSR)。
  • 将CSR提交给证书颁发机构。
  • 创建证书-密钥对。
  • 将证书密钥对绑定到SSL虚拟服务器

下面的图表说明了该工作流。

端到端流动

视频链接如何创建和安装新证书

创建私钥

注:

  • 从版本12.1构建49。x,您可以使用带有PEM密钥格式的AES256算法在设备上加密私钥。与数据加密标准(DES)的56位密钥相比,具有256位密钥的AES在数学上更高效和更安全。

  • 从版本12.1构建50。,你可以创建一个pkcs# 8格式的RSA密钥。

私钥是数字证书中最重要的部分。根据定义,此密钥不能与任何人共享,必须安全地保存在Citrix ADC设备上。任何用公钥加密的数据都只能通过使用私钥来解密。

您从CA收到的证书只有使用用于创建CSR的私钥才有效。将证书添加到Citrix ADC设备需要此密钥。

设备仅支持RSA加密算法创建私钥。您可以向证书颁发机构(CA)提交任意一种类型的私钥。您从CA收到的证书只有使用用于创建CSR的私钥才有效。将证书添加到Citrix ADC设备需要此密钥。

重要的是:

  • 请确保限制对您的私钥的访问。任何可以访问您的私钥的人都可以解密您的SSL数据。
  • 允许的SSL密钥名长度包括绝对路径名的长度,如果该路径包含在密钥名中。

所有SSL证书和密钥存储在/ nsconfig / ssl文件夹在设备上。为了增加安全性,可以使用DES或三重DES (3DES)算法加密存储在设备上的私钥。

通过命令行创建RSA私钥

在命令提示符处,输入:

create ssl rsakey   [-expone (3 | F4)] [-keyform (DER | PEM)] [-des | -des3 | -aes256] {-password} [-pkcs8] 

例子:

创建rsakey testkey 2048 -aes256 -password 123456 -pkcs8 

使用GUI创建RSA私钥

  1. 导航到流量管理> SSL > SSL文件

  2. 选项卡上,选择创建RSA密钥

    创建RSA密钥

  3. 输入以下参数,单击创建

    • 关键的文件名—RSA密钥文件的名称和(可选)路径。/nsconfig/ssl/为默认路径。
    • 关键尺寸—RSA密钥的大小,单位为比特。可以是512位到4096位。
    • 公共价值指数—RSA密钥的公共指数。指数是密码算法的一部分,是创建RSA密钥所必需的。
    • 关键的格式—RSA密钥文件在设备上的保存格式。
    • PEM编码算法—使用AES 256、DES或DES3 (Triple-DES)算法加密生成的RSA密钥。默认情况下,私钥是未加密的。
    • PEM密码—如果私钥经过加密,请输入私钥的加密密码。

    输入值

通过GUI界面选择RSA密钥中的AES256编码算法

  1. 导航到流量管理> SSL > SSL文件>创建RSA密钥

  2. 关键的格式中,选择PEM

  3. PEM编码算法中,选择AES256

  4. 选择PKCS8

通过CLI创建证书签名请求

在命令提示符处,输入:

创建ssl certreq  -keyFile  | -fipsKeyName ) [-keyForm (DER | PEM) {-PEMPassPhrase}] -countryName  -stateName  -organizationName  -organizationUnitName  -localityName  -commonName  -emailAddress  {-challengePassword} -companyName  -digestMethod (Sha1 | sha256)——NeedCopy >

例子:

create ssl certreq priv_csr_sha256 -keyfile priv_2048_2 -keyform PEM -countryName IN -stateName Karnataka -localityName Bangalore -organizationName Citrix -organizationUnitName NS -digestMethod SHA256 

使用GUI创建证书签名请求

  1. 导航到流量管理> SSL
  2. SSL证书,请点击创建证书签名请求(CSR)

    创建证书签名请求

  3. 消化方法选择SHA256

看到创建一个企业社会责任为更多的信息。

在证书签名请求中支持主题替代名称

证书中的主题可选名称(SAN)字段允许您将多个值(如域名和IP地址)与单个证书关联起来。换句话说,您可以使用一个证书保护多个域,例如www.example.com、www.example1.com、www.example2.com。

一些浏览器,如谷歌Chrome,不再支持证书签名请求(CSR)中的通用名称。它们在所有公开受信任的证书中强制执行SAN。

Citrix ADC设备支持在创建CSR时添加SAN值。您可以将带有SAN条目的CSR发送给证书颁发机构,以获得带有该SAN条目的签名证书。当设备接收到请求时,它会检查服务器证书中的SAN条目中是否有匹配的域名。如果找到匹配,它将证书发送给客户端并完成SSL握手。您可以使用CLI或GUI创建带有SAN值的CSR。

注意:Citrix ADC设备只处理基于DNS的SAN值。

使用CLI创建一个具有主题替代名称的CSR

创建ssl certReq  (-keyFile  | -fipsKeyName ) [-subjectAltName ] [-keyform (DER | PEM) {- pemempassphrase}] -countryName  -stateName  -organizationName  [-organizationUnitName ] [-localityName ] [-commonName ] [-emailAddress ] {-challengePassword}[-companyName ] [-digestMethod (SHA1 | SHA256)] 

参数:

subjectAltName:主题替代名称(SAN)是X.509的扩展,它允许使用subjectAltName字段将各种值与安全证书关联起来。这些值称为“主题可选名称”(SAN)。名称包括:

  1. IP地址(前缀“IP:”示例:IP:198.51.10.5 IP:192.0.2.100)

  2. DNS名称(前缀“DNS:”示例:DNS:www.example.com DNS:www.example.org DNS:www.example.net)

在命令行上,输入引号内的值。用空格分隔两个值。在GUI中不需要使用引号。最大长度:127

例子:

创建certReq test1。csr test1密钥文件。ky -countryName IN -stateName Kar -organizationName citrix -commonName ctx.com -subject taltname "DNS:*.example.com DNS:www.example.org DNS:www.example.net" 

注意:

在FIPS设备上,如果直接在该设备上创建FIPS密钥,则必须使用FIPS密钥名称替换密钥文件名称。

创建certReq  -fipsKeyName fipskey。ky -countryName IN -stateName Kar -organizationName citrix -commonName ctx.com -subject taltname "DNS:www.example.com DNS:www.example.org DNS:www.example.net" 

使用GUI创建CSR

  1. 导航到交通管理>SSL>SSL文件
  2. 企业社会责任选项卡上,单击创建证书签名请求(CSR)
  3. 输入值并单击创建

限制

要在创建SSL证书时使用SAN,必须显式指定SAN值。这些值不会自动从CSR文件中读取。

将CSR提交给证书颁发机构

大多数证书颁发机构(CA)接受通过电子邮件提交的证书。CA将有效的证书返回到您提交CSR的电子邮件地址。

CSR存储在/ nsconfig / ssl文件夹中。

生成测试证书

注意:

要生成服务器测试证书,请参见生成服务器测试证书

Citrix ADC设备有一个内置的CA工具套件,您可以使用它创建用于测试的自签名证书。

警告:由于Citrix ADC设备签署这些证书,而不是实际的CA,所以您不能在生产环境中使用它们。如果您试图在生产环境中使用自签名证书,那么每次访问虚拟服务器时,用户都会收到“证书无效”的警告。

该设备支持创建以下类型的证书

  • 根ca证书
  • Intermediate-CA证书
  • 终端用户证书
    • 服务器证书
    • 客户端证书

在生成证书之前,创建私钥并使用它在设备上创建证书签名请求(CSR)。然后,使用Citrix ADC CA工具生成证书,而不是将CSR发送给CA。

使用向导创建证书

  1. 导航到流量管理> SSL
  2. 在详细信息窗格中,在开始,选择要创建的证书类型的向导。
  3. 按照屏幕上的说明操作。

使用CLI命令制作根ca证书

在命令提示符处,键入以下命令:

create ssl cert    [-keyFile ] [-keyform (DER | PEM)] [-days ] 

在下面的示例中,csreq1是CSR, rsa1是前面创建的私钥。

例子:

create ssl cert cert1 csreq1 ROOT_CERT -keyFile rsa1 -keyForm PEM -days 365 Done 

使用CLI命令制作ca中间证书

创建ssl证书< certFile > < reqFile > < certType >[密钥文件< input_filename >] [-keyform (DER | PEM)][天< positive_integer >] [-certForm (DER | PEM)] [-CAcert < input_filename >] [-CAcertForm (DER | PEM)][凝固了的< input_filename >] [-CAkeyForm (DER | PEM)] [-CAserial < output_filename >) < !——NeedCopy >

在下面的示例中,csr1是前面创建的CSR。Cert1和rsakey1为自签名(根ca)证书的证书和密钥,pvtkey1为中间ca证书的私钥。

例子:

create ssl cert certsy csr1 INTM_CERT -CAcert cert1 -CAkey rsakey1 - casile 23 Done create ssl rsakey pvtkey1 2048 -exponent F4 -keyform PEM Done 

使用GUI创建根ca证书

导航到流量管理> SSL并在Getting Started组中选择根ca证书向导,并配置根CA证书。

使用GUI创建中间ca证书

导航到流量管理> SSL并在Getting Started组中选择Intermediate-CA证书向导,并配置中间CA证书。

创建最终用户证书

终端用户证书可以是客户端证书,也可以是服务器证书。要创建测试最终用户证书,请指定中间CA证书或自签名根CA证书。

注意:要创建用于生产的最终用户证书,请指定受信任的CA证书,并将CSR发送给证书颁发机构(CA)。

使用命令行接口创建测试最终用户证书

创建ssl证书< certFile > < reqFile > < certType >[密钥文件< input_filename >] [-keyform (DER | PEM)][天< positive_integer >] [-certForm (DER | PEM)] [-CAcert < input_filename >] [-CAcertForm (DER | PEM)][凝固了的< input_filename >] [-CAkeyForm (DER | PEM)] [-CAserial < output_filename >) < !——NeedCopy >

如果没有中间证书,则使用根ca证书的证书(cert1)和私钥(rsakey1)值CAcert凝固了的

例子:

create ssl cert cert12 csr1 SRVR_CERT -CAcert cert1 -CAkey rsakey1 - caseral 23 Done 

如果有中级证书,使用该证书(certsy)和私钥(pvtkey1)的值CAcert凝固了的

例子:

create ssl cert cert12 csr1 SRVR_CERT -CAcert certsy -CAkey pvtkey1 - caseral 23 Done 

使用OpenSSL生成自签名SAN证书

要创建具有多个主题替代名称的自签名SAN证书,请执行以下步骤:

  1. 通过根据公司需求编辑相关字段,在本地计算机上创建OpenSSL配置文件。

    注意:下面以配置文件为“req.conf”为例。

    [req_distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = VA L = SomeCity O = MyCompany OU = MyDivision CN = www.company.com [v3_req] keyUsage = keyencryption,datencipherextendedkeyusage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = www.company.net DNS.2 = company.com DNS.3 = company.net 
  2. 将该文件上传到Citrix ADC设备上的/nsconfig/ssl目录。

  3. 登录Citrix ADC CLInsroot用户并切换到shell提示符。

  4. 2 .执行如下命令创建证书:

    CD /nsconfig/ssl openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -config req.conf -extensions 'v3_req' 
  5. 执行如下命令验证证书:

    openssl x509——cert.pem -noout语境证书:数据:版本:3 (0 x2)编号:艾德:90:c5: f0:61:78:25: ab签名算法:md5WithRSAEncryption发行人:C =我们圣= VA, L = SomeCity, O = MyCompany, OU = MyDivision,下面CN = www.company.com有效性之前:格林尼治时间2012年11月6日22:21:38不是后:格林尼治时间2014年11月6日22:21:38主题:C=US, ST=VA, L=SomeCity, O=MyCompany, OU=MyDivision, CN=www.company.com主题公钥信息:公钥算法:rsaEncryption RSA公钥:(2048 bit)模数(2048 bit):…指数:65537 (0x10001) X509v3 extensions: X509v3 Key Usage: Key encryption, Data encryption X509v3 Extended Key Usage:TLS Web服务器认证X509v3主题备选名称:DNS:www.company.net, DNS:company.com, DNS:company.net签名算法:md5WithRSAEncryption…