`
dch1287
  • 浏览: 122801 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

How to convert a PKCS#12 to JKS

阅读更多
下面提供两种方式:
1. 使用Portecle
2. 使用Jetty的工具类
3. 使用Keytool GUI(这个工具现在不太好找,功能类似Portecle)
4. 使用OpenSSL + Keytool
5. 自己写代码(使用BouncyCastle的jar)


---------------------------------------
使用Portecle

Most of system administrators use OpenSSL (which is not a good idea, but it’s an another story) to manage their PKI. While OpenSSL is good to create/convert X509 certificates from PEM/DER to PKCS#12 (and vice versa, for sure) it doesn’t understand the JKS (Java KeyStore) format. JKS are used in Java world, for example Glassfish application server, OpenDS and so more. In this post, I’ll explain how to convert a PKCS#12 to a JKS using portecle. portecle is a small, but very useful application (written in Java) to manipulate keystores.

1. Download portecle, extract it, and lauch it using java -jar portecle.jar
2. Open your PKCS#12 file, provide the password
3. Click on Tools/Change KeyStore Type/JKS menu
4. If you don’t want to use the default password (which is password), click on the menu keystore password
5. Save it, that’s all folks!

You can know list the contents of your JKS using keytool:


% keytool -list -v -keystore yourkeystore.jks

from: http://blog.asyd.net/2009/07/how-to-convert-a-pkcs12-to-jks/



----------------------------------------------
使用Jetty的工具类

java -classpath jetty-6.1.3/lib/jetty-6.1.3.jar org.mortbay.jetty.security.PKCS12Import keystore.pkcs12 keystore.jks

Enter input keystore passphrase: secret
Enter output keystore passphrase: secret
Alias 0: 1
Adding key for alias 1


http://jetty.codehaus.org/jetty/jetty-6/apidocs/org/mortbay/jetty/security/PKCS12Import.html
http://conshell.net/wiki/index.php/OpenSSL_to_Keytool_Conversion_tips


分享到:
评论

相关推荐

    PKCS #12 中文版

    PKCS #12 中文版 PKCS #12 是一種個人身份标识信息傳遞語法的标准,允许用户导入、导出并使用一套统一的个人身份标识信息。该标准描述了私钥、证书、各种形式的秘密值及其扩展。PKCS #12 的出现使得计算机、应用...

    按PKCS#10数据格式封装PKCS#10数据

    PKCS#10是这一系列标准中的一个,全称为"Certification Request Syntax Standard",即证书请求语法标准。它定义了一种格式,用于创建和交换证书请求,通常是当用户或系统需要获取数字证书时使用。这个过程涉及到ASN....

    企业微信支付到个人银行卡(PKCS#1格式的公钥转为PKCS#8格式)

    本文将详细解析如何将PKCS#1格式的公钥转换为PKCS#8格式,以解决“公钥非法错误”的问题。 首先,理解公钥和私钥的概念至关重要。在公钥加密体系中,如RSA算法,每一对密钥由一个公钥和一个私钥组成。公钥用于加密...

    pkcs-11v2-20d3.rar_PKCS#1_PKCS#11 USBKey_RSA PKCS_pkcs_usbkey

    在密码系统中,PKCS#11是公钥加密标准(PKCS, Public-Key Cryptography Standards)中的一份子 ,由RSA实验室(RSA Laboratories)发布[1],它为加密令牌定义了一组平台无关的API ,如硬件安全模块和智能卡。...

    PKCS#11的部分使用例码

    PKCS#11应用编程接口的使用示例 PKCS#11是一个公共密钥加密标准,定义了cryptoki接口,提供了一个抽象层次来访问各种加密设备和加密算法。下面我们将从给定的文件中提取相关的知识点,详细解释PKCS#11的使用示例。 ...

    C# SHA256 PKCS#7 生成验名、验签源码 中行支付.rar

    "C# SHA256 PKCS#7 生成验名、验签源码 中行支付.rar"这个压缩包文件提供了使用C#编程语言实现SHA256哈希算法和PKCS#7标准来创建和验证签名的源代码。以下将详细解释这两个关键概念及其在金融支付中的应用。 1. SHA...

    pkcs#12官方文档

    PKCS(Public Key Cryptography Standards)是由RSA Security公司制定的一系列加密标准,其中的#12,即PKCS#12,是一种广泛使用的个人身份认证信息的存储格式。这个标准定义了如何在一个单一的文件中安全地存储用户...

    PKCS #11 v2.11: Cryptographic Token Interface Standard(包含C头文件)

    PKCS #11,全称为Public-Key Cryptography Standards #11,是由RSA安全公司发起的一套接口标准,用于实现加密令牌(如智能卡、硬件安全模块HSM等)与应用程序之间的交互。版本2.11是这个标准的一个更新,旨在提供...

    PKCS#11 v2.2(DOC)

    ### PKCS#11 v2.2:Cryptoki标准详解 #### 一、引言 PKCS#11,也称为Cryptoki标准,是公钥密码学标准集的一部分,由RSA实验室开发并发布。PKCS#11为密码模块定义了一个程序设计接口(API),这个API被命名为Cryptoki...

    C# pkcs # 7 签名 验签

    在.NET平台上,C#语言提供了丰富的库和API来处理各种加密和签名操作,其中包括PKCS #7标准。PKCS(Public Key Cryptography Standards)是由RSA安全公司提出的公钥加密标准,其中的第7号标准(PKCS #7)定义了数据的...

    pkcs#11标准中文文档

    PKCS#11是RSA安全公司制定的一套标准,全称为Public Key Cryptography Standards #11,主要用于定义智能卡、硬件安全模块(HSM)和其他密码学设备与应用程序之间的接口。这个标准允许软件通过统一的API(应用程序...

    PKCS #1: RSA Cryptography Specifications Version 2.2

    填充模式如PKCS#1 v1.5和OAEP(Optimal Asymmetric Encryption Padding)是重要的安全性增强机制。 6. **加密和解密方案** RSA加密通常涉及将明文数据通过幂运算模n转化为密文,而解密则用私钥进行逆运算。PKCS #1...

    rfc7292 - PKCS #12.pdf

    PKCS#12标准是公钥密码标准(Public Key Cryptography Standards,PKCS)系列中关于个人身份信息交换的语法标准,编号为第12号,版本为1.1。该标准主要描述了用于转移个人身份信息的传输语法,这些信息包括私钥、...

    C# BouncyCastle实现带原文数据PKCS#7 签名、验签

    5. **序列化PKCS#7结构**:将封装好的PKCS#7结构转换为字节数组或Base64字符串,以便在网络上传输或存储。 6. **验证签名**: - 接收到PKCS#7签名后,首先将其反序列化为`Pkcs7SignedData`对象。 - 使用`...

    使用数字证书进行PKCS#7数字签名

    越来越多的应用需要我们使用USB接口数字证书进行PKCS#7数字签名。本文分别介绍了使用微软CryptoAPI方式和OpenSSL Engine方式进行数字签名。特别地,提出了OpenSSL Engine简化方式,这种方式更为灵活方便易行。

    pkcs#11中文文档

    PKCS #11,全称为“Public Key Cryptography Standards #11”,是由RSA安全公司发起的一套标准,用于定义加密令牌(如智能卡、硬件安全模块HSM等)与应用程序之间的接口。这个标准允许应用程序利用这些物理设备进行...

    pkcs#7标准格式

    文档介绍了pkcs#7的格式和结构,里面虽然是英文的,但是很详细的,能看到,另外用ASN1工具和这个结合能很快的理解pkcs#7的结构。

    RSA PKCS#1 1.5版 padding

    PKCS(Public Key Cryptography Standards)是一系列由RSA安全公司制定的公开密钥加密标准,其中PKCS#1是关于RSA算法的具体实现规范。在这个场景中,我们主要关注的是PKCS#1 V1.5版的填充方式。 PKCS#1 V1.5填充是...

    PKCS #12 v1.0---Personal Information Exchange Syntax.

    PKCS #12 v1.0个人信息交换语法分析 PKCS #12 v1.0是个人信息交换语法的标准,描述了私钥、证书、各种形式的秘密值及其扩展的传递语法。该标准的出现旨在解决个人身份标识信息的传递问题,使得用户能够方便地导入、...

Global site tag (gtag.js) - Google Analytics