- 浏览: 126114 次
- 性别:
- 来自: 吉林
文章分类
- 全部博客 (118)
- oracle数据库 (5)
- Web前端 (3)
- java后台 (6)
- Java虚拟机 (3)
- 大数据 (1)
- Java (27)
- 微信公众号 (1)
- ssh框架 (2)
- Java,eclipse (1)
- Hibernate (4)
- SSH (4)
- asp.net (1)
- XML,JSON (1)
- junit (1)
- SpringMVC (2)
- XML (2)
- JSON (2)
- HTTP AJAX POST请求 (2)
- request payload (1)
- form data (1)
- Content Type (1)
- Spring RESTful (1)
- RESTful (2)
- Git (2)
- 企业软件版本管理工具 (1)
- HIVE,HADOOP (1)
- Hadoop (1)
- Dobbo (1)
- 缓存(cache) (1)
- 服务器端,客户端 (1)
- Cookie (1)
- Session (1)
- MySQL索引 (1)
- 乐观锁,悲观锁 (1)
- 电子商务 (1)
- 面试部分 (1)
- 分布式事务处理 (1)
- java详解 (1)
- commons (1)
- NoClassDefFoundErrorLogFactory (1)
- Spring (1)
- tomcat (3)
- Ubuntu (1)
- 虚拟机 (1)
- Intel Virtual Technology (1)
- SVN (4)
- Taglib (5)
- java unsigned类型 (1)
- fmt (1)
- HMAC (1)
- linux (13)
- mysql (2)
- FTP (4)
- Maven (5)
- spring boot (6)
- myeclipse (1)
- web (1)
- Https (2)
- ssl (3)
- crt (1)
- cer (1)
- byte (1)
- 字符占字节 (1)
- 限制IP远程登录 (1)
- 禁止某些 IP 访问 (1)
- iptables (1)
- linux私钥登陆 (1)
- windows (1)
- openSSH (2)
- 大牛博客地址 (1)
- Maven常见异常 (1)
- shell命令 (1)
- WebWork2,Spring MVC (1)
- LinuxSS (0)
- Bitvise SSH Client (1)
- -bash-4.1$ (1)
- Centos7 (1)
- MQTT (5)
- Mosquitto (3)
- Mosquittos (0)
- HAProxy (1)
- 集群 (0)
- 负载均衡 (1)
- moqutte (1)
- 多线程 (1)
- Queue (1)
- BlockingQueue (1)
- ConcurrentLinkedQueue (1)
- erlang (1)
- jersey (1)
最新评论
一.注意事项
域名和服务器IP是一对一绑定的,所以对于一般域名只能对应一个证书,但如果你想把已经购买的并且已经安装在服务器的证书,在其它服务器上再次使用安装证书,前提是购买的域名证书是以通配符(*)开头的域名(例如:*.yyy.12345.com),则可以再多个服务器上安装证书,其它可以安装的服务器域名(可以是test.yyy.12345.com,demo.yyy.12345.com等)。
二.安装证书
1.首先需要安装OpenSSL的开源软件包,OpenSSL可以下cmd命令上下,进行证书相关的操作!貌似很强大!
2.在服务上用openssl生成公钥和私钥
openssl req -new -key myPrivateKey.key -out server.csr
myPrivateKey.key自己保存,server.csr提交给代理商(证书颁发机构)进行签名,证书颁发机构签名完成后会给出 yourDomain.crt文件(需要注意的是证书颁发机构会返回不止一个crt文件,刚开始研究这SSL的时候总以为都是有用的,但后来发现,其实里面的内容都是一样的!具体我也没完全搞明白)
3.或是你已经有购买的证书,已经有 crt证书和.key文件 或其它格式证书(已经有要能得到crt文件或其它格式的证书文件即可,理论上可以去证书颁发机构官网再去重新下载一份)。
4.之前我不太理解为什么会有这么多格式(crt,cer,pem,p12等),其实貌似他们之间是可以互相转换的.你的项目需要用到哪些格式的证书文件,你就进行转换就可以了(具体怎么转,我也是临时去网上查)!
由于我们是在Java环境中,常用的证书形式有p12格式的,jks格式的,所以需要将crt证书进行格式转换,以转换为p12格式为例:
openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12
输入完命令后回车会出现提示输入一个密码,密码非常重要,一定要记住,后面会用到!
这样就生成了spring boot上可以用的私钥格式文件 server.p12
在这个转换的过程中要求设置一个密码,请记住这个密码
然后是给spring boot配置 server.p12证书
首先进入cmd用命令查询一下别名
keytool -list -keystore server.p12
运行该命令会提示你输入密码,就是上面转换格式时提示设置的密码,输入密码后会显示:
秘钥库类型: JKS
秘钥库提供方:SUN
您的密钥库包含 1 个条目
1, 2017-1-7, PrivateKeyEntry
证书指纹 (SHA1) : 《这里是密文》
注意其中这个1这是我们运行这个命令的目的,这个1会在spring配置文件中也会用到
把证书server.p12文件复制到spring boot项目中的 src/main/resources/ 目录下,和application.properties平级,主要得放到classpath目录下,方便查找.
在application.properties中添加如下内容(如果是多数据源,就在相应的数据源下添加)
server.port=8443(要使用的端口号,只要不要和服务器上的其它端口号重复就可以)
server.ssl.key-store:classpath:server.p12(证书存放路径,就是src/main/resources/ 目录下,既classpath目录下,所以前面加上classpath:)
server.ssl.key-store-password: 密码(就是上面之前设置的密码)
server.ssl.keyStoreType: PKCS12(证书格式,PKCS12格式就是指 p12文件,)
server.ssl.keyAlias: 1(这个是别名,是之前查用领查询出的别名1,貌似大部分情况私有秘钥privateKey都是1,)
三.总结
直接在springboot里面配置是为了应对简单的服务,真正的系统会在nginx上配置证书。
域名和服务器IP是一对一绑定的,所以对于一般域名只能对应一个证书,但如果你想把已经购买的并且已经安装在服务器的证书,在其它服务器上再次使用安装证书,前提是购买的域名证书是以通配符(*)开头的域名(例如:*.yyy.12345.com),则可以再多个服务器上安装证书,其它可以安装的服务器域名(可以是test.yyy.12345.com,demo.yyy.12345.com等)。
二.安装证书
1.首先需要安装OpenSSL的开源软件包,OpenSSL可以下cmd命令上下,进行证书相关的操作!貌似很强大!
2.在服务上用openssl生成公钥和私钥
openssl req -new -key myPrivateKey.key -out server.csr
myPrivateKey.key自己保存,server.csr提交给代理商(证书颁发机构)进行签名,证书颁发机构签名完成后会给出 yourDomain.crt文件(需要注意的是证书颁发机构会返回不止一个crt文件,刚开始研究这SSL的时候总以为都是有用的,但后来发现,其实里面的内容都是一样的!具体我也没完全搞明白)
3.或是你已经有购买的证书,已经有 crt证书和.key文件 或其它格式证书(已经有要能得到crt文件或其它格式的证书文件即可,理论上可以去证书颁发机构官网再去重新下载一份)。
4.之前我不太理解为什么会有这么多格式(crt,cer,pem,p12等),其实貌似他们之间是可以互相转换的.你的项目需要用到哪些格式的证书文件,你就进行转换就可以了(具体怎么转,我也是临时去网上查)!
由于我们是在Java环境中,常用的证书形式有p12格式的,jks格式的,所以需要将crt证书进行格式转换,以转换为p12格式为例:
openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12
输入完命令后回车会出现提示输入一个密码,密码非常重要,一定要记住,后面会用到!
这样就生成了spring boot上可以用的私钥格式文件 server.p12
在这个转换的过程中要求设置一个密码,请记住这个密码
然后是给spring boot配置 server.p12证书
首先进入cmd用命令查询一下别名
keytool -list -keystore server.p12
运行该命令会提示你输入密码,就是上面转换格式时提示设置的密码,输入密码后会显示:
秘钥库类型: JKS
秘钥库提供方:SUN
您的密钥库包含 1 个条目
1, 2017-1-7, PrivateKeyEntry
证书指纹 (SHA1) : 《这里是密文》
注意其中这个1这是我们运行这个命令的目的,这个1会在spring配置文件中也会用到
把证书server.p12文件复制到spring boot项目中的 src/main/resources/ 目录下,和application.properties平级,主要得放到classpath目录下,方便查找.
在application.properties中添加如下内容(如果是多数据源,就在相应的数据源下添加)
server.port=8443(要使用的端口号,只要不要和服务器上的其它端口号重复就可以)
server.ssl.key-store:classpath:server.p12(证书存放路径,就是src/main/resources/ 目录下,既classpath目录下,所以前面加上classpath:)
server.ssl.key-store-password: 密码(就是上面之前设置的密码)
server.ssl.keyStoreType: PKCS12(证书格式,PKCS12格式就是指 p12文件,)
server.ssl.keyAlias: 1(这个是别名,是之前查用领查询出的别名1,貌似大部分情况私有秘钥privateKey都是1,)
三.总结
直接在springboot里面配置是为了应对简单的服务,真正的系统会在nginx上配置证书。
发表评论
-
spring boot 属性
2017-07-26 11:01 415http://www.cnblogs.com/softidea ... -
spring boot相关问题
2017-07-07 10:25 465http://blog.csdn.net/column/det ... -
godaddy的SSL证书tomcat安装
2017-04-06 11:57 0在 Tomcat 4.x/5.x/6.x/7.x 中生成和安装 ... -
电子证书 DER vs. CRT vs. CER vs. PEM
2017-04-05 16:05 1468一直对电子证书的文件 ... -
Spring Boot 配置Https协议
2017-03-31 17:16 1503是用SpringBoot开发项目要求用HTTPS协议进行访问, ... -
将spring boot应用注册为Unix/Linux系统服务
2017-03-20 15:57 563运行Spring Boot应用可以用java -jar的方式, ... -
Linux下 启动sh文件 运行spring boot
2017-03-20 15:01 6595仅为 自己工作中的笔记 1.chmod 空格"+ ...
相关推荐
主要介绍了spring boot配置ssl实现HTTPS的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本篇文章主要介绍了详解spring boot配置 ssl,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
介绍此示例演示了 Spring Boot SSL 配置的问题版本v1.0:这是原始的。 此处不编译,因为需要原始目录。
Spring Boot模块旨在缓解使用自动证书管理环境(ACME)协议生成有效SSL证书的麻烦。 该项目取决于库。 依存关系 该模块取决于在PATH上具有openssl来将证书转换为PKCS12格式。 Maven <groupId>...
CXF实现SSL安全验证,实现https的WebService
Over 35 recipes to help you build, test, and run Spring applications using Spring Boot About This Book Learn to create different types of Spring Boot applications, configure behavior, and add custom ...
Spring Boot Documentation 1. About the Documentation 2. Getting Help 3. First Steps 4. Working with Spring Boot 5. Learning about Spring Boot Features 6. Moving to Production 7. Advanced Topics II. ...
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
本项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, 不同 HTTP Mehtod 的权限控制, 适用于更多的场景. 预览地址: http://ewt.186g.cn ...
如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议,需要的朋友可以参考下
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
为API设置安全性的教程,使用单向认证与TLSSSL和基于java的web服务器和具有Spring Boot的客户端进
采用springboot的基于Netty的SSL加密PKI认证通信,里面模拟了Netty的客户端和服务端的证书认证规则,同时分为单向认证和双向认证,信任证书链并对RA颁发的证书来进行验签,实现了双向和单向加密通信,保障了数据的...
NULL 博文链接:https://forgidaved.iteye.com/blog/2142587
Spring Boot启动器Alexa 该插件支持使用Amazon Alexa创建Spring Boot Web服务。 这样,您无需使用AWS即可通过HTTPS终端创建技能。 (您仍然需要使用自己的证书。)设置非常简单。 设置 在您的application....
Spring Boot插件配置 vii. 59.7. Repackage配置 viii. 59.8. 使用Gradle自定义配置进行Repackage i. 59.8.1. 配置选项 Spring Boot参考指南 6 ix. 59.9. 理解Gradle插件是如何工作的 iii. 60. 对其他构建系统的支持...
Spring Boot项目-全栈 ...Spring Security,SSL,表单,https,JWT 数据库 JPA-Hibernate,H2,MySQL,Oracle,MangoDB,Postgresql API文档 Swagger API +(集线器) 客户建立 npm,纱线,卷装
Java SpringBoot 项目跳过 ssl 证书认证文件
入门请参阅 Qt 云服务的托管应用程序运行时入门有关此示例的详细信息配置文件部署后,Qt 云服务 MAR 容器提供了一个环境变量$PORT,针对该变量,到达 Qt 云服务负载均衡器 SSL 端口的 HTTPS 请求会在内部转发。...