JSSE系统属性的配置

2023-10-10 19:32
文章标签 配置 系统 属性 jsse

本文主要是介绍JSSE系统属性的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述
Java安全套接字扩展(JSSE)提供SSL/TLS的底层框架实现。在此框架中,你可以使用各种JSSE的系统属性来配置SSL/TLS协议和部署X.509证书。
系统属性

表格列出可用来配置SSL、HTTPS、Stomp+SSL传输协议上的系统属性

系统属性名描述
javax.net.ssl.keyStore Java的密钥库的路径,它包含应用进程本身的证书和私钥。在Windows下,
路径名分隔符需要把反斜杠(\)改成斜杠(/)
javax.net.ssl.keyStorePassword访问密钥库中私钥的密码,该密钥库由javax.net.ssl.keyStore指定,密码使用两次:
1. 解锁密钥库文件(库密码)
2. 解密存储在密钥库中的私钥(密钥密码)
换句话说,JSSE框架要求这两个密码必须相同。
javax.net.ssl.keyStoreType(可选)对于密钥库文件格式,这个值为jks/JKS,默认已经为jks
javax.net.ssl.trustStore包括CA证书的密钥库路径,这些CA证书是被应用进程信任的,也叫信任库。
在Windows下,路径名分隔符需要把反斜杠(\)改成斜杠(/)
如果信任库路径没有通过此属性指定,Sun的JSSE框架默认会按照下列顺序
搜寻和使用密钥库:
1. $JAVA_HOME/lib/security/jssecacerts
2. $JAVA_HOME/lib/security/cacerts
javax.net.ssl.trustStorePassword解锁信任库的库密码
javax.net.ssl.trustStoreType(可选)默认为jks
javax.net.debugSSL/TLS层的日志开关,可设为ssl


警告

将证书存放在JSSE缺省信任库的位置(jssecacerts和cacerts)是有一个潜在的安全风险。如果你无权JDK安装目录下的信任证书库

进行管理,或者无法控制该JDK安装目录,你会发现这样太过随意了。

为安全起见,推荐你始终设置属性javax.net.ssl.trustStore,以便你可以在你的应用程序中完全控制这些CA证书


命令行设置属性
在客户端和代理中,你可以通过命令行设置系统属性,-DProperty=Value.例如
java -Djavax.net.ssl.trustStore=truststores/client.ts com.progress.Client


在Windows中,你可以设置SSL_OPTS环境变量
set SSL_OPTS=-Djavax.net.ssl.keyStore=C:/Programs/FUSE/fuse-message-broker-7.1.0.fuse-047/conf/broker.ks
         -Djavax.net.ssl.keyStorePassword=password
         -Djavax.net.ssl.trustStore=C:/Programs/FUSE/fuse-message-broker-7.1.0.fuse-047/conf/broker.ts 
         -Djavax.net.ssl.trustStorePassword=password
 
在JAVA程序中设置属性
你也可以在Java API中设置这些JSSE系统属性,不过你必须要在调用相关传输层协议初始化之前设置好这些值。
import java.util.Properties;Properties systemProps = System.getProperties();
systemProps.put("javax.net.ssl.trustStore","C:/Programs/FUSE/fuse-message-broker-7.1.0.fuse-047/conf/client.ts"
);
System.setProperties(systemProps);

原文地址:

https://access.redhat.com/documentation/en-US/Fuse_MQ_Enterprise/7.1/html/Security_Guide/files/SSL-SysProps.html


这篇关于JSSE系统属性的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/182611

相关文章

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹