- 浏览: 1613484 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (603)
- T_java (145)
- T_script&ASP (51)
- T_C/C++ (25)
- T_PowerBuilder (11)
- T_Database (53)
- T_odoo (7)
- T_应用服务器 (50)
- T_专_条形码 (6)
- T_专_负载均衡器 (4)
- T_操作系统 (94)
- T_信息安全 (41)
- T_专_搜索引擎 (14)
- T_L_PHP (58)
- T_L_Delphi (18)
- T_L_.NET、C#、VisualStudio (25)
- T_L_Objective-C (6)
- T_移动开发 (53)
- T_网络 (109)
- T_大数据 (2)
- T_嵌入式 (2)
- T_小众技术 (24)
- T_未分类 (58)
- L_旅游印记 (1)
- L_生活随笔 (48)
- L_中国文化 (18)
- L_户外与生存 (0)
最新评论
-
csbean4004:
不知道哪传来得恶习,发帖子不好好发,故意弄错一些东西,很讨厌
让HTML5支持后置摄像头 -
withthewind:
终于找到一个可以用的了。。。
如何用VBA取得Word文档中的标题前面的序号 -
busbby:
兄弟,无法下载,说文件不完整
一个好用的Outlook ost格式文件转pst文件的工具 -
yijavakevin:
密码啊~解压密码多少?
一个二维条形码组件 -
vipbooks:
你给的那个链接根本无法下载,跳到官网看了下最新版12M,但点下 ...
十步以内完成精细web打印
闲话不多说,直接上代码,如果不知CA、PKI、PKCS12等为何物的兄弟姐妹,不妨飘过:
package com.javaeye.sheng.security; import java.io.FileInputStream; import java.io.FileOutputStream; import java.security.Key; import java.security.KeyStore; import java.security.cert.Certificate; import java.util.Enumeration; /** * <p>Title: PKCS12与JKS格式证书库转换工具</p> * <p>Description: 该工具可以把JKS和PKCS12格式的证书库相互转换</p> * <p>Copyright: Copyright (c) 2009</p> * <p>Company: </p> * * @author BrokenStone(wdmsyf@yahoo.com) * @version 1.0 */ public class KeyStoreConv { /** * 从PKCS12格式转换为JKS格式 * @param srcFile String PKCS12格式的证书库 * @param srcPasswd String PKCS12格式的证书库密码 * @param destFile String JKS格式的证书库 * @param destPasswd String JKS格式的证书库密码 */ public void PKCS12ToJKS(String srcFile, String srcPasswd, String destFile, String destPasswd){ try { KeyStore inputKeyStore = KeyStore.getInstance("PKCS12"); FileInputStream fis = new FileInputStream(srcFile); char[] srcPwd = null, destPwd = null; if ((srcPasswd == null) || srcPasswd.trim().equals("")) { srcPwd = null; } else { srcPwd = srcPasswd.toCharArray(); } if ((destPasswd == null) || destPasswd.trim().equals("")) { destPwd = null; } else { destPwd = destPasswd.toCharArray(); } inputKeyStore.load(fis, srcPwd); fis.close(); KeyStore outputKeyStore = KeyStore.getInstance("JKS"); outputKeyStore.load(null, destPwd); Enumeration enums = inputKeyStore.aliases(); while (enums.hasMoreElements()) { String keyAlias = (String) enums.nextElement(); System.out.println("alias=[" + keyAlias + "]"); if (inputKeyStore.isKeyEntry(keyAlias)) { Key key = inputKeyStore.getKey(keyAlias, srcPwd); Certificate[] certChain = inputKeyStore.getCertificateChain(keyAlias); outputKeyStore.setKeyEntry(keyAlias, key, destPwd, certChain); } } FileOutputStream out = new FileOutputStream(destFile); outputKeyStore.store(out, destPwd); out.close(); } catch (Exception ex) { ex.printStackTrace(); } } /** * 从JKS格式转换为PKCS12格式 * @param srcFile String JKS格式证书库 * @param srcPasswd String JKS格式证书库密码 * @param destFile String PKCS12格式证书库 * @param destPasswd String PKCS12格式证书库密码 */ public void JSKToPKCS12(String srcFile, String srcPasswd, String destFile, String destPasswd){ try { KeyStore inputKeyStore = KeyStore.getInstance("JKS"); FileInputStream fis = new FileInputStream(srcFile); char[] srcPwd = null, destPwd = null; if ((srcPasswd == null) || srcPasswd.trim().equals("")) { srcPwd = null; } else { srcPwd = srcPasswd.toCharArray(); } if ((destPasswd == null) || destPasswd.trim().equals("")) { destPwd = null; } else { destPwd = destPasswd.toCharArray(); } inputKeyStore.load(fis, srcPwd); fis.close(); KeyStore outputKeyStore = KeyStore.getInstance("PKCS12"); Enumeration enums = inputKeyStore.aliases(); while (enums.hasMoreElements()) { String keyAlias = (String) enums.nextElement(); System.out.println("alias=[" + keyAlias + "]"); outputKeyStore.load(null, destPwd ); if (inputKeyStore.isKeyEntry(keyAlias)) { Key key = inputKeyStore.getKey(keyAlias, srcPwd); Certificate[] certChain = inputKeyStore.getCertificateChain(keyAlias); outputKeyStore.setKeyEntry(keyAlias, key, destPwd, certChain); } String fName = destFile.substring(0, destFile.indexOf(".pfx")); fName += "_" + keyAlias + ".pfx"; FileOutputStream out = new FileOutputStream(fName); outputKeyStore.store(out, destPwd); out.close(); outputKeyStore.deleteEntry(keyAlias); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { String flag = "P2J"; if(args.length<5) { System.out.println("用法:"); System.out.println(" KeyStoreConv <转换标志> <源证书库文件名> <源证书库密码> <目标证书库文件名> <目标证书库密码>"); System.out.println(" 转换标志: P2J -- 从PKCS12转换为JKS格式"); System.out.println(" J2P -- 从JKS转换为PKCS12格式"); System.out.println(" 注意: 1、如果从JKS转换为PKCS12且源JKS中有多个密钥对或证书,则每个密钥对或证书单独保存为一个文件。"); }else{ flag = args[0].toUpperCase(); if (!(flag.equals("P2J") || flag.equals("J2P"))) flag = "P2J"; KeyStoreConv c = new KeyStoreConv(); if (flag.equals("P2J")) { c.PKCS12ToJKS(args[1], args[2], args[3], args[4]); } else { c.JSKToPKCS12(args[1], args[2], args[3], args[4]); } } } }
发表评论
-
安卓动态分析工具 Inspeckage
2017-08-07 08:46 0工具介绍 一个基于Xposed 开发的应用动态分析工具 g ... -
Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息
2017-08-07 08:37 0一、猜想数据存放路径 微信现在是老少皆宜,大街小巷都在使用 ... -
破解微信数据库 并查询数据上传服务器
2017-08-07 08:29 0由于工作需求破解了微信的数据库 并获取想要的信息上传服 ... -
安卓黑科技之HOOK详解
2017-08-07 08:21 0本文带大家进入到安卓另一个世界 互联网攻防大战 Xpos ... -
安卓逆向之基于Xposed-ZjDroid脱壳
2017-08-07 08:18 0前言 之前介绍了普通常见的反编译模式 但对于使用了 360 ... -
Windown下最简安装nodejs和npm
2016-06-20 21:03 690Windown下最简安装nodejs和npm 一、下 ... -
另一个穿透内网的工具(类似ngrok)
2016-06-20 20:26 4845前段时间介绍过两种把内网端口映射到公网的工具:ngrok ... -
Docker无法拉取镜像的一个解决办法
2016-06-16 12:47 14142在阿里云ECS上安装了docker,安装完成后,运行hell ... -
基于 HTTP/2 的 WEB 内网穿透实现(转)
2016-04-22 15:50 1503基于 HTTP/2 的 WEB 内网穿透实现 HTTP ... -
搭建自己的ngrok服务(转)
2016-04-22 15:42 911搭建自己的ngrok服务 在国内开发、企业号 ... -
一个把内网端口映射到外网的工具ngrok(类似与花生壳)
2016-04-22 14:35 1407Secure tunnels to localhost ... -
申请Let's encrypt的免费SSL证书的正确姿势(转)
2016-03-30 19:16 1386申请Let's encrypt的免费SS ... -
通过 HTTP 头进行 SQL 注入(转)
2015-12-11 10:10 3266在漏洞评估和渗透测试中,确定目标应用程序的输入向量是 ... -
使用AXIOM给WebService调用增加SOAP头
2015-05-19 10:17 1160直接上代码 public static void ... -
如何为WordPress做安全防护? (转)
2014-12-18 09:38 1190最近看了infosec 出品的《Protecting Wo ... -
总结下在离开教育网后公网各种接入IPV6的方法(转)
2014-11-18 09:28 7486A.直连大法 方法1 ADSL ... -
Win7使用teredo连接IPv6的方法(转)
2014-11-18 09:27 0(1) 在 ” 开始 ”->” 运行 ” 中输入 c ... -
记录一个开源的PHP代码加密模块
2014-06-24 15:54 1076https://github.com/liexusong/ph ... -
Axis2管理控制台登录用户
2014-05-16 14:38 2132Axis2在Tomcat上装好后,可以通过其自带的管理界面进 ... -
weblogic server支持P3P协议
2013-10-16 19:34 816weblogic 支持P3P 隐私协议 来源:http:/ ...
相关推荐
这里我们关注的是两种常见的密钥库格式:PKCS12(Personal Certificate Security Standard 12)和JKS(Java Key Store)。本文将深入探讨这两种格式,以及如何进行相互转换。 PKCS12是一种由RSA Security开发的标准...
使用OpenSSL工具从PKCS12格式的证书库中提取证书文件(server-ssl.crt)和中级证书文件(gs_intermediate_ca.crt): ``` openssl pkcs12 -in newkeystore.p12 -nokeys -clcerts -out server-ssl.crt openssl pkcs12 -in...
而"JKS2PFX证书转换工具"就是针对这些需求应运而生的,它专门用于处理Java Key Store(JKS)和PKCS#12(PFX)格式的证书,以适应不同环境和应用场景。 首先,我们需要理解JKS和PFX这两种类型的证书存储格式。Java ...
将jks文件生成pfx文件的工具,亲测可以使用。 例如: JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin 该命令将server.jks中别名为tomcat的SSL证书导出,运行后将产生3个文件 ...
使用JWSDP工具包中的`pkcs12import`工具将PFX文件转换为JKS格式。执行以下命令: ```bash C:\Sun\jwsdp-2.0\xws-security\bin\pkcs12import.bat pkcs12import -file server.p12 -alias server -keystore server.jks...
**证书与证书转换工具Protecle详解** 在数字安全领域,证书扮演着至关重要的角色,它们用于验证身份、加密通信以及确保数据的完整性。本文将深入探讨证书的概念,特别是Protecle工具,它是一个功能强大的证书管理和...
1. 证书格式:JKS和PFX是两种常见的证书格式,JKS格式证书是Java密钥库格式,PFX格式证书是PKCS#12格式。 2. 证书安装:证书安装是指将证书安装到服务器中,以便启用HTTPS协议。 3. openssl命令行工具:openssl是...
本文将详细介绍如何在不同的证书格式之间进行转换,包括从`.cer`到`.jks`、从`.jks`到`.cer`、从`.p12`到`.pem`以及从`.cer`到`.pem`的过程。 ### 1. `.cer`格式转换至`.jks`格式 #### 背景介绍 `.cer`文件通常...
《使用jks2pfx工具将JKS转换为PFX:详细步骤与原理解析》 在数字证书领域,JKS(Java Key Store)和PFX(Personal Information Exchange)是两种常见的密钥存储格式。JKS主要用于Java应用程序,而PFX则广泛应用于...
2. **转换PFX到JKS**:由于Tomcat默认使用JKS格式,我们需要将PFX格式的证书转换为JKS。这可以通过Java的keytool工具完成,命令类似于: ``` keytool -importkeystore -deststorepass <JKS_password> -destkeypass...
例如,当需要将一个Java应用部署到支持不同类型的keystore格式的服务器时,或者在跨平台的环境中,可能需要将JKS格式的keystore转换为PKCS#12(PFX或P12)格式,然后从中提取crt和key。这通常涉及到使用OpenSSL或...
使用keytool.exe,将jks格式证书转换成pfx格式证书。由于本工具未包括keytool.exe 需要安装jdk 才能够正常运行。 没有积分的用户可以根据以下命令行手动导出(keytool.exe 可以在jdk安装目录中找到): keytool.exe ...
这个命令将`myapp.jks`转换为PKCS12格式的Keystore文件`myapp.keystore`。 2. **Keystore转JKS** 反过来,如果你有一个Keystore文件,例如`myapp.keystore`,想要转换回JKS,可以这样做: ```bash keytool -...
4. **转换过程**:要将`jks`文件转换为`bks`文件,你需要使用相应的工具或命令行工具,如`keytool`(Java自带)或者`Portecle`(一个图形化的密钥管理和转换工具)。这个过程中通常需要输入源密钥库的密码,以及目标...
4. **JKS**:Java KeyStore是Java平台内置的密钥库格式,用于存储用户证书和私钥,通常用于Java应用的HTTPS配置。 接下来,我们将讨论如何使用Portecle进行证书转换: 1. **P12转BKS**: - 打开Portecle,选择...
本文将深入探讨Android签名生成工具以及签名格式转换工具的相关知识。 一、Android签名的概念与作用 1.1 定义:Android签名是一个数字证书,它包含开发者的信息(如名称、组织和证书有效期)以及用于验证应用的私钥...
5. 将服务端证书和私钥转换为 PKCS12 格式:`openssl pkcs12 -export -in server.crt -inkey server.key -out server.pkcs12` 这将将服务端证书和私钥转换为 PKCS12 格式,用于 Java 应用程序。 使用 keytool 生成...
Java KeyStore 的类型有 JKS、JCEKS、PKCS12、BKS、UBER 等。 JKS 是 Java 密钥库的类型之一,由 SUN 提供,位于每个版本的 JDK 中。JCEKS 是 Java 密钥库的类型之一,由 SUNJCE 提供,在安全级别上比 JKS 强。 ...
Portecle是一款强大的证书管理与转换工具,专为弥补Java自带的keytool命令行工具在图形界面操作上的不足而设计。这款应用提供了直观且用户友好的界面,使得证书相关的操作如查看、创建、导入和导出等变得更为简单。...
PFX则是PKCS#12格式,是一种通用的证书存储格式,可用于多种平台。 ####JKS证书的安装和配置 如果需要安装JKS格式的证书,可以使用Java的`keytool`工具来进行证书的导入和转换。具体操作步骤如下: 1. 使用`keytool...