Bra*_*enS 31 java ssl spring spring-boot lets-encrypt
我是安全服务器的新手,所以我对此并不太了解,但我需要让我在Spring Ocean Droplet上运行的Spring Boot应用程序使用HTTPS.
我的想法是注册一个letsencrypt证书然后告诉Spring使用它.
但是,我不知道该怎么做.
谢谢.
Ema*_*Ben 61
我写了两篇关于Let's Encrypt和Spring Boot的博文.
简而言之,步骤如下:
为您的域生成证书(例如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).如下:
/etc/letsencrypt/live/example.com目录.openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root现在生成带有PKCS12 的文件keystore.p12/etc/letsencrypt/live/example.com.
是时候配置Spring Boot应用程序了.打开application.properties文件并在其中放置以下属性:
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
Run Code Online (Sandbox Code Playgroud)
阅读我的博客文章了解更多详情和评论.
Pra*_*kar 10
第1步:从git下载certbot
您需要在您的域名所指向的服务器上获取Let's Encrypt的源代码.此步骤可能需要几分钟.
$ git clone https://github.com/certbot/certbot
$ cd certbot
$ ./certbot-auto --help
备注:事先应安装Python 2.7.8(或更高版本).
步骤2:生成证书和私钥
通过在终端中执行以下命令,Let's Encrypt为您生成证书和私钥.
$ ./certbot-auto certonly -a standalone \
Run Code Online (Sandbox Code Playgroud)-d example.com -d example.com
备注:密钥在/etc/letsencrypt/live/example.com目录中生成
第3步:从PEM文件生成PKCS12文件
要将PEM文件转换为PKCS12版本:转至/etc/letsencrypt/live/example.com如下所示,使用终端中的OpenSSL将密钥转换为PKCS12.
$ openssl pkcs12 -export -in fullchain.pem \
Run Code Online (Sandbox Code Playgroud)-inkey privkey.pem \ -out keystore.p12 \ -name tomcat \ -CAfile chain.pem \ -caname root
输入导出密码:
验证 - 输入导出密码:
(注意: - 一次写一行并按回车键)
第四步:配置Spring Boot应用程序
打开'application.properties' 将此配置放在那里.
server.port = 8443 security.require-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
另一个选择是使用Spring Boot Starter ACME:
https://github.com/creactiviti/spring-boot-starter-acme
ACME(自动证书管理环境),它是LetsEncrypt用于自动颁发证书的协议。
AlB*_*lue -1
keytool使用Java 中的命令将其添加到密钥库中该文件应如下所示:
server.port = 8443
server.ssl.key-store = classpath:sample.jks
server.ssl.key-store-password = secret
server.ssl.key-password = password
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14599 次 |
| 最近记录: |