- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个在 ec2 实例上运行的 Web 服务器,它在内部调用使用 Spring Boot 构建的 REST 服务器。现在,我试图让这个 REST 服务器在 SSL 下运行。这是我到目前为止所做的:
1) 使用此命令创建了一个 CSR 和一个 key 文件
openssl req -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
2) 复制“csr”以从 GoDaddy 获取 SSL 证书。
3) 在我的 ec2-instance 上成功安装了 Nginx 下的证书。
4) 当我在 https 下访问主页时,它起作用了。我不再从浏览器收到“不安全”消息。
5) 登录失败,因为它进行了 REST 调用,但 REST 服务器未在 SSL 下运行,因此我试图让它在 SSL 下运行。
6) 运行以下命令:
keytool -import -alias mydomain -keystore tomcat.keystore -trustcacerts -file mydomain.com.chained.crt
keytool -import -alias mydomain-key -keystore tomcat.keystore -trustcacerts -file mydomain.key
前面的命令给我一条错误信息:“keytool 错误:java.lang.Exception:输入不是 X.509 证书”
但这是在上面的第 1 步中创建的,同样的文件在 Nginx 下工作。我错过了什么(除了我对设置 SSL 知之甚少!)?我相信我需要第二个命令来指定 application.properties 中“server.ssl.keyAlias”的值。
最佳答案
不是真正的答案,而是满溢的评论。
您不需要“生成”X.509 证书;您已经从 GoDaddy 获得了它。如果(且仅当)通过与(外部)nginx 相同的名称访问 SpringBoot 服务器——我不清楚——你需要转换一对私钥和证书链 从 PEM 格式到 Java 使用的格式。参见:
How to import an existing x509 certificate and private key in Java keystore to use in SSL?
How can I set up a letsencrypt SSL certificate and use it in a Spring Boot application?
How to use .key and .crt file in java that generated by openssl?
Importing the private-key/public-certificate pair in the Java KeyStore
也许Import key and SSL Certificate into java keystore
关于spring-boot - 如何从 openssl 生成的 key 生成 X.509 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51032763/
我是一名优秀的程序员,十分优秀!