ServiceDesk Plus支持使用HTTPS模式运行,但是,需要安装由证书授权机构(Certificate Authority - CA)签发的SSL (Secure Socket Layer) 证书。
默认情况下,当您首次使用HTTPS模式时,通常会创建一个自签名的证书。但该自签名的证书将不会被用户的浏览器信任。因此,当您连接到ServiceDesk Plus,您需要手动验证证书信息,并强制浏览器接受该证书,才能使用。
为了使浏览器及终端用户能够自动而又正确的鉴别ServiceDesk Plus服务器,需要从证书授权机构获取该服务器的新的签名证书。您可以使用 keytool (绑定在Java里)创建您的证书,然后将它提交给授权机构,从而获取由授权机构签名的证书,将它安装到ServiceDesk Plus。
配置ServiceDesk Plus,使其能够使用SSL的步骤如下:
Step 1: 创建一个Keystore文件
Step 2: 创建.CSR (Certificate Signing Request - 证书签名请求) 文件
Step 3: 安装您的SSL证书
Step 4: 配置服务器
注意: 请将所有图片中的高亮部分的文字,替换为您实际使用的别名。
在向CA请求证书之前,您需要创建一个tomcat专用的".keystore" 文件和".csr" 文件。这里的 .keystore和 .csr文件中将包含您自己的关于ServiceDesk Plus服务器的信息,这些信息在生成 .keystore 和 .csr 文件时输入。
创建 .keystore 文件的步骤如下:
打开一个DOS命令行窗口(Linux下为终端窗口)
导航到<SDP安装目录> \ jre \ bin ,执行以下命令:
keytool -genkey -alias <your_alias_name> or [Domain Name] -keyalg RSA -keystore sdp.keystore
如图所示,请将高亮部分替换为您自己的别名
如果您的厂商要求提供大小为2048的 CSR ,请使用以下命令:
keytool -genkey -alias <your_alias_name> or [Domain Name] -keyalg RSA -keysize 2048 -keystore sdp.keystore
它会提示您,为该Keystore提供密码。
请注意: 该密码中,不能使用 $ 符号。
当它提示您输入名称(first and last name)时,请注意,这不是指您个人的姓名,而是您的机构(也就是网站站点)的全名。如:helpdesk.manageengine.com
如果需要通配证书,则必须以 * 开头。
输入完所需的信息之后,确认所输入的信息是否正确,输入'y' 或 'yes'
命令最后,将提示您输入主密码(key password),如果选择使用 与keystore密码一样(same as your keystore password),可直接回车。请记住您的密码。
这样,就会在当前目录下生成文件名为sdp.keystore 的文件。
注意: 在安装证书之前,推荐您将此文件备份存储。当您安装证书失败时,或者需要更新证书时,可以使用该备份文件。
步骤2: 创建.CSR (证书签名请求 - Certificate Signing Request)文件
该 .CSR (Certificate Signing Request)文件是临时文件,用于提交给授权机构,以获取真正的签名证书(CA-Signed Certificate) 文件。
创建CSR文件的步骤:
打开一个DOS命令行窗口(Linux下为终端窗口)
导航到<SDP安装目录> \ jre \ bin ,执行以下命令:
keytool -certreq -alias <your_alias_name> -file key.csr -keystore sdp.keystore
上述命令中, <your_alias_name> 为创建keystore文件时所输入的别名。key.csr 为要创建的CSR文件名。sdp.keystore为已经创建的keystore文件名。
生成CSR文件后,将其提交给CA,您会获取审批后的签名证书的邮件,从邮件中下载相应的证书文件,保存到您的keystore文件所在的目录。证书必须安装到该keystore文件中,否则将无法正常工作。
下载的证书,必须按照正确的顺序安装到您的keystore文件中,如果顺序不对,证书认证也会出现问题。要查找证书的正确顺序,可双击您的域证书,然后在“证书路径”下查看顺序。如下图所示:
这些证书通常都是以 .cer 或 .crt的格式保存。如果您获取的证书的扩展名为 .p7b ,请按照后述的“安装 .P7b 证书” 的步骤,将证书导出为 .cer 或 .crt 格式,然后在安装。
查看上面的证书路径,我们推断在安装域证书之前,需要导入其它两个证书:第一个是Root,
第二个是Intermediate ,最后才是Domain
Certificate. 有些CA还会使用Cross Intermediate证书,需要的话,可从相应的机构的网站上下载对应的证书。
安装Root证书文件
每次安装证书时,都会提示您输入您的keystore密码(也就是创建keystore文件,CSR文件时输入的密码)。请按照以下命令格式安装Root证书:
keytool -import -trustcacerts -alias root -file <File_Name>.crt -keystore sdp.keystore
注意: 如果提示您keystore中已经存在某个证书,是否覆盖时,请选择 ‘Yes’
将会确认提示您: "证书已经添加到keystore"。
安装Intermediate 证书和Cross Intermediate 证书 (如果有的话)
按照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
安装域证书文件
按照以下命令格式安装特定域的主证书:
keytool -import -trustcacerts -alias <your_alias_name or [Domain Name]> -file your_domain_name.crt -keystore sdp.keystore
注意,这里的 <your_alias_name or [Domain Name]> 应该替换为您生成kerstore(上述步骤1)时提供的别名。
如果要信任该证书,请选择 y 或 yes,这样,证书就安装到您的keystore 文件 (sdp.keystore)。
将安装完SSL证书的sdp.keystore复制到 <ServiceDesk_Home>\server\default\conf
从命令行执行changeWebServerPort.bat 脚本,将服务器连接模式更改为HTTPS
Cmd>[ServiceDesk Plus Home]\bin> changeWebServerPort.bat <WEBSERVER_PORT> https
最好,到<ServiceDesk_Home>\server\default\deploy\jbossweb-tomcat50.sar 目录下, 编辑server.xml文件,将keystorefile的参数设置为您的Keystore文件,并输入正确的keystore密码:
重启ManageEngine ServiceDesk Plus,使变更生效。
有些 CA 提供的证书,其扩展名为.p7b,这时,您可以双击该文件,打开证书控制台,它将列出所有需要的证书。您可以将这些证书导出为编码为Base-64的X.509 (.cer) 文件。 (参见下图)
然后,再按照步骤3的描述,安装这些证书到您的keystore文件。
导入证书的步骤:
双击您获得的.p7b文件,如:[ServiceDesk Plus Home] \ jre \ bin \ domain.P7B.
右击证书列表中的某个证书,然后,选择所有任务 -> 导出( All Tasks -> Export )。
弹出证书导出向导,点击下一步,继续。
选择导出文件的格式为:Base-64 encoded X.509 (.cer),点击下一步。
指定要导出的文件名,点击下一步。
确认所指定的信息正确,点击完成。
显示导出成功的信息,点击确定,关闭导出向导。
对于部分通用的厂商,可按照以下所提供的命令,安装证书:
注意: 这些指令可能会修改,请参照证书颁发机构的网站信息。
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 <Alias Specified when creating the 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 <Alias Specified when creating the 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 <Alias Specified when creating the Keystore> -file <Certificate-Name>.crt -keystore <Keystore_Name>.keystore