spring-projects / spring-projects/spring-boot
Let's encrypt integration
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 81.5k
- Forks
- 42.7k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 65
Description
Configuring SSL with Java is a pita, and developers typically don't master the JDK commands used to deal with keystores, etc.
Obtaining an SSL certificate in itself is not a piece of cake either. Let's encrypt allows obtaining and renewing certificates for free, in an automated way. But as far as I know, there is no integration with the Java mechanisms to store keys and certificates.
I personally use an Nginx frontend for my Spring-boot applications, only to make it easier to use SSL (and sometimes virtual hosts, but that's another matter).
I have frankly no idea if my idea is doable, but it would be really cool if we could just, in a Spring boot app, set one or two properties (domain name, contact email), and have Spring request a certificate at startup if it doesn't exist, and configure a scheduled job to renew it.
I think it would be a major selling point for Spring boot if it could have SSL out of the box.
I guess that means Spring would need to talk the ACME protocol with let's encrypt, which must be doable, to write private keys and certificates programmatically to the keystore (not sure if it's doable), and make sure the embedded container uses this new key/certificate without having to restart.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or existing entry point. Start by reviewing Spring Boot's SSL configuration and embedded-server certificate handling, then investigate ACME and Let's Encrypt integration requirements. Done would require a defined, tested approach for certificate issuance, renewal, keystore updates, and server reconfiguration without restart.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100