iDempiete10 KeyStore 添加SubjectAlternativeNames扩展

先上效果图:

165b2dfdeaf3421b952277992bbb3ce3.png添加证书后,https访问未出现红色的不安全字样 

10版本在生成keystore文件的方式,变换还是挺大的,记得4-8版本(9版本没搞过),keystore的文件生成方式都是采用keytool的方式进行生成,那时候添加扩展直接在命令行后面添加添加 -ext san=IP:127.0.0.1,DNS:localshot即可,今天第一次看到JcaX509v3CertificateBuilder还是很懵逼的,不过有度娘的帮助,还是根据对应的API文档找到了对应的解决方案,解决方案见下图

7d0a7756afdc4825bba3337db902c78d.png

添加红框的代码,重新生成keystor文件

 InetAddress addr = InetAddress.getLocalHost();
        DERSequence subjectAlternativeNames = new DERSequence(new ASN1Encodable[] {
                new GeneralName(GeneralName.dNSName, "localhost"),
                new GeneralName(GeneralName.iPAddress, "127.0.0.1"),
                new GeneralName(GeneralName.iPAddress, addr.getHostAddress()),
                new GeneralName(GeneralName.dNSName, addr.getHostName()),
        });
        builder.addExtension(Extension.subjectAlternativeName, false, subjectAlternativeNames);

使用KeyStore Explorer工具打开生成的keystore文件(默认密码myPassword)

点击Export

8b8df7a415ce4efbb229f5187261f946.png

导出的证书路径,可以自己指定

将导出的证书安装到受信任的根目录下即可。

注:如果对API有不了解的地方,可以去JDK去查看对应API解释,此文只记录问题的处理方式。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值