ServiceDesk Plus 可以作为 HTTPS 服务运行。但这需要一个由有效证书颁发机构 (CA) 签署的 SSL(安全套接层)证书。
默认情况下,在首次启动时,它会创建一个自签名证书。此自签名证书不会被用户浏览器信任。因此,在连接到 ServiceDesk Plus 时,您需要手动验证证书信息以及 ServiceDesk Plus Server的主机名,并强制浏览器接受该证书。
为了使 ServiceDesk Plus Server能够向 Web 浏览器和用户正确标识自身,您需要为 ServiceDesk Plus 主机从 CA 获取一个新的签名证书。您可以使用 keytool(Java 自带)创建证书、获取 CA 签名并在 ServiceDesk Plus 中使用。
在 ServiceDesk Plus 中安装 SSL 的步骤
配置 ServiceDesk Plus 使用 SSL 所涉及的步骤如下。
步骤 1:创建 Keystore 文件
步骤 2:创建 .CSR(证书签名请求)文件
步骤 3a: 从 ServiceDesk Plus UI 安装 SSL 证书
步骤 3b: 安装您的 SSL 证书
注意:在所有图片中,请将高亮文本替换为您希望用于 ServiceDesk Plus 的别名名称。
在向 CA 申请证书之前,您需要创建 Tomcat 专用的“.keystore”文件和“.csr”文件。.keystore 文件和 .csr 文件将包含创建这些文件的人员所提供的信息。
导航到 <SDP-home>/jre/bin 文件夹。
.png)
出现提示时请输入密码。密码中不能包含以下任一特殊字符:$、" 和 \。
以下是在创建 keystore 时会要求提供的详细信息:
例如:helpdesk.domain.com
注意:如果您订购的是通配符证书,则 URL 应以 * 字符开头。名字和姓氏应填写为 *.domain.com
当再次提示输入密钥密码时,按 Enter/Return。请勿输入密码。
将生成 Keystore。

步骤 2:创建 .CSR(证书签名请求)文件
导航到 <SDP-home>/jre/bin 文件夹。
打开命令提示符并执行以下命令:

sdp.keystore 和 key.csr 文件将创建在 <SDP-home>/jre/bin 文件夹下。

步骤 3a: 从 ServiceDesk Plus UI 安装 SSL 证书
注意:如果您的私钥是 .key 文件,则无需输入任何密码。
以下屏幕截图说明了 .cer/.crt 文件的处理流程,其中中间证书/根证书是手动上传的。
![]()
注意:您最多可以上传四个中间证书/根证书。
将通过电子邮件从 CA 收到的证书文件下载到您在创建 CSR 过程中保存 keystore(sdp.keystore)的目录中。证书必须安装到这个完全相同的 keystore 中。如果您尝试安装到其他 keystore,将无法生效。
您下载的证书必须按正确顺序安装到 keystore 中,证书才能被信任。如果证书安装顺序不正确,则证书将无法正确进行身份验证。要查找正确顺序,请双击域证书,然后转到“证书路径”。
这些证书通常为 .cer 或 .crt 格式。如果您的证书扩展名为 .p7b,请按照安装 .P7b 证书中的说明将证书导出为 .cer 或 .crt 格式。
从上面的证书路径可以推断出,在导入域证书之前,我们需要先导入另外两个证书。首先是根证书,其次是中间证书,最后是域证书。某些 CA 还可能使用另一个称为交叉中间证书的证书。这些证书可以从厂商网站下载。
1. 如果证书类型为 .cer 或 .crt,则您可以选择“自动”或“手动”上传方式。如果选择手动,则必须手动选择根证书和中间证书。
2. 如果选择“自动”,并且在“构建证书链”过程中证书导入失败,建议您手动提取根证书和中间证书,然后在上传方式中选择“手动”,选择相应证书后再执行导入。
3. 如果没有 keystore,但有私钥文件(扩展名为 .key),则在通过 UI 导入证书时,可以使用该文件替代 keystore。
注意: 有关如何提取证书(根证书和中间证书),请参阅此处提供的知识库文章。
安装根证书文件
每次将证书安装到 keystore 时,系统都会提示您输入 keystore 密码,即您在生成 CSR 时选择的密码。请输入以下命令以安装根证书文件:
keytool -import -trustcacerts -alias root -file <File_Name>.crt -keystore sdp.keystore
注意:如果系统提示如下消息:“Certificate already exists in system-wide CA keystore under alias <Alias Name> Do you still want to add it to your own keystore? [no]:”,请选择“Yes”。
您将收到确认消息,显示“Certificate was added to keystore”。
安装中间证书和交叉中间证书(如有)。
请按照 CA 提供的说明进行操作。
keytool -import -trustcacerts -alias intermediate -file <File_Name>.crt -keystore sdp.keystore
keytool -import -trustcacerts -alias cross -file <File_Name>.crt -keystore sdp.keystore
您将收到确认消息,显示“Certificate was added to keystore”。
安装主证书或域证书文件
请输入以下命令以安装主证书文件:
keytool -import -trustcacerts -alias <your_alias_name or [Domain Name]> -file your_domain_name.crt -keystore sdp.keystore
请注意,<your_alias_name or [Domain Name]> 应替换为创建 keystore 时提供的别名名称(如步骤 1 中所述)。这一次,您将收到不同的确认消息,即“Certificate reply was installed in keystore”。
如果您希望信任该证书,请选择 y 或 yes。 现在,您的证书已安装到 keystore 文件(sdp.keystore)中。
Cmd>[ServiceDesk Plus Home]\bin> changeWebServerPort.bat <WEBServer_PORT> https
Cmd>[ServiceDesk Plus Home]\bin> changeWebServerPort.bat <WEBServer_PORT> https
在命令提示符中,切换到 <installation directory>\bin
对于早于 10.5 的版本,请运行:
对于 10.5 及更高版本,请运行:
加密后的密码将显示在下一行。
某些 CA 会提供扩展名为 .p7b 的证书。在这种情况下,您可以双击该文件以打开控制台,其中会列出所有必需的证书。您可以将这些证书导出为 Base-64 编码的 X.509 (.cer) 文件。
然后可以按照步骤 3 中的说明,将这些证书安装到 keystore 文件中。
要导出证书,请执行以下操作:

以下是安装部分常见厂商证书所需使用的命令。
注意:这些说明可能会根据 CA 签发的证书而有所变化。
GoDaddy
如果您的 CA 是 “GoDaddy”,则需要执行以下步骤:
keytool -import -alias root -keystore <Keystore_Name>.keystore -trustcacerts -file gd_bundle.crt
keytool -import -alias cross -keystore <Keystore_Name>.keystore -trustcacerts -file gd_cross_intermediate.crt
keytool -import -alias intermediate -keystore <Keystore_Name>.keystore -trustcacerts -file gd_intermediate.crt
keytool -import -alias <创建 Keystore 时指定的别名> -keystore <Keystore_Name>.keystore -trustcacerts -file <CertificateName>.crt
Verisign
如果您的 CA 是 “Verisign”,则需要执行以下步骤:
keytool -import -alias intermediateCA -keystore <Keystore_Name>.keystore -trustcacerts -file <your_intermediate_certificate_name>.cer
keytool -import -alias <创建 Keystore 时指定的别名> -keystore < Keystore_Name>.keystore -trustcacerts -file <CertificateName>.cer
Comodo
如果您的 CA 是 “Comodo”,则需要执行以下步骤:
keytool -import -trustcacerts -alias root -file AddTrustExternalCARoot.crt -keystore <Keystore_Name>.keystore
keytool -import -trustcacerts -alias addtrust -file UTNAddTrustServerCA.crt -keystore <Keystore_Name>.keystore
keytool -import -trustcacerts -alias ComodoUTNServer -file ComodoUTNServerCA.crt -keystore <Keystore_Name>.keystore
keytool -import -trustcacerts -alias essentialSSL -file essentialSSLCA.crt -keystore <Keystore_Name>.keystore
keytool -import -trustcacerts -alias <创建 Keystore 时指定的别名> -file <Certificate-Name>.crt -keystore <Keystore_Name>.keystore
答:这可能是因为application中使用的 Java 版本不支持 .pfx 文件中用于加密密码的算法。请按照以下步骤执行建议的变通方法:
按照此处的说明,将 SSL 证书导入到您的计算机中。
使用 Microsoft Management Console 将其导出为 .pfx,包含私钥、证书路径中的所有证书以及所有扩展属性。请确保密码加密方式为 TripleDES-SHA1,而不是 AES256-SHA256。了解具体操作方法请参见此处。
使用新的 .pfx 文件将 SSL 证书导入到application中。
在 keytool 中导入域证书时,出现如下所示的“Failed to establish chain from reply”错误:

答:请检查application所使用的 Java 版本中的 keytool 是否支持证书(根证书、中间证书和域证书)所使用的签名算法。例如,Java 8 不支持 RSASSA-PSS 算法。
建议的变通方法是获取使用application所用 Java 版本支持的算法的新根证书、中间证书和域证书。
如果您无法获取新证书,请使用相同的 keystore 和证书(借助支持该签名算法的 Java 版本所提供的 keytool)导入域证书。然后手动将 keystore 放置到 {PRODUCT_HOME}/conf 中,并按此处说明配置Server。
使用与application不同的 Java 版本生成的 keystore 进行 UI 导入将会失败。
单击此处查看创建证书并将 SSL 证书导入 keystore 的步骤。
从 UI 导入 .pfx 证书失败,并提示错误 Illegal Key Size。importssl0 日志文件中发现以下异常跟踪:
答:这可能是因为产品中使用的 Java 版本不支持该密钥大小。换句话说,该证书可能是使用不同 Java 版本、不同密钥大小生成的。
建议的变通方法是获取具有适当密钥大小的新证书,或者使用不同 Java 版本的策略文件替换 {PRODUCT_HOME }\jre\lib\security 中的策略文件。
请从以下链接下载适用于 ServiceDesk Plus 的策略文件: