Sun Java logo     上一页      目录      索引      下一页     

Sun logo
Sun Java(TM) System Directory Server 5.2 2005Q1 管理指南 

附录 A
使用 Sun Crypto Accelerator 板

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


开始之前

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

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

前提条件

注释

安装 Sun Crypto Accelerator 板

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

安装 Directory Server

有关说明,请参见 Java Enterprise System 安装指南

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

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

CA 证书(PEM 格式)

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

请参见第 11 章“管理验证和加密”以获取对 SSL 协议自身和 SSL 证书的讨论,以及有关如何在 Sun Java System 服务器(通过服务器控制台支持管理)上使用协议的说明。


创建令牌

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 证书,如表 A-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":password
    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. 代码示例 A-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-cert8.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

     

    1该昵称包含在 Directory Server 的证书中。

    此处的 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 Java System Administration Server 和客户机应用程序以通过指定端口访问 SSL 上的 Directory Server。有关详细信息,请参见第 11 章“管理验证和加密”



上一页      目录      索引      下一页     


文件号码 819-2013。版权所有 2005 Sun Microsystems, Inc. 保留所有权利。