1.生成证书
keytool -genkey -alias emily -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore D:\emily.p12 -deststoretype pkcs12 -storepass 123456
2.将emily.p12证书放到项目resources目录下,在yml配置文件中添加配置
server:port: 443# 优雅停机shutdown: gracefulssl:# 是否启用SSL支持enabled: true# 标识秘钥存储中秘钥的别名key-alias: emily# 访问秘钥存储的密码key-store-password: 123456# 指定保存SSL证书的秘钥存储的路径(通常是jks文件)key-store: classpath:emily.p12# 秘钥存储的类型key-store-type: PKCS12# 要使用的SSL协议protocol: TLS
3.上述配置好之后按理启动服务就可以开启https能力,但是不幸报错了
Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big.at sun.security.util.DerInputStream.getLength(DerInputStream.java:599) ~[na:1.8.0_181]at sun.security.util.DerValue.init(DerValue.java:391) ~[na:1.8.0_181]at sun.security.util.DerValue.<init>(DerValue.java:332) ~[na:1.8.0_181]at sun.security.util.DerValue.<init>(DerValue.java:345) ~[na:1.8.0_181]at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1938) ~[na:1.8.0_181]at java.security.KeyStore.load(KeyStore.java:1445) ~[na:1.8.0_181]at org.springframework.boot.web.embedded.netty.SslServerCustomizer.loadStore(SslServerCustomizer.java:173) ~[spring-boot-2.4.1.jar:2.4.1]... 21 common frames omitted

看到上面的错误有点懵逼,秘钥生成的没问题的,之前已经测试过了,然后就开始度娘,最后添加一个maven插件解决;

            <plugin><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version><configuration><encoding>utf-8</encoding><!-- 解决Spring boot引起的profile失效问题 --><useDefaultDelimiters>true</useDefaultDelimiters><!-- 过滤后缀为p12、pem、pfx的证书文件 --><nonFilteredFileExtensions><nonFilteredFileExtension>p12</nonFilteredFileExtension><nonFilteredFileExtension>cer</nonFilteredFileExtension><nonFilteredFileExtension>pem</nonFilteredFileExtension><nonFilteredFileExtension>pfx</nonFilteredFileExtension><nonFilteredFileExtension>jkx</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin>

这个插件的作用是在maven编译打包项目的时候忽略指定后缀的文件,秘钥如果不忽略就会被编译,编译后就会出问题;

GitHub地址:https://github.com/mingyang66/EmilyGateway

springboot2.4开启HTTPS功能报DerInputStream.getLength(): lengthTag=111, too big异常相关推荐

  1. java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big解决方法

    1:报错如下 Exception in thread "main" java.io.IOException: DerInputStream.getLength(): lengthT ...

  2. nginx开启https功能

    http:80 https:443 下边这种协议比http要安全,因为数据传输是经过加密的 当访问http://www.baidu.com的时候,访问的url会跳转到https://www.baidu ...

  3. 实现nginx的https 功能报错:

    1.报错 1.1 看到这个报错都知道啥意思: 网上查询有说需要换证书的,但是这是我自己建的私有CA,重新创建几次也没有报错 [root@centos8 /apps/nginx]#nginx -t ng ...

  4. java getiotype_坑爹微信之读取PKCS12流时出现的java.io.IOException: DerInputStream.getLength...

    背景 微信退款接口需要使用到证书,我参考微信的官方Demo进行,部分代码如下: char[] password = config.getMchID().toCharArray(); InputStre ...

  5. htpp-server开启https服务终端报错问题

    htpp-server开启https服务 问题:powershell输入openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyou ...

  6. WordPress整站轻松开启HTTPS

    近两年来HTTPS取代HTTP已经成为大势所趋.早在2014年google Chromium安全团队提议将所有的HTTP协议网站标注为不安全.现在,Chrome浏览器已经开始执行这一标准了.从 Chr ...

  7. 使用acmesh免费开启https(详细概念介绍与操作步骤记录)

    前言 记录一次使用acme.sh免费开启https的过程,前半部分列举一些用到的概念,后半部分记录具体操作步骤.文章已调整好线性阅读顺序,按顺序阅读即可.流程中涉及的概念会尽量进行讲解,以减少阅读此篇 ...

  8. nginx开启https配置

    最近再做小程序项目上线官方强制要求使用https,这里记录一下nginx下https的部署使用:如果有钱的话可以购买证书这里使用的是免费的 什么是https参考:https://jingyan.bai ...

  9. licode pre-v7.3开启屏幕共享功能

    由于工作需要,所以开始研究licode的共享屏幕功能,但在简单修改代码后,并没有成功开启屏幕共享功能.于是潜心Google+度娘,虽然最终结果只在firefox 69版本中开启了屏幕共享功能(chro ...

最新文章

  1. MWC2018:阿里云发布8款云计算AI产品,中国科技已领先世界一步
  2. java tomcat 时间不对解决办法
  3. SpringBoot整合异步任务实现发送邮件
  4. ARUBA与蓝海无线PORTAL对接配置
  5. Android DDMS如何使用?
  6. equipment download和CRM 的change history
  7. 学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务
  8. js将中文转换成编码 java解析_JS实现的汉字与Unicode码相互转化功能分析
  9. 360 n6 linux内核版本,五年26个版本:Linux系统内核全程回顾
  10. sysvol共享没有出现的处理办法!
  11. Long-Short Memory Network(LSTM长短期记忆网络)
  12. Python写的一个文件生成器脚本
  13. 服务器驱动硬盘故障修复,如何修复崩溃的硬盘驱动器
  14. android极光推送问题,极光推送- 常见问题 - 极光文档
  15. 研发团队管理实践总结
  16. 人生的思考——温水中被煮熟的程序员
  17. Java 中的 Clone()
  18. 如何正确获得Android内外SD卡路径
  19. Echarts 柱状图渐变色设置
  20. 扫描格式的pdf文件怎样进行识别

热门文章

  1. 计算机名中文无法开机,处理win10电脑开机输入法中英文不能切换的图文
  2. 深度:一文看懂Linux内核,Linux内核架构和工作原理详解
  3. 用php代码实现逻辑不通的文章生成器
  4. 游戏音效分类以及运用场景
  5. r语言 C4.5 剪枝是用什么算法_推荐收藏 | 决策树,逻辑回归,PCA算法面经
  6. 什么是readout function/readout函数
  7. 微信在线填表小程序开发制作
  8. Buddy 内存管理机制(下)
  9. countly 处理用户行为数据方案
  10. eclipse创建servlet,filter产生classnotfound错误