有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javax和javax的区别是什么。网ssl。密钥库和服务器。ssl。为SpringBoot应用程序指定密钥库时的密钥库属性

  1. 我可以使用这两个属性中的任何一个指定密钥库吗?Java特定的javax。网ssl。密钥库或特定于spring引导的服务器。ssl。钥匙店。有什么不同吗?我想使用密钥库为我的应用程序提供https服务,并与一些REST服务进行相互客户端身份验证

  2. 如果密钥库没有指定为属性或jvm参数,而是在启动时使用自定义代码读取,那么可以使用https为SpringBoot应用程序提供服务吗?或者,如果应用程序必须使用https提供服务,那么密钥库规范必须在这之前出现吗


共 (1) 个答案

  1. # 1 楼答案

    这两个属性具有互补作用:

    • javax.net.ssl.keyStore是Java安全提供程序用于配置默认SSLContext系统属性。大多数SSL客户端使用默认的SSLContext

      您不需要将此属性作为-D参数传递给JVM,您可以在应用程序启动的早期以编程方式设置它,但我建议您不要这样做:因为您的应用程序可能不是JVM中唯一的应用程序(例如,您将其作为WAR归档运行),您将影响其他应用程序的行为。改用非默认的SSLContext

    • server.ssl.keyStore是一个Spring属性,用于配置嵌入式servlet容器的服务器套接字。它可以来自many different sources

      理论上,servlet容器可以使用默认的SSLContext并从默认的KeyManager检索其证书(它从通过javax.net.ssl.keyStore指定的密钥库加载其密钥),但我不知道有哪个servlet容器会真正这样做

      通常,用作SSL客户端的证书与用作SSL服务器的证书不同