创建一个证书
证书颁发机构(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私钥
导航到流量管理> SSL > SSL文件.
在键选项卡上,选择创建RSA密钥.
输入以下参数,单击创建.
- 关键的文件名—RSA密钥文件的名称和(可选)路径。/nsconfig/ssl/为默认路径。
- 关键尺寸—RSA密钥的大小,单位为比特。可以是512位到4096位。
- 公共价值指数—RSA密钥的公共指数。指数是密码算法的一部分,是创建RSA密钥所必需的。
- 关键的格式—RSA密钥文件在设备上的保存格式。
- PEM编码算法—使用AES 256、DES或DES3 (Triple-DES)算法加密生成的RSA密钥。默认情况下,私钥是未加密的。
- PEM密码—如果私钥经过加密,请输入私钥的加密密码。
通过GUI界面选择RSA密钥中的AES256编码算法
导航到流量管理> SSL > SSL文件>创建RSA密钥.
在关键的格式中,选择PEM.
在PEM编码算法中,选择AES256.
选择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创建证书签名请求
- 导航到流量管理> SSL.
在SSL证书,请点击创建证书签名请求(CSR).
- 在消化方法选择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)。名称包括:
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密钥名称替换密钥文件名称。
创建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
- 导航到交通管理>SSL>SSL文件.
- 在企业社会责任选项卡上,单击创建证书签名请求(CSR).
- 输入值并单击创建.
限制
要在创建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。
使用向导创建证书
- 导航到流量管理> SSL.
- 在详细信息窗格中,在开始,选择要创建的证书类型的向导。
- 按照屏幕上的说明操作。
使用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证书,请执行以下步骤:
通过根据公司需求编辑相关字段,在本地计算机上创建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
将该文件上传到Citrix ADC设备上的/nsconfig/ssl目录。
登录Citrix ADC CLI
nsroot
用户并切换到shell提示符。2 .执行如下命令创建证书:
CD /nsconfig/ssl openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -config req.conf -extensions 'v3_req'
执行如下命令验证证书:
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…