JMP Live 的 SSL 证书要求
SSL证书是包含加密密钥的文本文件,用于实现浏览器和Web服务器之间的安全通信。它们会对敏感信息进行加密,确保只有预期的接收者才能访问。这些密钥是组织特定的,必须来自DigiCert、Symantec或Network Solutions等第三方供应商,或者来自企业内部的证书颁发机构( CA ) 。JMP Live需要这些证书才能运行。
我们推荐:
- 证书类型
- 由公共证书颁发机构 (CA) 颁发的公共信任服务器证书
- 只要浏览器信任颁发证书的 CA,就支持 SAN 证书或通配符证书。
- 主机名
- 证书的通用名称 (CN)或主题备用名称 (SAN)必须与您用于访问 JMP Live 的完全限定域名 (FQDN) 匹配,例如: jmplive.yourcompany.com
- 钥匙类型和尺寸
- RSA 2048 位(或更高)
- SHA-256(或更强)签名算法
- 链
- 完整的 CA 链(中间证书和根证书)必须以 PEM 格式提供。
企业内部 CA
JMP Live 也可以使用企业内部 CA 颁发的证书。在这种情况下,客户端浏览器必须信任该内部 CA。请与您的 IT/安全团队合作,确保将 CA 证书部署到用户计算机上。
自签名证书
不建议在生产环境中使用自签名证书,因为客户端浏览器会显示安全警告。请尽可能使用由证书颁发机构 (CA) 签名的证书。
JMP Live 使用四个证书文件:
- 包含公共(服务器)证书的文件。
- 包含证书私钥的文件。
- 包含CA 证书链的文件,也称为证书颁发机构(CA) 证书链,其中包括中间证书和根证书。
- 包含公钥证书和证书链的文件。
所有文件必须采用隐私增强邮件(PEM)格式。
向证书颁发机构(CA) 请求证书
证书和私钥已为您的组织配置。根证书来自第三方供应商。
购买证书时,请按照供应商提供的文档获取所需文件。
找到证书注册服务后,请按照以下步骤操作:
- 获取证书:从供应商的 CA 服务网页申请证书。按照说明提交申请。证书颁发后,下载并保存到安装计算机。选择 Base64 编码。下载的文件通常以以下内容开头:
-----开始证书-----
这将是文件#1(服务器证书) 。
2.获取证书的私钥:私钥是在创建证书签名请求 (CSR) 时生成的。它通常存储在服务器的文件系统或密钥库中。
如果您不确定私钥存储在哪里,请参阅本博客文章末尾的“有用链接” ,或在线搜索适用于您的 Web 服务器的具体说明。
JMP Live 需要未加密的 PEM格式私钥。如果您的密钥格式不同或受密码保护,请使用以下方法之一进行转换:
方法 A :使用 OpenSSL 从 PKCS#12 (PFX/P12) 格式转换
如果您从 IIS 或其他工具导出服务器证书和私钥,通常会得到一个受密码保护的 .pfx (PKCS#12) 文件。JMP Live 无法使用受密码保护的文件。
- 使用 OpenSSL 将 .pfx 文件转换为 PEM 格式(请参阅本文末尾的“实用链接”或使用 Google 搜索相关选项):
openssl pkcs12 -in cert.pfx -nodes -out cert.pem
如果此命令失败,请尝试:
openssl pkcs7 -print_certs -in cert.pfx -out cert.pem
2.生成的 cert.pem 文件包含未加密的私钥和所有证书。用记事本打开它,然后:
- 找到以 -----BEGIN RSA PRIVATE KEY----- 或 -----BEGIN PRIVATE KEY----- 开头的块。
- 将整个代码块复制到一个新文件中。
这个新文件是文件#2(私钥) 。
方法 B : Apache 风格的导出
某些工具会将证书和密钥以 Apache (PEM) 格式导出,不包含密码,从而生成两个单独的文件。这两个文件可以直接用作文件 1 和文件 2,无需进行 OpenSSL 转换。
- 获取根证书:供应商 CA 网站通常会提供“下载 CA 证书、证书链或 CRL”菜单项。JMP Live 需要CA 证书链,它会下载文件 #3。选择Base64编码。如果文件受密码保护,请按照上述说明移除密码。如果文件格式为 PKCS#7 或 P7B,请使用以下命令将其转换为 PEM 格式:
openssl pkcs7 -in certnew.p7b -nodes -out root.pem
验证证书(可选)
使用以下命令验证您的 PEM 文件:
openssl x509 -in root.pem -text
此处显示证书详细信息,例如颁发者、主题和到期日期,以供验证。
为 JMP Live 格式化证书
为便于续期时识别,请按以下方式命名证书:
- 公钥(服务器证书)– cert.pem
- 私钥– key.pem
- 中间和根(CA 链)– root.pem
- 公共、中间和根合并 – combined.pem
要从现有文件创建 combined.pem,请将服务器证书和 CA 链连接起来。顺序应为:
- 服务器证书
- 中级证书
- 根证书
在 JMP Live 中使用证书
- 存储证书文件
获得证书后,即可在 JMP Live 中使用它们。
将文件存储在 JMP Live 安装路径之外的中央安全位置,例如:
C:\证书
- 更新JMP Live 和 JMP Pool 的 .env 文件。
编辑JMPLive和JMP池的 .env 文件,以反映证书、私钥和根证书的路径。
- 编辑 JMP Live 的.env 文件:
SSL_CERT_FILE='C:\certificates\cert.pem'
SSL_KEY_FILE='C:\certificates\key.pem'
SSL_CA_FILE='C:\certificates\root.pem'
b.编辑 JMP Pool .env 文件(仅编辑根证书):
SSL_CA_FILE='C:\certificates\root.pem
2.更新 Keycloak 配置
编辑 keycloak.conf 文件,使其反映正确的路径:
https证书文件=C:/certificates/combined.pem
https证书密钥文件=C:/certificates/key.pem
3.重启 JMP Live 服务
使用任务管理器中的“服务”选项卡(或运行 services.msc)启动或重启:
- JMP Live Web 应用程序 (websjmpsvc.exe)
- JMP 池管理器 (jmpppolsvc.exe)
- Keycloak(jmplivekeycloak)
安全最佳实践
保护您的私钥文件(key.pem):
- 限制文件系统权限,使只有 JMP Live 服务帐户和管理员才能读取它。
- 切勿通过电子邮件或不安全的渠道分享私钥。
- 如果私钥泄露,请向证书颁发机构撤销该证书并颁发新证书。
实用链接
以下是一些在设置 SSL 证书时可供参考的链接: