要什么鬼昵称 2016-11-08 07:45 采纳率: 100%
浏览 1972
已采纳

openssl配置tomcat8.5的双向认证的问题

openssl方面根证书等全部建好,并且在IIS上可以顺利实现双向认证,现在我想将这一套证书运用到tomcat上,单项认证很轻松就搞定了,但是到了双向认证就掉入了无底坑,在网上搜了各种方法,都一一实践不止3次,但没有一次能够通过,在这里向大神们请教一下。
先介绍一下我的环境:
tomcat8.5.5
openssl1.0.2j
JDK8.0_73;

就拿http://szlxh002.iteye.com/blog/2277307上面的做法做一遍,那么就会报java.lang.Exception: cannot create new ssl的错误。

之后我又用keytool实现了一遍,幸好keytool的证书可以完成双向认证,让我工作上勉强可以应付过去,但我自己将openssl生成的server.p12装换为.keystore格式后,再放到tomcat中时,上面的错又出现了,我不死心,又去看了一遍官方的说明文档,根据官方的说明问道再配置一番之后,上面的错误不报了,除了新错误,java.lang.IllegalArgumentException:java.io.IOException:DerInpurtStream.getLength():lengthTag=109,too big.

也就是说我传入的参数超长了,网上说我的私钥超长了,可是我对比了一下keytool生成可以用的.keystore文件,它的私钥也是2048和我.p12的一样长,这就让我很不明白了,看看诸位能不能帮我看看问题出在哪里。拜谢

  • 写回答

2条回答 默认 最新

  • 要什么鬼昵称 2016-11-08 08:49
    关注

    额,每次都这样,提问没多久自己就搞通了,郁闷也开心,解决方法很简单,如同我参照官网的配置文件,我在重新生成的一遍后,发现错误提示变了,变成初始化SLL context 失败(之前是因为对同一套证书做了太多不同方式的操作导致证书已经有些损坏或者本就不是一套了,这里记个教训,不要把证书名都起一样。。。)。
    然后我就找出现这个错误的原因,看到一个前辈的博文里写道,在Windows环境下,服务端.keystore的alias 也就是别名一定要是tomcat,否则就会报错,我马上试了一些,结果就通了。麻蛋,这是什么鬼,Windows这么被鄙视。。。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!