dsa java_如何为Java生成2048位DSA密钥对?
我尝试了以下方法来生成具有2048位密钥长度的DSA私有(和公共)密钥:
通过keytool
keytool -genkeypair -alias MyKeyPair -keyalg DSA -keysize 2048 -validity 365 -keystore MyKeyStore.ks
导致:
keytool error: java.lang.IllegalArgumentException: Modulus size must range from 512
to 1024 and be a multiple of 64
通过代码
KeyPairGenerator keyGen = KeyPairGenerator.getInstance(keyAlgorithm,"BC");
keyGen.initialize(numBits);
导致:
Exception in thread "main" java.security.InvalidParameterException: strength must be from 512 - 1024 and a multiple of 64
at org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi.initialize(Unknown Source)
at java.security.KeyPairGenerator.initialize(KeyPairGenerator.java:340)
上面的例子使用了Bouncy Castle的实现,因为我读到的地方应该支持2048位的DSA密钥.我也尝试了具有相同错误的默认值.
我安装了(JCE)Unlimited Strength Jurisdiction Policy Files.
根据此输出,您可能希望有大键:
System.out.println("DSA Max key length: " + Cipher.getMaxAllowedKeyLength("DSA"));
DSA Max key length: 2147483647
但是,如果您在JCE Providers Docs中选择了Keysize限制,则1024位是最大值.
谁可以判断Java 7中是否支持2048位私钥?
或者,如果有另一种方法来创建此大小的密钥并将其导入Java密钥库?
Java 8 API赠送它将支持更大的键.所以我们可能需要等到明年.
dsa java_如何为Java生成2048位DSA密钥对?相关推荐
- Java 生成13位条形码 Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
package cn.zhang;import java.util.Scanner;public class Subject001 {/**生成13位条形码 Ean-13码规则:第十三位数字是前十二位 ...
- java 生成8位随机密码
package com.fastone.www.javademo.randomtest;import java.util.Random;/*** @program: javademo* @descri ...
- JAVA生成20位LONG型UUID
编者在开发过程中用postman测试接口,发现要求id为必填且不能含有英文字母,问了对面开发人员才知道需要自己生成20位Long型uuid,写法大概如下,在需要生成的部分调用这个类即可. packag ...
- java生成16位随机数_java中如何产生一个16位数字组成的随机字符串?谢谢各位了...
展开全部 方法如下: Random ran=new random(); boolean flag=true; while(flag){ int a=ran.nextInt(99999999); int ...
- java生成8位的uuid_分布式系统全局唯一ID简介、特点、生成
一.什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识. 如在金融.电商.支付.等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息, ...
- java生成6位随机数
生成6位随机数(不会是5位或者7位,仅只有6位): System.out.println((int)((Math.random()*9+1)*100000)); 同理,生成5位随机数: System. ...
- java怎样生成32位全是整形的主键_用java生成32位全球唯一的id编号
GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...
- java生成8位邀请码,邀请码生成器Java代码
邀请码生成器,可根据邀请码反向算出用户id import java.util.Random; /** * 邀请码生成器,算法原理: * 1) 获取id: 1127738 * 2) 使用自定义进制转为: ...
- java生成32位流水号,Java生成流水号
import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; public cla ...
最新文章
- 为什么UI线程中创建Handler可以不传Looper?
- 图片像素、英寸、厘米之间的单位换算
- Quartz2D的内存管理
- JavaScript中的箭头函数
- 虚拟机拷贝数据到服务器,虚拟机文件拷到u盘上
- 游戏开发Camera之Cinematic Camera-深度
- python新手入门课_Python基础视频12集入门课程
- Keras学习---数据预处理篇
- Jersey客户端API调用REST风格的Web服务
- SQL Server BI Step by Step SSIS 5 --- 通过Email发送查询结果
- LINUX下载编译ccrtp(未成功)
- jflash合并bin文件及hex文件
- 爬虫-Scrapy(二) 爬取糗百笑话-单页
- PS给人物添加阴影和高光
- Unity HDR (高动态范围 )
- python模拟访问js_百度统计原理分析-利用PHP/Python实现模拟访问
- 量子信息技术(QIT)
- 如何在HTML中修改网站标题和图标?
- Linux GRO流程分析
- 多系统引导启动盘“完美解决”方案——Ventoy工具