配置与 CA 签名证书的安全通信
要确保安全通信,请创建由认证中心签署的证书,并将其上载到 License Metric Tool。 这种方法比使用可在 License Metric Tool中创建的自签名证书更安全。
简介
专用密钥用于加密通信。 证书中包含的公用密钥用于解密通信。 要使用加密通信,请创建专用密钥以及与其关联的证书。 您可以与任何人共享公用密钥 (证书) ,因为它仅用于读取通信。 通信的安全性主要取决于证明您身份的专用密钥,并且必须安全地存储。 创建密钥的方式是,使用专用密钥加密的消息只能使用与其关联的公用密钥进行解密。 如果某人收到您的公用密钥并且可使用此密钥解密您的通信,那么他们知道您是消息的发起方并且未在途中进行篡改。 否则,公用密钥无法进行解密。
License Metric Tool 缺省情况下提供自签名证书。 但是,它们并不适用于生产环境。 要提高安全性,请创建可在认证中心 (CA) 签名后转换为证书的自己的专用密钥和证书签名请求 (CSR)。 通过签署请求,CA 核准其可以信任的公用密钥和证书。 您可以创建自己的私人CA,使用您所在组织的CA,或者使用国际认可的CA,例如Entrust VeriSign, 或其他。
专用密钥和关联证书将上载到 License Metric Tool。 启用加密通信后,连接到 License Metric Tool 服务器的任何人都会收到包含公用密钥的证书。 将使用您的专用密钥加密源自服务器的所有连续通信。 在用户收到通信后,将使用从服务器获取的证书解密通信。 如果证书可解密通信,那么知道服务器是消息的发起方并且有效。
密钥对需求
您的密钥对必须满足以下需求才能被 License Metric Tool接受。
- 类型
- RSA
- 密钥长度
- 对于应用程序更新 9.2.10 和更高版本: 最大 16384 位。
- 对于应用程序更新 9.2.9 和更低版本: 最大 2048 位。 此限制是由于 IBM Java 策略所导致的。 如果将缺省策略文件替换为不受限的管辖区域文件,那么可以使用更强的密钥。 更多信息,请参阅: IBM SDK 策略文件。
- 格式
- PEM 编码。 如果使用 openSSL 创建密钥对,那么确保此类编码。 您还可以使用其他方法 (例如, Windows 上的 Makecert) 来创建密钥。 此类密钥是 DER 编码的,因此不受 License Metric Tool支持。 但是,您可以将其他格式转换为 PEM ,例如使用 OpenSSL。
- 专用密钥格式
- PKCS#1
- PKCS#8 (由 OpenSSL使用)
- PKCS#12
限制
仅当专用密钥不受密码保护时,为 License Metric Tool 生成的密钥对才能用于 Web 报告。
专用密钥和证书的结构和格式
- 专用密钥格式
- PEM-以 PKCS#8 格式编码,无需密码保护。 确保专用密钥 (private.key) 包含在以下语句之间:
-----BEGIN PRIVATE KEY----- <<base64 string from private.key>> -----END PRIVATE KEY----- - PEM-以 PKCS#8 格式编码,具有密码保护。 确保专用密钥 (private.key) 包含在以下语句之间:
-----BEGIN ENCRYPTED PRIVATE KEY----- <<base64 string from private.key>> -----END ENCRYPTED PRIVATE KEY----- - PEM-以 PKCS#1 格式编码。 确保专用密钥 (private.key) 包含在以下语句之间:
-----BEGIN RSA PRIVATE KEY----- <<base64 string from private.key>> -----END RSA PRIVATE KEY-----
- X509 证书格式
- PEM 编码。 如果您接收到作为单独文件的中间证书和根证书,请将它们组合到单个文件中。 例如,如果您有主证书文件 (certificate.crt) 和中间证书文件 (ca_intermediate.crt) ,请按以下顺序进行组合。
BEGIN CERTIFICATE----- <<primary certificate: base64 string from certificate.crt>> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <<intermediate certificate: base64 string from ca_intermediate.crt>> -----END CERTIFICATE-----如果接收到根证书 (ca_root.crt) 以及中间证书,请按以下顺序进行组合。BEGIN CERTIFICATE----- <<primary certificate: base64 string from certificate.crt>> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <<intermediate certificate: base64 string from ca_intermediate.crt>> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <<root certificate: base64 string from ca_root.crt>> -----END CERTIFICATE----- - 单个文件 (具有证书的 PKCS#8 格式的专用密钥) 格式
- PEM 编码。 此文件可以包含专用密钥和主证书,也可以包含按以下顺序组合的专用密钥和证书链:
- 专用密钥和主证书。
-----BEGIN CERTIFICATE----- <<primary certificate: certificate.crt>> -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- <<private key: base64 string from private.key>> -----END PRIVATE KEY----- - 专用密钥,主证书和中间证书。
BEGIN CERTIFICATE----- <<primary certificate: base64 string from certificate.crt>> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <<intermediate certificate: base64 string from ca_intermediate.crt>> -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- <<private key: base64 string from private.key>> -----END PRIVATE KEY----- - 专用密钥,主证书,中间证书和根证书。
BEGIN CERTIFICATE----- <<primary certificate: base64 string from certificate.crt>> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <<intermediate certificate: base64 string from ca_intermediate.crt>> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <<root certificate: base64 string from ca_root.crt>> -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- <<private key: base64 string from private.key>> -----END PRIVATE KEY-----
- 专用密钥和主证书。