Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot:RSA有效,JKS不';T_Java_Ssl - Fatal编程技术网

Java Spring Boot:RSA有效,JKS不';T

Java Spring Boot:RSA有效,JKS不';T,java,ssl,Java,Ssl,我想为我的spring boot应用程序启用SSL 我使用以下命令生成了密钥库: keytool -genkey -alias myapp -keyalg RSA -keystore tomcat.keystore keytool -genkey -alias tomcat -keystore keystore.jks -validity 3650 应用程序属性包含: server.port = 8443 server.ssl.key-store = classpath:tomcat.key

我想为我的spring boot应用程序启用SSL

我使用以下命令生成了密钥库:

keytool -genkey -alias myapp -keyalg RSA -keystore tomcat.keystore
keytool -genkey -alias tomcat -keystore keystore.jks -validity 3650
应用程序属性
包含:

server.port = 8443
server.ssl.key-store = classpath:tomcat.keystore
server.ssl.key-store-password = ###
server.ssl.key-password = !&*
server.ssl.enabled=true
首先,我使用以下命令创建了JKS密钥存储:

keytool -genkey -alias myapp -keyalg RSA -keystore tomcat.keystore
keytool -genkey -alias tomcat -keystore keystore.jks -validity 3650
但是当我访问
https://localhost:8443

This site can’t provide a secure connection

localhost uses an unsupported protocol.
为什么它现在起作用而不是那时

我还有几个问题: 1.我看了一些教程,它们都建议将密钥库文件放在
src/main/resources
中。这真的是个好主意吗

2.
密钥存储密码是什么?钥匙密码是什么


3.这就是启用SSL所要做的全部工作吗?那么
crt
cer
文件呢?它们在哪里使用?

关于
本地主机使用不受支持的协议。
确保服务器支持客户端可以支持的密码

此站点无法提供安全连接
,此消息可能是因为连接不可信!当然在这里,您可以简单地告诉客户忽略它

您还可以在JKS文件中设置别名,确保告诉服务器加载正确的别名

将JKS放在
src/main/resources
中可能是一个很好的实践,但不是必需的,只是确保它是安全的和可访问的

java不需要显式地使用
crt
cer
,但是一旦您获得CA签署的证书,您就可以将证书导入JKS,让服务器找到中间证书和根证书(如果存在,根证书不是必需的)

一旦您通过keytool生成密钥,只需确保文件的安全。您需要生成CSR值,同样的jKS也需要用于可信证书导入


我还建议通过JSSE获得一些OpenSSL(如果可能的话)。

RSA密钥库呢?你说它不用于制作ssl密钥是什么意思?将资源放在
resources
文件夹下意味着它将交付给用户?如果是,为什么向客户交付密钥库是个好主意?来吧!不,亲爱的,服务器当然不会发送私钥!否则它就不是SSL。您甚至会要求客户端的证书来批准连接。所以客户端需要安装一个证书,然后请求(这是非常罕见的)@ArianHosseinzadeh@ArianHosseinzadeh重要的一点是,您必须确保您提到的资源文件夹不可公开访问。服务器旁边不会公开密钥,但它可能可以通过FTP、HTTP等访问。所以请将其放在安全的地方。
resources
文件夹是放置静态文件的地方,例如
html
css
js
文件。@ArianHosseinzadeh在java web配置文件中说,WEB-INF文件夹是所有类、库的所在位置。但根本不可访问,服务器不会将其映射到共享的静态资源。只要确保它安全,不管它在哪里。