java保存私钥_如何在Java中使用密钥库来存储私钥?
小编典典
注意:此代码仅用于演示目的。将私钥存储在磁盘上时,必须对其进行加密。不要按原样使用它。
您可以执行以下操作:
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(2048);
KeyPair kp = kpg.genKeyPair();
KeyFactory fact = KeyFactory.getInstance("RSA");
RSAPublicKeySpec pub = fact.getKeySpec(kp.getPublic(),
RSAPublicKeySpec.class);
saveToFile(PUBLIC_KEY_FILE,
pub.getModulus(), pub.getPublicExponent());
RSAPrivateKeySpec priv = fact.getKeySpec(kp.getPrivate(),
RSAPrivateKeySpec.class);
saveToFile(PRIVATE_KEY_FILE,
priv.getModulus(), priv.getPrivateExponent());
保存功能:
private static void saveToFile(String fileName,
BigInteger mod, BigInteger exp)
throws SomeException {
ObjectOutputStream oout = new ObjectOutputStream(
new BufferedOutputStream(new FileOutputStream(fileName)));
try {
oout.writeObject(mod);
oout.writeObject(exp);
} catch (Exception e) {
throw new SomeException(e);
} finally {
oout.close();
}
}
并以相同的方式读回:
private static PublicKey readPublicKey() throws SomeException {
InputStream in = new FileInputStream(PUBLIC_KEY_FILE);
ObjectInputStream oin =
new ObjectInputStream(new BufferedInputStream(in));
try {
BigInteger m = (BigInteger) oin.readObject();
BigInteger e = (BigInteger) oin.readObject();
RSAPublicKeySpec keySpec = new RSAPublicKeySpec(m, e);
KeyFactory fact = KeyFactory.getInstance("RSA");
PublicKey pubKey = fact.generatePublic(keySpec);
return pubKey;
} catch (Exception e) {
throw new SomeException(e);
} finally {
oin.close();
}
}
读取私钥相似。
2020-09-11
java保存私钥_如何在Java中使用密钥库来存储私钥?相关推荐
- wordpress 数据库_如何在WordPress中创建视频库(逐步)
wordpress 数据库 Recently, a user asked us how to create a video gallery in WordPress. WordPress makes ...
- java 正则表达式 开头_如何在Java中修复表达式的非法开头
java 正则表达式 开头 您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误. 这是一个动态错误,这意味着编译器会发现某些不符合Jav ...
- java soap 头_如何在Java中添加Soap标头
我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头.如何在Java中添加soap标头? Authenticator.setDefault(new ProxyAuthen ...
- java实现递归算法_如何在Java中实现二进制搜索算法而无需递归
java实现递归算法 by javinpaul 由javinpaul 流行的二进制搜索算法的迭代实现,用于在排序数组中查找元素. (An Iterative implementation of the ...
- java jcombobox长度_如何在JToolBar中设定JComboBox的大小?
如何在JToolBar中设定JComboBox的大小? 我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将JToolBar上剩余空 ...
- java 全局数组_如何在Java中声明全局数组?
我有一个程序在Java中乘以两个矩阵.我在全局错误声明中发现了一些错误. 这里是我的代码如何在Java中声明全局数组? import java.util.Scanner; /**WAP in Java ...
- java插入图片_如何在java窗体程序中添加图片
打开eclipse,创建一个java工程项目,创建完后在src下新建一个类Window,由于要插入图片,所以还在工程目录下创建一个文件夹imgs,里面放了一张60*60的图片,创建后的工程目录和图片, ...
- java安卓计时器_如何在android中设置计时器
通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...
- java cpu监控_如何在Java中监视计算机的CPU,内存和磁盘使用情况?
问题 我想用Java监视以下系统信息: 当前CPU使用率**(百分比) 可用内存*(免费/总计) 可用磁盘空间(空闲/总计)*请注意,我的意思是整个系统可用的总内存,而不仅仅是JVM. 我正在寻找一种 ...
最新文章
- python中x y表示_Python中表达式x += y和x = x+y 的区别详解
- JavaScript 找出数组中重复的元素
- ajax得到session,Ajax如何使用Session
- 安装jdk配置环境、cmd命令行测试环境变量配置是否正确及运行java程序、安装IDEA编写代码测试
- charles抓app包教程_charles关于手机APP抓包
- vb.net mysql存储图片_怎么让VB.NET 上传图片到SQL 数据库只保存路径,图片保存到文件...
- 【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别
- 太阳系其实是被造出来的!来,用视觉聆听宇宙之音!
- Java 查找链表中的元素
- 值得电商美工借鉴的购物APP页面设计,让人无法自拔
- 扩展Kubernetes API
- arduino液位传感器_如何使用Arduino + VL53L0X来制作液位感应设备
- dedecms v5.7 图片集“图集内容”无法调用的解决办法
- 分享几款常用的MySQL管理工具
- 1048 习题4-4 三个整数求最大值
- Android图片轮播控件——Banner
- 海信电视买哪个型号好 2023海信电视系列机型选购推荐
- VSPD虚拟串口使用教程
- LVDS、FPD-Link/GMSL、MIPI的区别
- 通过css设置img的src
热门文章
- 小区物业费信息管理系统设计c++_律师,我没有签物业合同,可以不交物业费吗?...
- python polar contour_Python将2darray的最后一行和第二列添加到最后位置 - Polar Contour图...
- HttpServletRequest看这篇文章就够了
- 基数排序及其思想 C++代码实现及分析 恋上数据结构笔记
- 09 ORA系列:ORA-06553 PLS-306
- Hibernate hql 查询指定字段并获取结果集
- bootstrap怎么在一个页面渲染多个表格_推荐一个前端框架
- 12个python超强学习网站!加python书籍推荐!( 入门python自学推荐!建议收藏!)
- 《R语言实战》第4章
- POJ-4004:数字组合(用位移方法解组合数问题,Java版)