安装ssl证书后报错Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

2023-11-15

刚刚安装完ssl证书后,报错:

org.apache.catalina.LifecycleException: Protocol handler start failed

        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) [tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:263) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:195) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:296) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) [spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]

        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202) [spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]

        at cn.lxsir.uniapp.UniappApiApplication.main(UniappApiApplication.java:14) [classes/:na]

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]

        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]

        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.1.6.RELEASE.jar:2.1.6.RELEASE]

Caused by: java.lang.IllegalArgumentException: DerInputStream.getLength(): lengthTag=109, too big.

        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:99) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:218) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1210) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:585) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        ... 19 common frames omitted

Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

        at sun.security.util.DerInputStream.getLength(DerInputStream.java:599) ~[na:1.8.0_151]

        at sun.security.util.DerValue.init(DerValue.java:391) ~[na:1.8.0_151]

        at sun.security.util.DerValue.<init>(DerValue.java:332) ~[na:1.8.0_151]

        at sun.security.util.DerValue.<init>(DerValue.java:345) ~[na:1.8.0_151]

        at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1938) ~[na:1.8.0_151]

        at java.security.KeyStore.load(KeyStore.java:1445) ~[na:1.8.0_151]

        at org.apache.tomcat.util.security.KeyStoreUtil.load(KeyStoreUtil.java:69) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:217) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:206) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:280) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:247) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:97) ~[tomcat-embed-core-9.0.21.jar:9.0.21]

        ... 25 common frames omitted

然后根据网上的很多教程,我看了一下,原来是ssl证书(我用的是腾讯云的证书)的格式类型不对

错误示范:

application.yml的配置:

解决问题办法:

把PKCS12改成JKS,如下

总结一下原因:

一般证书有JKS和PKCS12两种格式(其实还有很多种,我今天只遇到两种,你们自己可以查下)

PFXPredecessor of PKCS#12,这种格式是二进制格式,且证书和私钥存在一个 PFX 文件中。一般用于 Windows 上的 IIS 服务器。改格式的文件一般会有一个密码用于保证私钥的安全。

像下面这种ssl文件(例子:阿里云下载的证书),它的key-store-type:PKCS12

JKSJava Key Storage,很容易知道这是 JAVA 的专属格式,利用 JAVA 的一个叫 keytool的工具可以进行格式转换。一般用于 Tomcat 服务器。

后缀名是jks的(例子:腾讯云下载的),它的key-store-type:JKS

你是技术宅么?那就加入我们吧~本博主不一定长期在线,可以进群大家一起解决问题~

商务合作@群主,谢谢!

欢迎加入 CSDN技术交流群 一起学习交流~

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装ssl证书后报错Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big. 的相关文章

  • R语言快速学习第一部分(有其他语言基础)

    文章目录 注意事项 1 输出内容 输出到控制台 输出到文件 2 数字运算符 数字运算符 赋值 3 流程控制 if 判断语句 switch 判断语句 循环语句 4 函数 注意事项 R 语言区分大小写 使用的是 TRUE 与 FALSE 而不是
  • 2023最新版本Activiti7系列-流程中的任务

    流程中的任务 1 用户任务 用户任务 用于定义流程中需要人工参与的任务 用户任务可以在流程中创建并分配给特定的用户或用户组 当流程执行到用户任务时 流程将暂停 并等待相应的用户完成该任务 完成用户任务后 流程将继续执行 用户任务可以有以下属
  • 三菱MR-JE-C伺服电机FB功能块 流水线项目,16个MR-JE-C电机

    三菱MR JE C伺服电机FB功能块 适用Q系列PLC 流水线项目 16个MR JE C电机 为了加快编程速度 特意做的一个FB功能块 内部采用局部变量 全局缓冲区的方式进行编程 多次调用不冲突 适用于Q系列PLC和MR JE C的运动控制
  • 模块基础知识总结

    文章目录 1 模块 2 模块的创建 模块的使用 1 模块 模块化指将一个完整的程序分解成一个个的小模块 通过将模块组合 来搭建出一个完整的程序 模块化的有点 方便开发 方便维护 模块可以复用 2 模块的创建 在Python当中一个py文件就
  • spring boot中修改默认json转换器的部分特性,以及如何替换默认json转换器

    用Spring boot构建微服务时 后台接收controller通常用 RestController注解 Restcontroller是 Controller和 ResponseBody的结合体 会将后台返回的Java对象转换为Json字
  • Linux面试题

    1 解释下什么是GPL GNU 自由软件 GPL 通用公共许可证 一种授权 任何人有权取得 修改 重新发布自由软件的权力 GNU 革奴计划 目标是创建一套完全自由 开放的的操作系统 自由软件 是一种可以不受限制地自由使用 复制 研究 修改和
  • matlab elmtrain,ELM代码matlab

    Elmtrain m 训练代码 function IW B LW TF TYPE elmtrain P T N TF TYPE ELMTRAIN Create and Train a Extreme Learning Machine Syn
  • 电脑如何快速截屏技巧 四种常见的电脑截图方法

    经常使用电脑的朋友肯定会经常用到截屏这一功能 那么怎样快速的将电脑桌面上的信息通过截屏保存下来呢 其实截屏的方法有很多种 小编在这里与大家一起分享下四种常见的电脑截图方法 一 Windows系统自带的截图工具 一般的Windows系统都自带
  • git初识

    目录 简介 基本操作 常用命令 简介 Git是一种分布式版本控制系统 用于跟踪文件的更改并协调多个人之间的工作 它最初由Linus Torvalds于2005年创建 现在已成为许多开源和商业项目的首选版本控制系统 Git的主要特点包括分支和
  • Bringing HLSL Ray Tracing to Vulkan

    This post was revised March 2020 to reflect newly added support in DXC for targeting the SPV KHR ray tracing multi vendo
  • Mybatis的逆向工程详解

    今天用mybatis的逆向工程生成mapper xml文件的时候 由于用到的第三方可视化数据库工具的不支持 里面生成的xml文件中缺少了对主键的操作 于是上网查了别人的工程 对照了一下自己把mapper xml补齐了 下面贴出网上别人写得好
  • Transport Client 与 Node Client 官网谈差别

    通过使用elasticsearch 5 x版本 由于是追着潮流 所以遇到了很多疑惑和坑 接下来我们来看一下我一开始用5 x出现两个client 时关于两者区别的疑惑 Transport Client 与 Node Client 如果你使用的

随机推荐

  • 单列集合系列之Set集合的初了解

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于单列集合的相关操作吧 目录 Welcome Huihui s Code World 顶级接口Collection 概念 方法 共性通用 一 Set集合的特点
  • [附源码]JSP+ssm计算机毕业设计彩虹社区残障人士管理信息系统的设计与实现ed5nd【源码、数据库、LW、部署】

    项目运行 项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEcl
  • Vue源码之AST抽象语法树

    Vue源码之AST抽象语法树 AST抽象语法树全称Abstract Sybtax Tree 简称就是AST 其作用就是Vue在解析模板时 会把模板编译成抽象语法树 在进行diff最小量更新算法等 AST抽象语法树是Vue渲染引擎的第一道工序
  • 写给小白的android 事件分发机制

    介绍 当我们手指在屏幕上进行操作时 系统根据我们的操作进行反应 系统为了更好的记录我们的操作 将我们的手指的所有操作分为三类操作 统一封装在MotionEvent类中 把大象装进冰箱只要三部 1 打开冰箱 2 把大象扔进去 3 关闭冰箱 操
  • Windows7之天镜漏洞扫描工具安装

    01 天镜漏洞扫描工具安装 01 安装天镜 02 升级漏洞 03 重启win7 多次重复升级过程 1次可能没办法成功 04 成功之后查看版本
  • Java8 Stream Lambda sorted()之正序倒序

    下面代码以自然序排序一个list list stream sorted 自然序逆序元素 使用Comparator 提供的reverseOrder 方法 list stream sorted Comparator reverseOrder 使
  • 解决zipfile压缩的文件路径太深,直接调用即可

    import os import zipfile import shutil def zipDir dirpath outdir 把路径中最后一个文件夹的名字取出来作为雅苏报的名字 zip path dirpath split 1 prin
  • unix命令

    一 查看机器上是否还有java线程 ps ef grep java 二 查看和清理机器文件 1 查看机器磁盘总空间以及剩余空间大小 root localhost df h 2 查看当前目录使用的总空间大小 root localhost ho
  • 入职1024天,写于万般困顿之时

    最近攻关一个项目到杭州出差 预计还要十多天才能回去 每天在小黑屋里加班到很晚 外加大领导很凶 双重压力之下累的喘不上来气 猛然发现自己已经入职整整1024天了 照照镜子也没入职前那么意气风发了 今天还是太晚了 明天还要早起 留个档占个位置
  • Python---正则表达式

    专栏 python 个人主页 HaiFan 专栏简介 Python在学 希望能够得到各位的支持 正则表达式 前言 概念 作用和特点 使用场景 正则符号 re模块 re compile match search span findall gr
  • Python中pip安装与使用

    一 Pip的安装方法 1 在Windows中的安装方法 操作环境 Windows10 Python3 7 其实你在安装python的时候 pip就随同一起安装了 一般情况下 可以直接使用 如果不能使用 基本上就是没有添加环境变量而已 添加下
  • 性能监控诊断,cpu,I/O,内存,网络诊断

    1 内存 cpu 网络 磁盘 2 当系统出现问题时 我们需要从应用程序 操作系统 服务器设备 网络环节系统资源等多方面综合排查 定位分析问题 然后集中解决问题 3 响应时间 服务器响应时间 网络时间 4 总体来说 系统提供了比较多的有用信息
  • 【Mysql】日期、行变列(IF、CASE WHEN THEN)语句总结

    获取昨天的日期 日期相减函数 datediff select datediff curdate INTERVAL 1 DAY 删除Person表中重复的Email数据 只保留id最小的一条 delete p1 from Person p1
  • mock方法常用框架_Mock框架Mockito入门教程

    在开发中 我们经常会依赖同事或者第三方提供的接口 如果该接口无法正常工作 比如接口正在修复 或者网络异常等 那么便会对需要依赖该接口的开发造成很大影响 遇到这种情况 我们可能会想到模拟该接口以提供正常的返回值 用来继续当前的工作 使用Moc
  • Qt信号槽进阶及误区

    lambda写法 Qt 中信号槽lambda表达式优缺点 好处 代码更加紧凑 不用特意费力去定义一个常规的函数 坏处 一旦写的过长 臃肿 代码可读性会变差 C 中lambda表达式构成 capture parameters mutable
  • 数据模型及E-R模型

    数据模型的基本概念 模型就是对现实世界特征的模拟和抽象 数据模型是对现实世界数据特征的抽象 对于具体的模型人们并不陌生 如航模飞机 地图和建筑设计沙盘等都是具体的模型 最常用的数据模型分为概念数据模型和基本数据模型 1 概念数据模型 概念数
  • 不拼花哨,只拼实用:unittest指南,干货为王!

    Python为开发者提供了内置的单元测试框架 unittest 它是一种强大的工具 能够有效地编写和执行单元测试 unittest 提供了完整的测试结构 支持自动化测试的执行 能够对测试用例进行组织 并且提供了丰富的断言方法 最终 unit
  • 网络编程基础

    目录 一 网络的概念 1 认识网络 2 网络的发展 二 协议 1 网络问题的产生 2 什么是协议 3 网络协议 三 协议分层 1 协议分层的概念 2 OSI七层模型 3 TCP IP四层 五层 模型 1 物理层 2 数据链路层 网卡层 3
  • 宝塔面板获取默认账号密码

    bt default
  • 安装ssl证书后报错Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

    刚刚安装完ssl证书后 报错 org apache catalina LifecycleException Protocol handler start failed at org apache catalina connector Con