创建一个证书
证书颁发机构(CA)是颁发用于公钥加密的数字证书的实体。执行SSL事务的应用程序(如web浏览器)信任证书颁发机构颁发或签署的证书。这些应用程序维护它们信任的ca列表。如果任何受信任的ca对用于安全事务的证书进行签名,则应用程序继续进行事务。
警告:Citrix建议您对所有SSL事务使用从授权ca(如Verisign)获得的证书。仅将在Citrix ADC设备上生成的证书用于测试目的,而不用于任何活动部署。
要从授权CA获取SSL证书,必须创建私钥。使用该密钥创建证书签名请求(CSR),并将CSR提交给证书颁发机构。文件名中唯一允许的特殊字符是下划线和点。
要导入现有证书和密钥,请参阅导入证书。
视频链接如何创建和安装新证书。
创建私钥
私钥是数字证书中最重要的部分。根据定义,不与任何人共享此密钥,必须在Citrix ADC设备上保持安全。使用私钥只能使用公钥加密的任何数据。
设备支持两个加密算法,RSA和DSA,用于创建私钥。您可以向证书颁发机构提交任何类型的私钥。您从CA收到的证书仅适用于用于创建CSR的私钥。将证书添加到Citrix ADC设备所需的关键。
警告:请确保限制对您的私钥的访问。任何可以访问您的私钥的人都可以解密您的SSL数据。
笔记:
从版本12.1构建49。x,您可以使用带有PEM密钥格式的AES256算法在设备上加密私钥。与数据加密标准(DES)的56位密钥相比,具有256位密钥的AES在数学上更高效和更安全。
从版本12.1构建50。,您可以创建一个pkcs# 8格式的RSA或DSA密钥。
所有SSL证书和密钥都存储在其中/ nsconfig / ssl
设备上的文件夹。为了增加安全性,您可以使用DES或TRIPERS(3DES)算法加密存储在设备上的私钥。
笔记:
允许的SSL密钥名长度包括绝对路径名的长度,如果该路径包含在密钥名中。
通过命令行创建RSA私钥
在命令提示符处,输入:
create ssl rsakey [-expone (3 | F4)] [-keyform (DER | PEM)] [-des | -des3 | -aes256] {-password} [-pkcs8]
例子:
创建rsakey testkey 2048 -aes256 -password 123456 -pkcs8
使用GUI创建RSA私钥
导航交通管理>SSL,在SSL密钥组,选择创建RSA密钥,创建RSA密钥。
通过GUI界面选择RSA密钥中的AES256编码算法
导航流量管理> SSL > SSL文件>创建RSA密钥。
在关键的格式, 选择PEM。
在PEM编码算法, 选择AES256。
选择PKCS8。
使用CLI创建DSA私钥
在命令提示符处,输入:
create ssl dsakey [-keyform (DER | PEM)] [-pkcs8]
例子:
create ssl dsakey key - das -1 2048 -keyform PEM
使用GUI创建DSA私钥
- 导航流量管理> SSL,在SSL密钥组,选择创建DSA键,并创建一个DSA密钥。
- 要创建pkcs# 8格式的密钥,选择PKCS8。
在证书签名请求中支持SHA 256摘要算法
证书签名请求(CSR)是一组信息。它包括域名、其他重要的公司细节和用于创建证书的公钥。要避免生成无效的证书,请确保提供的详细信息是准确的。
Citrix ADC设备支持使用SHA1摘要算法签名的CSR默认情况下。在早期的版本中,要创建使用SHA256摘要算法签名的CSR,您必须使用OpenSSL。
该设备支持创建使用SHA256摘要算法签名的CSR。SHA256使用的加密哈希算法比SHA1更强。
通过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创建证书签名请求
- 导航流量管理> SSL。
- 在SSL证书,请点击创建证书签名请求(CSR)。
- 在消化方法, 选择SHA256。
在证书签名请求中支持主题替代名称
证书中的主题可选名称(SAN)字段允许您将多个值(如域名和IP地址)与单个证书关联起来。换句话说,您可以使用一个证书保护多个域,例如www.example.com、www.example1.com、www.example2.com。
一些浏览器,例如Google 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的一个扩展,允许使用典范ArtName字段与安全证书相关联。这些值称为“主题替代名称”(SAN)。名称包括:
IP地址(具有“IP的前缀:”示例:IP:198.51.10.5 IP:192.0.2.100)
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密钥名称替换密钥文件名称。
create certreq -fipskeyname fipskey.ky -countryname在-statename kar -organizationname citrix -commonname ctx.com -subjectaltname“DNS:www.example.com DNS:www.example.org DNS:www.example.net”<! - 需要 - >
使用GUI创建CSR
- 导航流量管理> SSL > SSL文件。
- 在企业社会责任选项卡,单击创建证书签名请求(CSR)。
- 输入值并单击创建。
限制
要在创建SSL证书时使用SAN,必须显式指定SAN值。这些值不会自动从CSR文件中读取。
将CSR提交给CA
大多数ca接受通过电子邮件提交证书。CA将有效的证书返回到您提交CSR的电子邮件地址。
CSR存储在/ nsconfig / ssl
文件夹中。
生成测试证书
笔记:
要生成服务器测试证书,请参见生成服务器测试证书。
Citrix ADC设备有一个内置的CA工具套件,您可以使用它创建用于测试的自签名证书。
警告:由于Citrix ADC设备签署了这些证书,而不是实际的CA,因此不得在生产环境中使用它们。如果您尝试在生产环境中使用自签名证书,则每次访问虚拟服务器时,用户都会收到“证书无效”警告。
该设备支持创建以下类型的证书
- root-ca证书
- Intermediate-CA证书
- 最终用户证书
- 服务器证书
- 客户端证书
在生成证书之前,创建私钥并使用它在设备上创建证书签名请求(CSR)。然后,使用Citrix ADC CA工具生成证书,而不是将CSR发送给CA。
使用向导创建证书
- 导航流量管理> SSL。
- 在详细信息窗格的Getting Started下,选择要创建的证书类型的向导。
- 按照屏幕上的说明操作。
使用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是自签名(root-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组中选择root-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