系统管理指南:IP 服务

Procedure如何在硬件上生成和存储公钥证书

在硬件上生成和存储公钥证书,与在系统上生成和存储公钥证书类似。在硬件上,ikecert certlocalikecert certdb 命令必须标识硬件。带有标记 ID 的 -T 选项向命令标识硬件。

开始之前
  1. 在系统控制台上,承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”


    注 –

    远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。


  2. 生成自签名证书或证书请求,并指定标记 ID。

    选择以下选项之一:


    注 –

    对于 RSA,Sun Crypto Accelerator 4000 板最多支持 2048 位的密钥。对于 DSA,此板最多支持 1024 位的密钥。


    • 对于自签名证书,请使用此语法。


      # ikecert certlocal -ks -m 1024 -t rsa-md5 \
      > -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 4000 板的标记 ID。

    • 对于证书请求,请使用此语法。


      # ikecert certlocal -kc -m 1024 -t rsa-md5 \
      > -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) 手册页。

  3. 在系统提示输入 PIN 时,键入 Sun Crypto Accelerator 4000 用户、冒号和该用户的口令。

    如果 Sun Crypto Accelerator 4000 板具有口令为 rgm4tigt 的用户 ikemgr,应键入以下内容:


    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
    

    注 –

    PIN 响应以明文形式存储在磁盘上。


    键入口令后,将输出证书内容:


    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
    -----BEGIN X509 CERTIFICATE-----
    MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu
    …
    oKUDBbZ9O/pLWYGr
    -----END X509 CERTIFICATE-----
  4. 发送您的证书以供对方使用。

    选择以下选项之一:

    • 将自签名证书发送到远程系统。

      可以将证书粘贴到电子邮件中。

    • 将证书请求发送到处理 PKI 的组织。

      按照 PKI 组织的说明提交证书请求。有关更详细的论述,请参见如何使用 CA 签名的证书配置 IKE中的步骤 3

  5. 在系统上,编辑 /etc/inet/ike/config 文件以识别这些证书。

    选择以下选项之一。

    • 自签名证书

      使用远程系统管理员为 cert_trustremote_idremote_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
      
      
      # Solaris 10 1/06 release: default path does not have to be typed in
      #pkcs11_path "/usr/lib/libpkcs11.so" Hardware connection
      
      # Solaris 10 release: use this path
      #pkcs11_path "/opt/SUNWconn/cryptov2/lib/libvpkcs11.so"
      …
      {
       label "JA-enigmax 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 sha1 encr_alg aes}
      }
    • 证书请求

      将 PKI 组织提供的名称作为 cert_root 关键字的值键入。例如,enigma 系统上 ike/config 文件的显示可能与以下信息类似:


      # Trusted root cert
      # This certificate is from Example PKI
      # This is the X.509 distinguished name for the CA that it issues.
      
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      
      # Solaris 10 1/06 release: default path does not have to be typed in
      #pkcs11_path "/usr/lib/libpkcs11.so" Hardware connection
      
      # Solaris 10 release: use this path
      #pkcs11_path "/opt/SUNWconn/cryptov2/lib/libvpkcs11.so"
      …
      {
       label "JA-enigmax to US-partym - Example PKI"
       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 sha1 encr_alg aes}
      }
  6. 在硬件中存放来自对方的证书。

    按照在步骤 3 中作出的响应,响应 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 参数的值,则将对等方的证书添加到硬件存储。

    • 来自 PKI 组织的证书。

      添加组织从证书请求生成的证书,然后添加证书颁发机构 (certificate authority, 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
      

      要添加来自 PKI 组织的证书撤销列表 (certificate revocation list, CRL),请参见如何处理证书撤销列表