TLS 实现

系统包含多个 TLS 实现。 每个实现都根据行业定义实现一个或多个 TLS 协议版本。

这些实现必须根据每个协议版本的因特网工程任务组 (IETF) 规范与其他实现进行互操作。 每个实现都具有独特的特征,并提供不同的可选功能集。

所使用的 API 集确定将哪个实现用于系统上的每个安全应用程序。 使用 Java™时,配置的 JSSE 提供程序将确定实现,因为 Java 接口已标准化。 应用程序还可以嵌入仅对应用程序已知的实现。

这些实现可用于在 IBM i 上开发应用程序。

  • 系统 TLS

    ILE 应用程序使用 系统 TLS。 证书管理由 Digital Certificate Manager (DCM) 执行,证书存储类型为证书管理服务 (CMS),文件扩展名为 *.KDB。 Java 应用程序可以使用 System TLS,但它不是典型的。 最模糊的情况将是使用 System TLS 同时使用 Java 密钥库的 Java 应用程序。

  • IBMJSSE2 (IBMJSSEProvider2)

    此 Java 安全套接字扩展 (JSSE) 提供程序包含 TLS 协议的纯 Java 实现,并且在多个平台上可用。 此实现在 java.security 提供程序列表中称为 com.ibm.jsse2.IBMJSSEProvider2 。 这是 Java 8 的缺省提供程序。 这些证书通常位于 Java 密钥库文件 (JKS) 中,并通过使用 Java keytool 命令或 IBM Key Management (iKeyman) 实用程序进行管理。

    有关系统的常规 JSSE 信息,请参阅 Java 安全套接字扩展 (JSSE)

    有关特定详细信息,请参阅相应 JDK 版本的 IBMJSSE2 平台独立文档。 对于 JDK8,请参阅 Security Reference for IBM® SDK, Java Technology Edition, Version 8

  • Oracle Java

    此 JSSE 提供程序包含 Oracle的 TLS 协议的纯 Java 实现。 此实现在 java.security 提供程序列表中称为 SunJSSE 。 这是 Java 11 的缺省提供程序。

    有关系统的常规 JSSE 信息,请参阅 Java 安全套接字扩展 (JSSE)

    有关此 JDK11 提供程序的特定详细信息,请参阅 Oracle Security Developer 's Guide 的 " JDK 提供程序文档 " 部分中的 SunJSSE 提供程序。

  • OpenSSL

    OpenSSL 是一个开放式源代码工具箱,用于实现 TLS 协议和完整的通用密码术库。 它仅在 IBM Portable Application Solutions Environment for i (PASE for i) 中可用。 这些证书通常在 PEM 文件中找到,并使用 OpenSSL 命令进行管理。

    公共信息模型对象管理器是使用此实现的应用程序。 有关更多信息,请参阅 公共信息模型