密码是用于加密和解密数据的算法。一般而言,密码在加密期间所使用的位数越多,加密就越严密或越安全。SSL 的密码也由所使用的消息验证类型进行标识。消息验证是计算校验和(用于保证数据完整性)的另一种算法。
当客户端初始化与服务器的 SSL 连接时,客户端和服务器必须就用于加密信息的密码达成一致。在任何双向加密过程中,双方都必须使用相同的密码。所使用的密码取决于服务器所保存的密码列表的当前顺序。服务器将选择客户端所提供的与列表中的密码相匹配的第一个密码。目录服务器的默认密码值为 all,表示基础 SSL 库支持的所有已知的安全密码。但是,您可以修改此值以便只接受特定密码。
有关可用于目录服务器的密码的详细信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》。
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
确保已为服务器启用 SSL。
请参见配置 SSL 通信。
查看可用的 SSL 密码。
$ dsconf get-server-prop -h host -p port ssl-supported-ciphers ssl-supported-ciphers : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA ssl-supported-ciphers : TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ssl-supported-ciphers : TLS_DHE_RSA_WITH_AES_256_CBC_SHA ssl-supported-ciphers : TLS_DHE_DSS_WITH_AES_256_CBC_SHA ... |
(可选的)如果要保留非加密数据的副本,请在设置 SSL 密码之前导出该数据。
请参见导出到 LDIF。
设置 SSL 密码。
$ dsconf set-server-prop -h host -p port ssl-cipher-family:cipher |
例如,要将密码系列设置为 SSL_RSA_WITH_RC4_128_MD5 和 SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,请键入:
$ dsconf set-server-prop -h host1 -p 1636 ssl-cipher-family:SSL_RSA_WITH_RC4_128_MD5 \ ssl-cipher-family:SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA Enter "cn=Directory Manager" password: Before setting SSL configuration, export Directory Server data. Do you want to continue [y/n] ? y Directory Server must be restarted for changes to take effect. |
(可选的)在现有列表中添加 SSL 密码。
如果已指定了密码列表,并且要添加密码,请使用以下命令:
$ dsconf set-server-prop -h host -p port ssl-cipher-family+:cipher |
例如,要添加 SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA 密码,请键入:
$ dsconf set-server-prop -h host1 -P 1636 \ ssl-cipher-family+:SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA |
重新启动服务器以使更改生效。
$ dsadm restart /local/ds |