[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)文件中提取私钥相关推荐

  1. 从keystore(jks)文件中提取私钥

    JKS文件是使用keytool生成的keystore文件,存放私钥和证书.但是我们用keytool的时候,私钥并没有单独生成出来.这个不利于我们后期的一些扩展工作.所以,我们需要把私钥从keytool ...

  2. java keystore 私钥,从Java Keystore文件中提取私钥、证书

    Keystore是一个密码保护的文件,存放私钥和证书.可以通过JDK自带的keytool工具生成. 但是keytool工具,并没有提供方便的方法,从keystore文件中到处私钥和证书. 所以可以通过 ...

  3. [SimplePlayer] 4. 从视频文件中提取音频

    提取音频,具体点来说就是提取音频帧.提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream Au ...

  4. ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数、运输次数、三种不同的车型,预测需要花费的小时数)来预测一个自变量

    ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数.运输次数.三种不同的车型,预测需要花费的小时数)来预测一个自变量 输出结果 代码设计 from nu ...

  5. 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 ...

  6. gnuradio上怎么使用python文件_使用Python从PDF文件中提取数据

    前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...

  7. ffmpeg-从mp4、flv、ts文件中提取264视频流数据

    ffmpeg-从mp4.flv.ts文件中提取264视频流数据 main.c #include <stdio.h> #include <libavutil/log.h> #in ...

  8. ffmpeg-从flv文件中提取AAC音频数据保存为文件

    AAC ADTS格式协议: 从flv文件中提取AAC音频数据保存为文件. 如果需要详细了解AAC ADTS格式,可以查询文档. 原文件: 提取aac文件: main.c #include <st ...

  9. java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列

    我需要使用iText从pdf文件中提取文本. 问题是:一些pdf文件包含2列,当我提取文本时,我得到一个文本文件,其中列被合并为结果(即同一行中两列的文本) 这是代码: public class pd ...

  10. 一行命令从 APK 文件中提取 Endpoint 及 URL

    做IoT的人免不了要接触Android,接触Android的人又免不了要研究别人的App应用. Diggy,一款能够从 apk 文件中提取 endpoint 及 URL 的工具,只要一行命令就可以帮大 ...

最新文章

  1. centos桥接模式怎么联网_今日回收 | 互联网+废品回收模式是怎么兴起的呢?
  2. 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...
  3. django会话跟踪技术
  4. 编写一个java程序_鼠标在java窗口上的坐标_请问如何在Java中获取窗口外部的鼠标单击坐标...
  5. 微信插件制作之抢红包入门篇
  6. ignite 集成oracle,Ignite 配置更新Oracle JDBC Drive
  7. matlab中prod函数、mean函数、median函数——小白MAT LAB学习笔记
  8. 怎么用计算机弹出soldout,《SOLDOUT2》游戏怎么玩 游戏攻略玩法全面介绍
  9. 个人博客毕业设计设计总结
  10. 十分钟开发出神经网络五子棋(二)
  11. FAT文件系统(stm32)
  12. 《算法笔记》——基础篇习题选择结构
  13. 三伏天不能吃冷饮?7月这些蜚语你中招没
  14. 戴尔d系列服务器,戴尔科技集团推出两款全新VxRail产品
  15. 用LangChain构建大语言模型应用
  16. 凑辣荷丶换怂档屯览破擦丶笛丶北
  17. android 布局 缩小图片大小,三大布局的基本摆放属性总结,以及imageVIew图片摆放的缩放问题...
  18. Python声音处理入门
  19. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早晨又将剩下 的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时, 就只
  20. Excel绘制散点图并拟合输出公式和R值

热门文章

  1. vim 设置标签等操作
  2. 继承MonoBehaviour类的优缺点和相关报错
  3. 介绍两款API管理工具
  4. javascript 参数检验(二):参数检查工具的完善
  5. SQLSERVER存储过程列名无效的解决方法
  6. 转:概述RAID磁盘的IOPS
  7. ZZULIOJ ASCII码排序(多实例测试)
  8. android launcher分析和修改10,Android Launcher分析和修改10——HotSeat深入进阶
  9. 信息学奥赛一本通 1117:整数去重 | OpenJudge NOI 1.9 13
  10. 信息学奥赛一本通(1128:图像模糊处理)