"No subject alternative names present" solved

这个异常有可能是SAN (Subject alternative name) 与CN (Common Name)没设置好引起。

网上翻阅了许多资料,下面记录一下解决的方法。

1. 拿着Server 给的server.jks EXPORT对应的CER 然后generate 自己CLIENT SIDE 的JKS. (用的是JAVA8)

keytool -genkeypair -alias testingkey2 -keyalg RSA -validity 365 -keystore server.jks -ext SAN=dns:localhost,ip:127.0.0.1
keytool -list -v -keystore server.jks
keytool -export -alias testingkey2 -keystore server.jks -rfc -file testing.cer
keytool -import -alias testingkey2 -file testing.cer -keystore client.jks
keytool -list -v -keystore client.jks


2. 在JAVA代码中或者startup batch中输入下面的代码,用来读取相对应的KEY。.

  1. java -Djavax.net.ssl.trustStore=Client.jks -Djavax.net.ssl.trustStorePassword=password  

  1. Properties systemProps = System.getProperties();  
  2. systemProps.put( "javax.net.ssl.trustStore""Client.jks");  
  3. systemProps.put( "javax.net.ssl.trustStorePassword""password");  
  4. System.setProperties(systemProps);  


以上是常规方法。

还有另一种方法就是用X509TrustManager 来实现,具体可以查考下面链接:
http://www.cnblogs.com/devinzhang/archive/2012/02/28/2371631.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值