A-A+
sunone nss https 证书配置
使用网络安全服务 (NSS) 工具
在 Enterprise Edition 中,在服务器端使用网络安全服务 (Network Security Service, NSS) 数字证书可以管理存储私钥和证书的数据库。对于客户机端(应用程序客户机端或独立客户机端),均使用使用 Java 安全套接口扩展 (Java Secure Socket Extension, JSSE) 工具中介绍的 JSSE 格式。
通过网络安全服务 (NSS) 管理安全性的工具包括:
- certutil,一个命令行实用程序,用于管理证书和密钥数据库。使用 certutil 实用程序中显示了一些使用 certutil 实用程序的示例。
- pk12util,一个命令行实用程序,用于以 PKCS12 格式在证书/密钥数据库和文件之间导入和导出密钥及证书。使用 pk12util 实用程序导入和导出证书中显示了一些使用 pk12util 实用程序的示例。
- modutil,一个命令行实用程序,用于管理 secmod.db 文件中或硬件令牌中的 PKCS #11 模块信息。使用 modutil 添加和删除 PKCS11 模块中显示了一些使用 modutil 实用程序的示例。
这些工具位于 install-dir/lib/ 目录中。下面的环境变量用于指出 NSS 安全性工具的位置:
- LD_LIBRARY_PATH =${install-dir}/lib
- ${os.nss.path}
- 在本示例中,目录为 domain-dir/config。serverseed.txt 和 clientseed.txt 文件可以包含任何随机文本。此随机文本将用于生成密钥对。
certutil -S -n $SERVER_CERT_NAME -x -t "u,u,u" -s "CN=$HOSTNAME.$HOSTDOMAIN, OU=Java Software, O=Sun Microsystems Inc., L=Santa Clara, ST=CA, C=US" -m 25001 -o $CERT_DB_DIR/Server.crt -d $CERT_DB_DIR -f passfile <$CERT_UTIL_DIR/serverseed.txt生成客户机证书。此证书也是一个自签名证书。
certutil -S -n $CLIENT_CERT_NAME -x -t "u,u,u" -s "CN=MyClient, OU=Java Software, O=Sun Microsystems Inc., L=Santa Clara, ST=CA, C=US" -m 25002 -o $CERT_DB_DIR/Client.crt -d $CERT_DB_DIR -f passfile <$CERT_UTIL_DIR/clientseed.txt - 检验前面的项目中生成的证书。
certutil -V -u V -n $SERVER_CERT_NAME -d $CERT_DB_DIR certutil -V -u C -n $CLIENT_CERT_NAME -d $CERT_DB_DIR - 显示可用证书。
certutil -L -d $CERT_DB_DIR - 将 RFC 文本格式的证书导入 NSS 证书数据库。
certutil -A -a -n ${cert.nickname} -t ${cert.trust.options} -f ${pass.file} -i ${cert.rfc.file} -d ${admin.domain.dir}/${admin.domain}/config - 以 RFC 格式从 NSS 证书数据库中导出证书。
certutil -L -a -n ${cert.nickname} -f ${pass.file} -d ${admin.domain.dir}/${admin.domain}/config > cert.rfc - 从 NSS 证书数据库中删除证书。
certutil -D -n ${cert.nickname} -f ${pass.file} -d ${admin.domain.dir}/${admin.domain}/config - 将 NSS 数据库中的证书转换为 JKS 格式
certutil -L -a -n ${cert.nickname} -d ${admin.domain.dir}/${admin.domain}/config > cert.rfc keytool -import -noprompt -trustcacerts -keystore ${keystore.file} -storepass ${keystore.pass} -alias ${cert.alias} -file cert.rfc