解决tomcat6.0.33 配置SSL时报“No Certificate file specified or invalid file format”异常

 在配置tomcat的SSL双向握手中,由于6.0.33版本中默认启用了APR(APR是通过JNI访问的可移植库,可以提高Tomcat的性能和伸缩性),所以采用传统的配置方式(如下)会报异常;

 

传统的SSL配置:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
		   maxThreads="150" scheme="https" secure="true"
		   clientAuth="true" sslProtocol="TLS"
		   keystoreFile="conf/keystore/test.jks" keystorePass="111111"
		   truststoreFile="conf/keystore/test.jks"   truststorePass="111111"

 

 

 

异常如下:

2011-10-27 9:26:03 org.apache.coyote.http11.Http11AprProtocol init
严重: Error initializing endpoint
java.lang.Exception: No Certificate file specified or invalid file format
	at org.apache.tomcat.jni.SSLContext.setCertificate(Native Method)
	at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:733)
	at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:107)
	at org.apache.catalina.connector.Connector.initialize(Connector.java:1022)
	at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011-10-27 9:26:03 org.apache.catalina.core.StandardService initialize
严重: Failed to initialize connector [Connector[HTTP/1.1-443]]
LifecycleException:  Protocol handler initialization failed: java.lang.Exception: No Certificate file specified or invalid file format
	at org.apache.catalina.connector.Connector.initialize(Connector.java:1024)
	at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

 解决办法是采用下面的配置:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
		   maxThreads="150" scheme="https" secure="true"
		   clientAuth="true" sslProtocol="TLS"
		   keystoreFile="conf/keystore/testpsira.jks" keystorePass="111111"
		   truststoreFile="conf/keystore/testpsira.jks"   truststorePass="111111"

其实就是将protocol="HTTP/1.1"替换为protocol="org.apache.coyote.http11.Http11Protocol",问题得以解决;

APR给Tomcat的性能提升起到很大作用,建议配置APR方式。

 

题外话:

如果辨别Tomcat是否采用APR:

启动Tomcat时,如果采用APR,日志中会有如下信息:

信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

 

如果没有采用APR,启动时则显示类似的信息:

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: ....后面省略

 

Tomcat6.0.33版本自动集成了APR,之前的版本没有集成,需要手工配置,网上搜索会有很多这方面的教程。

 

新版PB反编译 pbkiller2.5.18 pbkiller2.5.18 PB反编译 好像已经有新版本了 pbkiller2.5.18 PB反编译 (1 folders, 9 files, 4.43 MB, 4.89 MB in total.) kernel.dat 25.57 KB PBKiller.exe 2.23 MB vm117.dat 435.41 KB vm149.dat 466.08 KB vm169.dat 492.35 KB vm196.dat 509.56 KB vm82.dat 315.81 KB   undw (4 folders, 2 files, 1.36 KB, 474.70 KB in total.)   undw60 (0 folders, 6 files, 109.86 KB, 109.86 KB in total.) PBLibrary.dll 42.50 KB undw.exe 27.00 KB undw.pbd 16.00 KB undw.pbl 23.00 KB   undw70 (0 folders, 6 files, 113.36 KB, 113.36 KB in total.) PBLibrary.dll 42.50 KB undw.exe 29.50 KB undw.pbd 16.00 KB undw.pbl 24.00 KB   undw80 (0 folders, 9 files, 129.10 KB, 129.10 KB in total.) PBLibrary.dll 42.50 KB undw.exe 32.00 KB undw.pbd 16.00 KB undw.pbl 24.00 KB undw.pbt 98 bytes undw.pbw 92 bytes undw80.rar 13.06 KB   undw90 (0 folders, 8 files, 121.04 KB, 121.04 KB in total.) PBLibrary.dll 42.50 KB undw.exe 32.00 KB undw.pbd 17.00 KB undw.pbl 28.00 KB undw.pbt 98 bytes undw.pbw 92 bytes 立即下载

相关推荐

PBKiller V2.5.18

对于PB6.0-9.0的PBD、DLL、EXE文件可以较完整的反编译,生成的代码是一份完整的PB代码。

配置tomcat连接器后,启动服务报错“No Certificate file specified or invalid file format"异常...

1:原来的配置是 1 &lt;Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 2 maxThreads="150" scheme="https" secure="true" 3 clientAuth="false" ssl

weixin_33836223的博客 354

用PyTorch和snnTorch库5分钟搞定一个脉冲神经网络(SNN)手写数字识别Demo

本文详细介绍了如何使用PyTorch和snnTorch库快速搭建一个脉冲神经网络(SNN)手写数字识别Demo。通过模拟生物神经元的脉冲发放机制,SNN在低功耗场景中展现出独特优势。文章涵盖环境配置、数据预处理、模型构建、训练评估全流程,并提供了性能优化技巧和常见问题解决方案,帮助开发者在5分钟内实现高效的SNN应用。

weixin_29300931的博客 392

tomcat SSL配置异常-“No Certificate file specified or invalid file format”

参考自: http://wmljava.iteye.com/blog/1218722 http://www.cnblogs.com/GYoungBean/archive/2013/03/20/2971045.html

henryzhang2009的专栏 3828

机器学习中正则化项L1和L2的直观理解

正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1\ell_1-norm和ℓ2ℓ2\ell_2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。 L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做...

小平子的专栏 43万+

NACA0012的O型网格求解

本篇文章采用偏微分方程数值解法生成NACA0012翼型O型网格,并采用速度势方程求解绕NACA0012翼型迎角为0度时的低速不可压无粘流场。 文章目录一、求解网格1.翼型2.远场3.网格4.迭代5.求解二、求解流场1.偏微分方程2.迭代求解流场三、求解参数1.偏微分方程2.迭代求解四、导出数据 一、求解网格 1.翼型 本次求解网格和流场等采用的是NACA0012(修形)对称翼型,在NACA四位翼型中,第一位数字代表的是弯度,第二位数字代表的是弯度位置,后两位数字代表的是厚度,由于本次翼型的前两位数字都为0,

m0_50746433的博客 6677

java.lang.Exception: No Certificate file specified or invalid file format

1.完整错误信息 java.lang.Exception: No Certificate file specified or invalid file format at org.apache.tomcat.jni.SSLContext.setCertificate(Native Method) at org.apache.tomcat.util.net.AprEn...

Abracadabra__的博客 723

CODESYS V3.5 SP17编程环境全攻略:从安装到多语言编程实战

本文全面解析CODESYS V3.5 SP17编程环境,从安装配置到多语言编程实战技巧。详细介绍了运行时环境设置、六种IEC 61131-3语言的特性对比与混合编程策略,以及高级功能开发如自定义算法模块和实时通信配置。适合工业自动化工程师快速掌握这一强大工具。

weixin_30632089的博客 489

SpringBoot【问题 05】PostgreSQL数据库启用SSL后使用默认配置进行数据库连接(Navicat工具与Java程序)

PostgreSQL数据库启用SSL后使用默认配置进行数据库连接(Navicat工具与Java程序)

Java与大数据相关实践内容分享! 1915

【Zephyr存储专题】09_LittleFs文件系统操作

本文档旨在为开发者介绍Zephyr下Littlef's文件系统相关配置使用指南

zero的博客 3246

「JS逆向三百例」JS逆向HIKVISION-视频监控的前端密码加密

本文详细分析了HIKVISION-海康威视监控前端登录过程中密码的加密机制,通过逆向工程解析了其 JavaScript 加密逻辑,重点研究了HIKVISION-海康威视监控的前端密码SHA256加密算法的实现。基于逆向分析结果,使用 Python 模拟了HIKVISION-海康威视监控的登录流程,最终实现了自动化登录功能。本文旨在为安全研究人员提供技术参考,帮助理解前端加密机制,并强调技术研究的合法性和合规性。

布啦啦 1099

Could NOT find OpenSSL,没有root权限,在当前用户下安装openssl

前景提要: 执行 cmake报错: Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) 情景一:有root权限 Ubuntu 18.04 测试可解决。 sudo apt-get install libssl-dev 情景二:没有root权

MumuziD的博客 3396

vue2/3 - 【超详细】最新网站接入使用支付宝支付功能,点击支付跳转新页面后生成订单及支付二维码,实现支付宝在线付款详细的教程(整个支付的完整配置及支付流程,一键复制源码开箱即用)!

vue支付宝付款,vue支付宝支付,vue如何实现支付宝在线付款,vue网页pc项目接入支付宝支付,vue支付宝支付详细教程,vue2支付宝在线支付的详细示例代码,vue如何做支付宝付款,vue怎么实现支付宝的付款功能,vue调用支付宝进行付款支付,vue PC项目实现 支付宝支付,vue h5页面调用支付宝支付,vue页面唤起支付宝支付功能,vue支付宝支付跳转到新页面,vue如何跳转新开一页展示支付宝二维码支付,vue怎么新开页面进行支付宝在线支付,vue新页面支付宝支付功能,前端vue支付宝支付教程,

✅ 精选推荐文章 5729

tomcat配置https启动出现"No Certificate file specified or invalid file format"异常

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:/Tomcat6/server.keystore"

hfsu0419的专栏 8974

案例:无人船测量点位数据+ArcGIS 10.6软件生成三维水下地形的两种方法

通常情况下,采用无人船进行水下地形测量,得到的是离散的,具有点号、日期、时间、东坐标(E)、北坐标(N)、水面高程、水下高程和水深等信息的点位数据,该数据一般由航带点位数据加水岸线组成,如下图所示: 原始点位数据格式如下: 下面讲解在ArcGIS软件中生成三维水下地形的两种常用方法。 一、构建不规则三角网(Tin) 1、创建Tin 生成的Tin: 2、Tin转栅格 Tin to Raster: 三维展示: 二、空间插值 栅格插值常用的方法有:克里...

智慧空间实验室 6750

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Cas使用问题汇总

1、使用Cas必须使用SSL协议,因此需要使用到证书,并且使用Tomcat做服务器时需要在conf/server.xml中放开8443端口的connector节点。 即: [code="java"][/code] 配置证书路径和密码后其中一台机器就可以正常启动tomcat(版本为6.0.14)了,但是另外一台tomcat(版本为6.0.37)报“No Certificate file sp...

chengbowen00的专栏 437

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

powerbuilder防止反编译: pbkiller无法解析的部分公布

powerbuilder防止反编译: pbkiller无法解析longlong类型而且错得一塌糊涂pbkiller2.5.18无法解析longlong类型,一旦你申明longlong类型无法反编译出类型,值也不对,因为longlong采用类似指针的方式存放值。只要在代码中如此写:int aaa =100long bbb = 1000longlong ccc = 20000b

chengg0769 平淡无奇见真知 独立博客: http://blog.mis2erp.com 6765

ERDAS IMAGINE 2022安装报错Invalid file format.解决办法

ERDAS2022报错Invalid file format.解决办法

cubesir的专栏 3592
上一篇: linux通过端口关闭jetty
下一篇: 解决java获取系统时间差8个小时
wmljava82278040
博客等级 码龄19年 1粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值