我正在尝试从pkcs12(.p12)文件加载KeyStore,但是当我调用KeyStore.load(流,密码)时,JVM会抛出一个RuntimeExcepction:创建Key时出错,我可以在pkcs12上写,我甚至可以在导航器上导入它,但我无法在我的代码中读取它 .

将KeyStore保存在磁盘上的代码:

public static void gerarPkcs12(PrivateKey chavePrivada, X509Certificate certificado, String caminhoPkcs12,

String alias, char[] senha) {

try {

KeyStore repositorio = KeyStore.getInstance("PKCS12", "BC");

repositorio.load(null, senha);

Certificate[] chain = {certificado};

repositorio.setKeyEntry(alias, chavePrivada, senha, chain);

FileOutputStream fos = new FileOutputStream(caminhoPkcs12);

repositorio.store(fos, senha);

} catch(KeyStoreException | IOException | NoSuchAlgorithmException | CertificateException | NoSuchProviderException ex) {

System.out.println(ex.getMessage());

}

}

试图从文件中读取它的代码

80. KeyStore ks = KeyStore.getInstance("PKCS12", "BC");

81. FileInputStream in = new FileInputStream(caminhoPkcs12Usuario);

82. BufferedInputStream bis = new BufferedInputStream(in);

83. ks.load(bis, "1234".toCharArray());

和StackTrace

Exception in thread "main" java.lang.RuntimeException: error creating key

at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.createSubjectKeyId(Unknown Source)

at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.access$100(Unknown Source)

at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$CertId.(Unknown Source)

at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(Unknown Source)

at java.security.KeyStore.load(KeyStore.java:1445)

at etapas.QuartaEtapa.main(QuartaEtapa.java:83)

非常感谢你 .

java pkcs12_如何阅读pkcs12文件内容?相关推荐

  1. java对比俩个word文件内容差异

    java对比俩个word文件内容差异 添加依赖: <dependency><groupId>e-iceblue</groupId><artifactId> ...

  2. java web之读取PDF文件内容

    引入依赖 编写工具类 编写测试用例 运行结果 1 引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -- ...

  3. Java如何校验两个文件内容是相同的?

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天做文件上传功能,需求要求文件内容相同的不能重复上传.感觉这个需求挺简单的就交给了一位刚入行的新同学.等合并代码的时候发现这位同学 ...

  4. java 读取hdfs上的文件内容

    用java读取hdfs的文件 直接撸代码: package com.nature.base.util;import com.nature.component.process.vo.DebugDataR ...

  5. Java读按行读文件内容

    功能:使用Java读取文件中的内容,按行读取,并按照行内的空格将一行内容分割成若干个字符串. import java.io.*; /*** @Description: 读行读文件内容,并将一行内容按空 ...

  6. java按行读取txt文件内容_对txt文件中的内容进行排序

    如果您的文件中每行都有单词或术语,则可能需要对其进行排序.Java Arrays.sort是执行此操作的常用功能.Collections.sort()是另一个不错的说法.这是一个示例和代码. 在文件E ...

  7. Android快速阅读依赖的代码,Java Android快速阅读完整文件

    我有以下代码片段将文本文件的全部内容读入字符串.它有效,唯一的问题是--它真的很慢(文件长约1500行). InputStream is = this.getResources().openRawRe ...

  8. java怎么逐行读取一个文件内容,并把每行顺序打乱存入另外一个文件中

    java读入文件,并逐行输出,先在项目中建立个 "a "文件夹,然后创建一个a.txt文件,然后编辑文件,文本编辑的编码是utf-8,然后用流逐行读取输出,然后打乱每行顺序,再存放 ...

  9. Java 命令行查看class文件内容

    好奇 Java 源代码编译后的 class 文件中到底是什么,但是编辑器打开是乱码. 查阅资料得知 javap 命令可以查看.下面是 javap 命令的用法说明: 下面以最简单的 Hello 为例: ...

最新文章

  1. Cache Aside Pattern(缓存模式)
  2. RPA实施过程中可能会遇到的14个坑
  3. 线程的CloseHandle和WaitForSingleObject
  4. 99%的数据工作者不曾知道的一款利器
  5. autosar网络管理_AP AUTOSAR平台设计(11)——网络管理
  6. [转]VisualStudio如何组织解决方案的目录结构
  7. 精读linux源码,Linux基础入门的操作精读.doc
  8. java crontriggerbean_java – 使用JobStoreTX为石英聚类配置CronTriggerFactoryBean
  9. java 网络实验_20145220 实验五 Java网络编程
  10. 两万字的CAPL语法基础,一篇文章带你入门
  11. php gb2312转big5 函数
  12. ThinkPad Z61t系统重装
  13. charles SSL证书安装
  14. c语言补偿算法,C功能刀具半径补偿算法与实现.doc
  15. 8.字典操作。建立一个月份与天数的字典monthdays,月份为“Jan”“Feb”“Mar”“Apr”“May”“Jun” “Jul” “Aug” “Sep” “Oct” “Nov“ “Dec“
  16. Epicor流水编号规则功能
  17. 前端js使浏览器窗口全屏与退出----浏览器全屏时 监测通过esc按键退出全屏 (退出全屏时有页面上的相关处理)
  18. R语言运行环境安装配置
  19. scala中 sorted,sortBy,sortWith语法使用
  20. Edge出现无法访问此页面xxxxxx已拒绝连接。

热门文章

  1. CocoaPods 【CocoaPods 全攻略】
  2. TCRT5000 红外传感器(示例代码)
  3. 【面经】汇顶科技-音频算法工程师
  4. JavaEE开发必备词汇
  5. 推荐一款免费的带有坐标系的在线绘图web应用(汇报神器)
  6. 灰度重心法提取光条纹中心
  7. 糖尿病遗传风险检测挑战赛竞赛学习
  8. 轮回眼css,纯CSS如何实现血轮眼+轮回眼特效(代码详解)
  9. Fiddler大师之路系列(一)
  10. chartContrl 折线图添加报警线和一些其他设置 放大缩小折线图等