如果计划将公共证书与 IKEv2 一起使用,必须创建一个密钥库。要使用密钥库,必须登录到其中。in.ikev2d 守护进程启动时,您或自动流程需要向守护进程提供 PIN。如果站点安全允许自动登录,您必须对其进行配置。缺省设置为通过交互式登录使用密钥库。
开始之前
您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。您必须在配置文件 shell 中键入信息。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
使用 ikev2cert setpin 命令创建 IKEv2 密钥库。此命令将 PKCS #11 密钥库所有者设置为 ikeuser。
不能在 PIN 中使用空格。例如,值 WhatShouldIWrite 有效,但值 "What Should" 无效。
% pfbash # /usr/sbin/ikev2cert setpin Enter token passphrase: changeme Create new passphrase: Type strong passphrase Re-enter new passphrase: xxxxxxxx Passphrase changed.
注意 - 将此口令短语存储在一个安全的位置。使用密钥库时需要用到它。 |
首选自动登录。如果站点安全策略不允许自动登录,必须在重新启动 in.ikev2d 守护进程时以交互方式登录到密钥库。
# svccfg -s ike:ikev2 editprop
此时会打开一个临时编辑窗口。
# setprop pkcs11_token/pin = astring: () Original entry setprop pkcs11_token/pin = astring: () Uncommented entry
setprop pkcs11_token/pin = astring: PIN-from-Step-1
在冒号和 PIN 之间留一个空格。
# refresh refresh
pkcs11_token/pin 属性会存储访问归 ikeuser 所有的密钥库时要检查的值。
# svccfg -s ike:ikev2 listprop pkcs11_token/pin pkcs11_token/pin astring PIN
每当 in.ikev2d 守护进程启动时运行此命令。
# pfbash # ikeadm -v2 token login "Sun Metaslot" Enter PIN for PKCS#11 token 'Sun Metaslot':Type the PIN from Step 1 ikeadm: PKCS#11 operation successful
# ikev2cert tokens Flags: L=Login required I=Initialized X=User PIN expired S=SO PIN expired Slot ID Slot Name Token Name Flags ------- --------- ---------- ----- 1 Sun Crypto Softtoken Sun Software PKCS#11 softtoken LI
Flags 列中的 LI 指示 PIN 已设置。
# ikeadm -v2 token logout "Sun Metaslot" ikeadm: PKCS#11 operation successful
您可以执行注销操作,将两个站点之间的通信限定为一段有限的时间。注销后,私钥会变得不可用,因此无法发起新的 IKEv2 会话。现有的 IKEv2 会话会继续,除非使用 ikeadm delete ikesa 命令删除会话密钥。预先共享的密钥规则会继续起作用。请参见 ikeadm(1M) 手册页。