在硬件上生成和存储公钥证书,与在系统上生成和存储公钥证书类似。在硬件上,ikecert certlocal 和 ikecert certdb 命令必须标识硬件。带有令牌 ID 的 –T 选项向命令标识硬件。
开始之前
必须配置硬件。
该硬件使用 /usr/lib/libpkcs11.so 库,除非 /etc/inet/ike/config 文件中的 pkcs11_path 关键字指向其他库。该库必须按照以下标准实现:RSA Security Inc. 推出的 PKCS #11 加密令牌接口 (Cryptographic Token Interface, Cryptoki),即 PKCS #11 库。
有关设置说明,请参见如何配置 IKEv1 来查找 Sun Crypto Accelerator 6000 板。
您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
如果执行远程管理,请参见Example 7–1 和在 Oracle Solaris 11.2 中管理安全 Shell 访问 中的如何使用安全 Shell 远程管理 ZFS,了解进行安全远程登录的说明。
选择以下选项之一:
# ikecert certlocal -ks -m 2048 -t rsa-sha512 \ > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \ > -a -T dca0-accel-stor IP=192.168.116.16 Creating hardware private keys. Enter PIN for PKCS#11 token: Type user:password
–T 选项的参数是来自已连接 Sun Crypto Accelerator 6000 板的令牌 ID。
# ikecert certlocal -kc -m 2048 -t rsa-sha512 \ > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \ > -a -T dca0-accel-stor IP=192.168.116.16 Creating hardware private keys. Enter PIN for PKCS#11 token: Type user:password
有关 ikecert 命令参数的说明,请参见 ikecert(1M) 手册页。
如果 Sun Crypto Accelerator 6000 板具有口令为 rgm4tigt 的用户 ikemgr,应键入以下内容:
Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
键入口令后,证书会显示以下输出:
Enter PIN for PKCS#11 token: ikemgr:rgm4tigt -----BEGIN X509 CERTIFICATE----- MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu … oKUDBbZ9O/pLWYGr -----END X509 CERTIFICATE-----
选择以下选项之一:
可以将证书粘贴到电子邮件中。
按 CA 的说明提交证书请求。有关更详细的论述,请参见如何使用 CA 签名的证书配置 IKEv1 的Step 2。
选择以下选项之一。
使用远程系统管理员为 cert_trust、remote_id 和 remote_addr 参数提供的值。例如,在 enigma 系统上,ike/config 文件的显示与以下内容类似:
# Explicitly trust the following self-signed certs # Use the Subject Alternate Name to identify the cert cert_trust "192.168.116.16" Local system's certificate Subject Alt Name cert_trust "192.168.13.213" Remote system's certificate Subject Alt name … { label "JA-enigma to US-partym" local_id_type dn local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax" remote_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" local_addr 192.168.116.16 remote_addr 192.168.13.213 p1_xform {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes} }
将 CA 提供的名称作为 cert_root 关键字的值键入。例如,enigma 系统上 ike/config 文件的显示可能与以下内容类似:
# Trusted root cert # This certificate is from Example CA # This is the X.509 distinguished name for the CA that it issues. cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example, CN=Example CA" … { label "JA-enigma to US-partym - Example CA" local_id_type dn local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax" remote_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" local_addr 192.168.116.16 remote_addr 192.168.13.213 p1_xform {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes} }
按照在Step 4 中作出的响应,响应 PIN 请求。
添加远程系统的自签名证书。在此示例中,证书存储在 DCA.ACCEL.STOR.CERT 文件中。
# ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT Enter PIN for PKCS#11 token: Type user:password
如果自签名证书将 rsa_encrypt 用作 auth_method 参数的值,则将对等方的证书添加到硬件存储。
添加 CA 根据您的证书请求生成的证书以及组织的证书。
您可能还需要添加中间证书。
# ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT Enter PIN for PKCS#11 token: Type user:password
# ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CA.CERT Enter PIN for PKCS#11 token: Type user:password
要添加来自 CA 的证书撤销列表 (certificate revocation list, CRL),请参见如何在 IKEv1 中处理已撤销的证书。
接下来的步骤
如果建立 IPsec 策略未完成,请返回到 IPsec 过程以启用或刷新 IPsec 策略。有关保护 VPN 的 IPsec 策略的示例,请参见使用 IPsec 保护 VPN。有关 IPsec 策略的其他示例,请参见如何使用 IPsec 保护两台服务器之间的网络通信。