从ca提取keystore_从keystore(jks)文件中提取私钥
[java] view plain copy 在CODE上查看代码片派生到我的代码片
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.UnrecoverableKeyException;
import java.security.cert.Certificate;
import sun.misc.*;
public class ExportPrivateKey {
private File keystoreFile;
private String keyStoreType;
private char[] password;
private String alias;
private File exportedFile;
public static KeyPair getPrivateKey(KeyStore keystore, String alias, char[] password) {
try {
Key key=keystore.getKey(alias,password);
if(key instanceof PrivateKey) {
Certificate cert=keystore.getCertificate(alias);
PublicKey publicKey=cert.getPublicKey();
return new KeyPair(publicKey,(PrivateKey)key);
}
} catch (UnrecoverableKeyException e) {
} catch (NoSuchAlgorithmException e) {
} catch (KeyStoreException e) {
}
return null;
}
public void export() throws Exception{
KeyStore keystore=KeyStore.getInstance(keyStoreType);
BASE64Encoder encoder=new BASE64Encoder();
keystore.load(new FileInputStream(keystoreFile),password);
KeyPair keyPair=getPrivateKey(keystore,alias,password);
PrivateKey privateKey=keyPair.getPrivate();
String encoded=encoder.encode(privateKey.getEncoded());
FileWriter fw=new FileWriter(exportedFile);
fw.write(“—–BEGIN PRIVATE KEY—–\n”);
fw.write(encoded);
fw.write(“\n”);
fw.write(“—–END PRIVATE KEY—–”);
fw.close();
}
public static void main(String args[]) throws Exception{
ExportPrivateKey export=new ExportPrivateKey();
export.keystoreFile=new File(“/Users/Luke/Workspace/StringTest/src/com/lukejin/stringtest/keystore.jks”);
export.keyStoreType=”JKS”;
export.password=”changeit”.toCharArray();
export.alias=”tom_server”;
export.exportedFile=new File(“luke”);
export.export();
}
}
从ca提取keystore_从keystore(jks)文件中提取私钥相关推荐
- 从keystore(jks)文件中提取私钥
JKS文件是使用keytool生成的keystore文件,存放私钥和证书.但是我们用keytool的时候,私钥并没有单独生成出来.这个不利于我们后期的一些扩展工作.所以,我们需要把私钥从keytool ...
- java keystore 私钥,从Java Keystore文件中提取私钥、证书
Keystore是一个密码保护的文件,存放私钥和证书.可以通过JDK自带的keytool工具生成. 但是keytool工具,并没有提供方便的方法,从keystore文件中到处私钥和证书. 所以可以通过 ...
- [SimplePlayer] 4. 从视频文件中提取音频
提取音频,具体点来说就是提取音频帧.提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream Au ...
- ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数、运输次数、三种不同的车型,预测需要花费的小时数)来预测一个自变量
ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数.运输次数.三种不同的车型,预测需要花费的小时数)来预测一个自变量 输出结果 代码设计 from nu ...
- python提取文件指定列_如何从csv文件中提取特定列并使用python绘图
我有一个csv文件,其中包含以下几行数据:# Vertex X Y Z K_I K_II K_III J 0 2.100000e+00 2.000000e+00 -1.000000e-04 0.000 ...
- gnuradio上怎么使用python文件_使用Python从PDF文件中提取数据
前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...
- ffmpeg-从mp4、flv、ts文件中提取264视频流数据
ffmpeg-从mp4.flv.ts文件中提取264视频流数据 main.c #include <stdio.h> #include <libavutil/log.h> #in ...
- ffmpeg-从flv文件中提取AAC音频数据保存为文件
AAC ADTS格式协议: 从flv文件中提取AAC音频数据保存为文件. 如果需要详细了解AAC ADTS格式,可以查询文档. 原文件: 提取aac文件: main.c #include <st ...
- java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列
我需要使用iText从pdf文件中提取文本. 问题是:一些pdf文件包含2列,当我提取文本时,我得到一个文本文件,其中列被合并为结果(即同一行中两列的文本) 这是代码: public class pd ...
- 一行命令从 APK 文件中提取 Endpoint 及 URL
做IoT的人免不了要接触Android,接触Android的人又免不了要研究别人的App应用. Diggy,一款能够从 apk 文件中提取 endpoint 及 URL 的工具,只要一行命令就可以帮大 ...
最新文章
- centos桥接模式怎么联网_今日回收 | 互联网+废品回收模式是怎么兴起的呢?
- 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...
- django会话跟踪技术
- 编写一个java程序_鼠标在java窗口上的坐标_请问如何在Java中获取窗口外部的鼠标单击坐标...
- 微信插件制作之抢红包入门篇
- ignite 集成oracle,Ignite 配置更新Oracle JDBC Drive
- matlab中prod函数、mean函数、median函数——小白MAT LAB学习笔记
- 怎么用计算机弹出soldout,《SOLDOUT2》游戏怎么玩 游戏攻略玩法全面介绍
- 个人博客毕业设计设计总结
- 十分钟开发出神经网络五子棋(二)
- FAT文件系统(stm32)
- 《算法笔记》——基础篇习题选择结构
- 三伏天不能吃冷饮?7月这些蜚语你中招没
- 戴尔d系列服务器,戴尔科技集团推出两款全新VxRail产品
- 用LangChain构建大语言模型应用
- 凑辣荷丶换怂档屯览破擦丶笛丶北
- android 布局 缩小图片大小,三大布局的基本摆放属性总结,以及imageVIew图片摆放的缩放问题...
- Python声音处理入门
- 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早晨又将剩下 的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时, 就只
- Excel绘制散点图并拟合输出公式和R值