首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置letsencrypt证书并在Spring Boot应用程序中使用它?

如何设置letsencrypt证书并在Spring Boot应用程序中使用它?
EN

Stack Overflow用户
提问于 2016-05-03 04:57:00
回答 7查看 30.9K关注 0票数 55

我刚开始保护服务器,所以我对此了解不多,但我需要让我的Spring Boot应用程序运行在Digital Ocean Droplet上才能使用HTTPS。

我的想法是注册一个letsencrypt证书,然后告诉Spring使用它。

然而,我不知道如何做到这一点。

谢谢。

EN

回答 7

Stack Overflow用户

发布于 2016-08-10 20:12:52

我写了两篇关于Let's Encrypt和Spring Boot的博文。

证书.

  1. Issuing Spring Boot Application Secured by Let’s Encrypt Certificate
  2. Renewing a.Let’s Encrypt Certificate Renewal: for Spring Boot

简而言之,步骤如下:

  1. 拉动Let's Encrypt client (Certbot)。

  1. 为您的域生成证书(例如example.com)

./certbot-auto certonly -a standalone -d example.com -d www.example.com

所有内容都是在/etc/letsencrypt/live/example.com中生成的。Spring Boot需要PKCS#12格式的文件。这意味着您必须将密钥转换为PKCS#12密钥库(例如,使用OpenSSL)。如下所示:

打开directory.

  • openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root

  1. /etc/letsencrypt/live/example.com

带有PKCS12的文件keystore.p12现在在/etc/letsencrypt/live/example.com中生成。

现在可以配置Spring Boot应用程序了。打开application.properties文件并在其中放置以下属性:

代码语言:javascript
运行
复制
server.port=8443
security.require-ssl=true
server.ssl.key-store=/etc/letsencrypt/live/example.com/keystore.p12
server.ssl.key-store-password=<your-password>
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat

有关详细信息和备注,请阅读我的blog post

票数 120
EN

Stack Overflow用户

发布于 2017-02-28 21:12:42

第一步:从git下载certbot

你需要在你的域名所指向的服务器上获取Let's Encrypt的源代码。此步骤可能需要几分钟时间。

$ git克隆https://github.com/certbot/certbot

$ cd certbot

$ ./certbot-auto --help

备注:请事先安装Python 2.7.8 (或更高版本)。

Step2:生成证书和私钥

通过在您的终端中执行以下命令,让我们加密为您生成证书和私钥。

$./certbot-自动认证-a standalone \

-d example.com -d example.com

备注:密钥在/etc/letsencrypt/live/example.com目录中生成

Step3:从PKCS12文件生成PEM文件

要将PEM文件转换为实况版本:转到/etc/letsencrypt/ PKCS12 /example.com,在终端中使用OpenSSL将密钥转换为PKCS12,如下所示。

openssl $openssl pkcs12 -export -in fullchain.pem \

-inkey privkey.pem \ -out keystore.p12 \ -name tomcat \ -CAfile chain.pem \ -caname根目录

输入导出密码:

正在验证-输入导出密码:

(注意:-一次写一行,然后按enter键)

Step4: Spring Boot Application的配置

打开你的'application.properties‘,把这个配置放在那里。

server.port=8443安全性.-ssl=true

server.ssl.key-store=/etc/letsencrypt/live/example.com/keystore.p12

server.ssl.key-store- password =密码

server.ssl.keyStoreType= PKCS12

server.ssl.keyAlias= tomcat

票数 10
EN

Stack Overflow用户

发布于 2018-03-09 04:30:29

另一种选择是使用Spring Boot Starter ACME:

https://github.com/creactiviti/spring-boot-starter-acme

ACME (自动证书管理环境)是LetsEncrypt用来自动颁发证书的协议。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36991562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档