PAM360 的签名 SSL 证书
安全的通信对于保护客户端与服务器之间传输的敏感数据至关重要。您需要在各种情况下为 PAM360 配置签名 SSL 证书,以确保建立安全、加密的连接。本文档提供了一份全面指南,介绍如何通过多种方法为 PAM360 生成和配置签名 SSL 证书。
1. PAM360 签名 SSL 证书的生成方法
1.1 通过 PAM360 生成 SSL 证书
PAM360 中的“证书”模块通过提供两种选项,简化了 SSL 证书的生成流程:您可以使用 Microsoft 证书颁发机构 (CA) 在网络中签名并颁发证书,或者使用您环境中受信任的自定义根 CA 证书。请按照以下步骤通过 PAM360 生成有效的证书:
- 导航至“证书”>>“CSR”,然后单击“创建”以打开CSR创建页面。
- 选择以下选项之一:
- 创建 CSR:填写必填信息,例如通用名称、SAN、组织、地点、州、国家、密钥算法和密钥大小。输入有效期类型、有效期和 存储密码。
- 从密钥库创建 CSR:附加现有的私钥文件并提供其密码。
- 点击“创建”以生成 CSR。CSR 内容将显示出来,您可以复制 CSR 内容、通过电子邮件导出或将其保存为文件。
- 在“证书 >> CSR”下查看已保存的 CSR。使用眼睛图标查看关联的密钥库密码。
- 现在,导航至“证书 >> CSR”,选择所需的CSR并点击“签名”。如需了解有关通过PAM360签署证书的更多信息,请参阅 此 帮助文档。
- 点击“签名”。已签名的证书将显示在“证书”>>“证书”下。
1.2 通过 OpenSSL 生成 SSL 证书
OpenSSL 通常随 Linux 发行版捆绑提供。如果您使用的是 Windows 服务器且未安装 OpenSSL,请从 此处。请确保将 OpenSSL 安装目录下的bin文件夹添加到PATH环境变量中。以管理员身份在计划创建证书的目录路径下打开命令提示符,并按照以下步骤使用 OpenSSL 创建 SSL 证书:
- 执行以下命令以创建用于 SSL 握手公私钥对:
例如:openssl genrsa -passoutpasstrix-des3 -outwebserver-ssl.key4096
openssl genrsa -passout <pem 密码短语> -des3 -out <私钥文件名> 4096
最佳实践
请输入 passtrix 或您自选的密码短语。尽管文档中未提及,但 Tomcat 在处理包含特殊字符的密码时会出现问题,因此请使用仅包含字母和数字的密码。
- 执行以下命令生成 CSR,将其提交给 CA 以使用上一步生成的密钥创建签名证书:
例如:openssl req -passinpasstrix-new -key webserver-ssl.key -outwebserver-ssl.csr
openssl req -passin <pem 密码短语> -new -key <私钥文件名> -out <证书CSR名称>
- 将 CSR 提交给有效的证书颁发机构(如 Verisign、Thawte 或 RapidSSL),以获取签名证书和该 CA 的根证书。
- 将这些文件保存到工作文件夹中。
1.3 通过 Keytool 生成 SSL 证书
Keytool 是随 Java 捆绑提供的命令行工具,用于管理密钥库和证书。以管理员身份打开命令提示符,导航至<PAM360-安装目录>/jre/bin文件夹,并按照以下步骤使用 Keytool 创建 SSL 证书:
- 执行以下命令以创建用于 SSL 握手公私钥对:
对于 Windows:适用于 Linux:.\keytool -genkey -alias PAM360 -keyalg RSA -sigalg SHA256withRSA -keypass <privatekey_password> -storepass <keystore_password> -validity <no_of days> -keysize 2048 -keystore <keystore_filename>
./keytool -genkey -alias PAM360 -keyalg RSA -sigalg SHA256withRSA -keypass <私钥密码> -storepass <密钥库密码> -validity <天数> -keysize 2048 -keystore <密钥库文件名>
补充说明
- <密钥库密码> 是访问密钥库的密码,<私钥密码>是保护私钥的密码。请注意,由于 Tomcat 的固有限制,这两个密码必须相同。(尽管未在文档中说明,但 Tomcat 无法处理包含特殊字符的密码,因此请使用仅包含字母的密码)
- <天数>表示密钥对的有效期(以天为单位),从创建之日起计算
- 请提供所需的详细信息,并确保完全合格域名 (FQDN) 与 PAM360 服务器一致。系统将在同一文件夹中创建名为 <keystore_filename> 的密钥库文件,其中包含生成的密钥对。
- 执行以下命令生成 CSR,将其提交给 CA 以使用上一步生成的密钥创建签名证书:
例如:keytool -certreq -keyalg RSA -alias PAM360 -keypass <privatekey_password> -storepass <密钥库密码> -file <CSR文件名> -keystore <密钥库文件名> -ext san=dns:<主机名.域名.com>,dns:<主机名>,dns:<别名.域名.com>
keytool -certreq -keyalg RSA -alias PAM360 -keypass <privatekey_password> -storepass <密钥库密码> -file <CSR文件名> -keystore <密钥库文件名> -ext san=dns:<主机名.域名.com>,dns:<主机名>,dns:<别名.域名.com>
- 将 CSR 提交给有效的证书颁发机构(如 Verisign、Thawte 或 RapidSSL),以获取已签名的证书和该 CA 的根证书。CA 签名完成后,您将收到已签名的 SSL 证书和 CA 证书(均为 .cer 文件)。将这两个文件均保存至<PAM360_Home>/jre/bin文件夹中。
2. 用于 PAM360 Web 服务器通信的 SSL 证书
2.1 使用通过 PAM360 创建的 SSL 证书
要安装 Web 服务器证书,您需要相应的证书密钥库。要应用该证书密钥库,必须先创建它。请按照以下步骤操作:
- 在 PAM360 界面中导航至“证书 >> 证书”,然后点击“通用名称”列下的已签名证书链接。
- 在“证书详细信息”页面上,点击右上角的“导出”图标。证书文件将下载到您的本地计算机上。
- 现在,转到“证书”>>“创建 CSR”,找到已签名证书对应的 CSR,并点击“导入证书”图标。
- 浏览本地计算机以选择已下载的证书文件,然后点击“导入”。系统将把证书与私钥绑定,形成一个密钥库。
- 返回“证书 >> 证书”页面,点击“通用名称”列下的证书链接。
- 在“证书详细信息”页面,向下滚动并点击“导出”链接。这将把证书密钥库下载到您的本地计算机上。
- 现在,导航至“管理” >> “服务器设置” >> “PAM360 服务器”,并按照以下步骤更新 PAM360 Web 服务器证书:
- 选择与生成 CSR 时所用类型相匹配的密钥库类型(JKS、PKCS12 或PKCS11)。
- 浏览并上传已下载的密钥库文件。
- 输入您在 CSR 生成过程中提供的密钥库密码。
- 如有必要,更新服务器端口并 点击“保存”。
- 重启 PAM360 服务以应用证书更改。
完成这些步骤后,证书密钥库将成功应用到 PAM360 Web 服务器。
2.2 使用通过 OpenSSL 创建的 SSL 证书
要安装 Web 服务器证书,您需要相应的证书密钥库。要应用证书密钥库,必须先创建它。以管理员身份在将要创建证书的目录路径下打开命令提示符,并执行以下步骤:
- 执行以下命令以创建证书密钥库:
其中,
openssl pkcs12 -export -in <cert_file>.cer -inkey <privatekey_filename>.key -out <keystore_filename>.p12 -name PAM360 -CAfile <root_cert_file>.cer -caname PAM360 -chain
- cert_file.cer 是带有 .cer 扩展名的已签名 SSL 证书。
- privatekey_filename.key 是扩展名为 .key 的私钥文件。
- keystore_filename.p12 名称是生成的扩展名为 .p12 的密钥库。
- root_cert_file.cer 是扩展名为 .cer 的 CA 根证书。
注意
请输入与创建私钥时相同的密码。此要求源于 Tomcat 的固有限制,该限制要求两个密码必须一致。系统将在同一文件夹中生成一个名为 <keystore_filename>.p12 的密钥库文件。
- 将步骤 4 中生成的<keystore_filename>.p12复制到<PAM360_Install_Folder>\conf文件夹中。
- 在命令提示符下,导航至 <PAM360-Installation-Directory>\conf 文件夹 ,并打开 server.xml文件。
- 找到keystoreFile 条目,其默认值设置为conf/server.keystore。将该值更改为conf/<keystore_filename>.p12。
注意
密钥库密码经过加密,无法直接在 server.xml 文件中更新。若要在 .xml 文件中手动更新密钥库密码,请先禁用加密功能,即将keystorePassEncrypted=true改为keystorePassEncrypted=false。
- 现在,将'keystorePass'的值设置为"passtrix"或您在上一步创建密钥库时指定的密码。
- 在 keystorePass 条目旁边添加新条目keystoreType= PKCS12或PKCS11,然后保存server.xml文件。
- 重启 PAM360 服务器,并通过网页浏览器进行连接。如果能够查看 PAM360 登录控制台且浏览器未显示任何警告,则表示您已成功在 PAM360 中安装了 SSL 证书。
2.3 使用通过 Keytool 创建的 SSL 证书
要安装 Web 服务器证书,您需要相应的证书密钥库。要应用证书密钥库,必须先创建它。以管理员身份打开命令提示符,并执行以下步骤:
- 导航至<PAM360-安装目录>/jre/bin文件夹。
- 如果证书捆绑包是一个单一文件(p7b),请执行以下命令:
其中,
keytool -import -alias PAM360 -keypass <privatekey_password> -storepass <keystore_password> -keystore <keystore_filename> -trustcacerts -file <your_ssl_bundle.p7b>
- <your_ssl_bundle.p7b> 是从 CA 获取的证书包,即上一步保存的 .p7b 文件。<privatekey_password>、<keystore_password> 和 <keystore_filename> 则是前几步中使用的密码和文件名。
- 如果您有 3 个文件,即根证书、中间证书和实际证书(均为 .cer 格式),则需要使用以下命令分别导入它们:
keytool -import -alias root -keypass <privatekey_password> -storepass <keystore_password> -keystore <keystore_filename> -trustcacerts -file <rooter>
keytool -import -alias inter -keypass <privatekey_password> -storepass <keystore_password> -keystore <keystore_filename> -trustcacerts -file <inter.cer>
keytool -import -alias PAM360 -keypass <私钥密码> -storepass <密钥库密码> -keystore <密钥库文件名> -trustcacerts -file <您的_ssl_cert.cer>
- 将<keystore_filename>复制到<PAM360-安装目录>/conf 文件夹中。
- 现在,从<PAM360-安装目录>/conf 文件夹中打开 server.xml文件。
- 找到keystoreFile 条目,其默认值设置为conf/server.keystore。将该值更改为conf/<密钥库文件名>。
注意
密钥库密码经过加密,无法直接在 server.xml 文件中更新。若要在 .xml 文件中手动更新密钥库密码,请先禁用加密功能,即将keystorePassEncrypted=true修改为keystorePassEncrypted=false。
- 将'keystorePass'的值设置为"passtrix"或您在上一步创建密钥库时指定的密码。
- 重启 PAM360 服务器,并通过网页浏览器进行连接。若浏览器未显示任何警告且能正常查看 PAM360 登录控制台,则表示您已成功在 PAM360 中安装了 SSL 证书。
注意
默认情况下,Tomcat 仅接受 JKS(Java 密钥库)和 PKCS #12 格式的密钥库。如果密钥库为 PKCS #12 格式,请在 server.xml 文件中添加以下选项以及密钥库名称:keystoreType="PKCS12"。这将通知 Tomcat 该格式为 PKCS12。更改后重启服务器。