Sun ONE 徽标     上一章      目录      索引      下一章     
Sun ONE Directory Server 5.2 安装和调整指南



附录 B   使用 Sun Crypto Accelerator 板

本附录提供有关与 Directory Server 一起使用 Sun Crypto Accelerator 板来增强连接性能的说明,此连接采用基于证书验证的安全套接字层 (SSL) 协议。

开始之前

表 B-1 包含了一些项目,在尝试使用 Sun Crypto Accelerator 板来增强 SSL 连接性能之前必须完成它们。

表 B-1    使用 Sun Crypto Accelerator 板的前提条件 

前提条件

注释

安装 Sun Crypto Accelerator 板

当在主机上安装硬件、驱动程序、增补程序和管理公用程序时,请参阅为 Sun Crypto Accelerator 板提供的产品文档。

Directory Server安装

有关说明,请参阅第 1 章“安装 Sun ONE Directory Server”

服务器证书(PKCS#12 格式)

获取 Directory Server 的服务器证书(作为 .p12 文件)

CA 证书(PEM 格式)

为您的证书授权机构 (CA) 获取 CA 证书,作为增强保密邮件 (PEM) 格式文件。

请参阅 Sun ONE Server Console Server 管理指南 以获取对 SSL 协议自身和 SSL 证书的讨论,以及关于如何在 Sun ONE 服务器上使用协议的说明,该服务器支持 Sun ONE Server Console 管理。

创建令牌

Directory Server 使用令牌和口令访问 Accelerator 板上适当的加密密钥资料。令牌采用 user@realm 形式,其中 user 是指 Accelerator 板方面的用户 - 加密密钥材料的所有者,而 realm 是指 Accelerator 板方面的领域 - 用户及其密钥材料的逻辑分区。Accelerator 板 user 无需与系统上的用户帐户有任何关联。它是专用于该板的。请参阅 Accelerator 板产品文档,以获取有关用户和领域的进一步说明。

可利用供板使用的 secadm(1M) 公用程序为令牌创建用户和领域。Accelerator 板也允许创建多个 slots,以便管理用于多个应用程序的令牌。这里假设由于性能原因,您将主机专用于 Directory Server,因此只使用一个插槽(默认)。请参阅 Accelerator 板产品文档,以获取使用具有多个软件应用程序的板的详细信息。

执行以下步骤,为令牌创建用户和领域以访问默认插槽。

  1. 启动 secadm 公用程序。
  2. $ CryptoPath/bin/secadm

    默认的 CryptoPath/opt/SUNWconn/crypto

  3. 为该令牌创建领域。
  4. secadm> create realm=dsrealm
    System Administrator Login Required
    Login:super-user
    Password:
    Realm dsrealm created successfully.

  5. 设置要在其中创建用户的领域。
  6. secadm> set realm=dsrealm
    secadm{dsrealm}> su
    System Administrator Login Required
    Login:super-user
    Password:
    secadm{root@dsrealm}#

  7. 创建用户 nobody 以使用默认插槽,提供重新启动配置了 SSL 的 Directory Server 时使用的口令。
  8. secadm{root@dsrealm}# create user=nobody
    Initial password:password
    Confirm password:password
    User nobody created successfully.
    secadm{root@dsrealm}# exit

此时,已为令牌 nobody@dsrealm 创建了用户和领域,并提供了重新启动 Directory Server 时使用的口令。

生成用于板的绑定

用于 Accelerator 板的绑定采用您生成的外部安全模块的形式,这样 Directory Server 就可以绑定到板上。执行以下步骤以生成外部安全模块和 Directory Server 证书数据库之间的绑定,此数据库支持数种 SSL 算法。

  1. 在使用 modutil 之前设置 LD_LIBRARY_PATH
  2. $ set LD_LIBRARY_PATH=ServerRoot/lib ; export LD_LIBRARY_PATH

  3. 创建一个安全模块数据库(如果不存在)。
  4. $ cd ServerRoot/shared/bin
    $ ./modutil -create -dbdir ../../alias -dbprefix "slapd-serverID"

  5. 将外部安全模块添加到安全模块数据库中。
  6. $ ./modutil -add "Crypto Mod" -dbdir ../../alias -nocertdb \
    -libfile CryptoPath/lib/libpkcs11.so \
    -mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"

    默认的 CryptoPath/opt/SUNWconn/crypto

  7. 请列出安全模块以确保可以成功添加。
  8. $ ./modutil -list -dbdir ../../alias -dbprefix "slapd-serverID"

    您应该看到在第 3 步中为 Crypto Mod 添加的条目。

  9. 请将外部安全模块设为针对 RSA、DSA、RC4 和 DES 的默认设置。
  10. $ ./modutil -default "Crypto Mod" -dbdir ../../alias \
    -mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"

    这将会成功地更改默认安全模块。

此时已生成用于 Accelerator 板的绑定,并可以导入证书。

导入证书

在配置 SSL 之前,必须导入已获得的服务器和 CA 证书,如表 B-1 中所示。执行以下步骤以导入证书。

  1. 导入服务器证书 .p12 文件。
  2. $ cd ServerRoot/shared/bin
    $ ./pk12util -i ServerCert.p12 -d ../../alias -P "slapd-serverID" \
    -h "nobody@dsrealm"
    Enter Password or Pin for "nobody@dsrealm": passward
    Enter Password for PKCS12 file: password

  3. 导入 CA 证书。
  4. $ ./certutil -A -n "Crypto CA Cert" -t CT -i CACert.txt \
    -d ../../alias -P "slapd-serverID" -h "nobody@dsrealm"

  5. 列出与令牌相关联的证书以确保导入成功。
  6. $ ./certutil -L -d ../../alias -P "slapd-serverID" \
    -h "nobody@dsrealm"

    您应该可以看到在第 1 步第 2 步中添加的证书的条目。

此时已导入证书,并可配置 Directory Server 以监听 SSL 连接。

配置 SSL

使用已创建的令牌和口令、外部安全模块和 Directory Server 证书数据库之间已生成的绑定以及已导入的证书,可以将 Directory Server 配置为以安全模式启动。执行这些步骤以配置 SSL,并以安全模式重新启动 Directory Server。

  1. 创建文件 ssl.ldif,此文件内容为更改与 SSL 相关的 Directory Server 配置条目的修改信息。


  2. 代码示例 B-1    使用该板 (ssl.ldif) 为激活 SSL 进行的修改

    dn:cn=RSA,cn=encryption,cn=config
    changetype:add
    objectclass:top
    objectclass:nsEncryptionModule
    cn:RSA
    nsSSLToken:nobody@dsrealm
    nsSSLPersonalitySSL:ServerCertNickname1
    nsSSLActivation:on

    dn:cn=encryption,cn=config
    changetype:modify
    replace:nsSSL3
    nsSSL3:on
    -
    replace:nsSSLClientAuth
    nsSSLClientAuth:allowed
    -
    replace:nsSSL3Ciphers
    nsSSL3Ciphers:-rsa_null_md5,+rsa_rc4_128_md5,+rsa_rc4_40_md5,
    +rsa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,
    +rsa_fips_3des_sha,+fortezza,+fortezza_rc4_128_sha,
    +fortezza_null,+tls_rsa_export1024_with_rc4_56_sha,
    +tls_rsa_export1024_with_rc4_56_sha,
    +tls_rsa_export1024_with_des_cbc_sha
    -
    replace:nsCertfile
    nsCertfile:alias/slapd-serverID-cert7.db
    -
    replace:nsKeyFile
    nsKeyFile:alias/slapd-serverID-key3.db

    dn:cn=config
    changetype:modify
    replace:nsslapd-secureport
    nsslapd-secureport:port
    -
    replace:nsslapd-security
    nsslapd-security:on


    此处的 portnsslapd-secureport 的值)是指一旦以安全模式启动时,Directory Server 用于监听 SSL 连接的端口。

  3. 应用修改以更改 Directory Server 配置。
  4. $ ldapmodify -p currPort -D "cn=directory manager" -w password -f ssl.ldif

    其中的 currPort 是 Directory Server 当前监听客户机请求使用的端口号。

  5. 以安全模式重新启动 Directory Server。
  6. $ ServerRoot/slapd-serverID/restart-slapd
    Enter PIN for nobody@dsrealm:password

    此处的 password 是指当创建令牌 nobody@dsrealm 时提供的用于 nobody 的用户口令。

此时,Directory Server 使用指定的端口监听 SSL 通信量。可以配置 Sun ONE Administration Server 和客户机应用程序以通过指定端口访问 SSL 上的 Directory Server。详细信息,请参阅 Sun ONE Directory Server 管理指南


上一章      目录      索引      下一章     
版权所有 2003 Sun Microsystems, Inc. 保留所有权利。