java 生成ecc证书_升级支持ECC证书指南

本文介绍了ECC(椭圆曲线密码学)的优势,并详细讲述了如何在Java环境中生成和导入ECC证书,以提升SSL连接的安全性和效率。通过对比ECC与RSA密钥长度,展示了ECC在资源占用和加密速度上的优越性。最后,提供了在Java中管理keystore文件,获取并导入证书的步骤。
摘要由CSDN通过智能技术生成

ECC简介

随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA的密钥需要不断增加,但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此需要一种新的算法来代替RSA。

1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,全称:Elliptic curve cryptography,缩写为ECC,根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是比因子分解问题更难的问题,它是指数级的难度。

现在SSL证书普遍使用的是RSA算法,由于上述的RSA算法存在的缺点,使用ECC作为其公钥算法的数字证书近几年的发展也不容小觑:2008年左右CA开始储备ECC根证书,2012年左右CA开始对外公开销售ECC证书,2014年ECC证书在国外被普遍开始使用,2015年国内开始接受ECC证书。

ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:抗攻击性强

CPU占用少

内容使用少

网络消耗低

加密速度快

随着安全等级的增加,当前加密法的密钥长度也会成指数增加,而ECC密钥长度 却只是成线性增加。以下是一份ECC密钥大小的具体情况,以及与它们安全性对等的RSA密钥的大小:

ECC密钥长度RSA密钥长度

160位1024位

224位2048位

256位3072位

384位7683位

256位15306位

ECC 具有如此卓越的按位比率加密的性能,预计其特点将成为安全系统关注的重点。

使用ECC签名的证书比RSA签名的证书具有较明显的大小优势,通过实际证书对比,384位ECC签名证书可以比2048位RSA+384位ECC签名证书小550~600字节,可以节约网络带宽成本。

升级ECC证书

问题背景

使用ssl连接时,遇到不信任的证书,应用程序一般都会拒绝连接。

浏览网站时,我们可以通过在浏览器的设置中导入证书,把证书加入到信任列表中。

而在JAVA直接进行SSL连接应用时,默认没有一个界面来导入证书。JAVA进行不信任的ssl连接时,会报如下异常:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值