- 浏览: 365474 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
xiangguiwang:
非常给力! 致敬
导出keystore私钥新法 -
harryhare:
harbey 写道写得不错。大家还可以参考一下这个文档的介绍: ...
证书链(The Certificate Chains) -
di1984HIT:
写的很好,学习了/
keyStore vs trustStore -
jackonline:
貌似不能用了
CAS客户端证书认证登录 -
harbey:
写得不错。大家还可以参考一下这个文档的介绍:http://ww ...
证书链(The Certificate Chains)
昨天为了导出私钥,找到了这个工具。见附件。
使用说明:
Java KeyStore文件转换为微软的.pfx文件和OpenSSL的PEM格式文件(.key + .crt)
运行方式:
JKS2PFX <KeyStore文件> <KeyStore密码> <Alias别名> <导出文件名> [Java Runtime的目录]
Java Runtime的目录,指包含Java.exe和keytool.exe的目录,如:
c:\progra~1\Java\jre1.5.0_06\bin
例如:
JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin
- kestore-export.zip (690.7 KB)
- 下载次数: 739
评论
5 楼
xiangguiwang
2016-06-01
非常给力!
致敬
致敬
4 楼
a418040445
2012-02-20
搞定了。LZ 密钥库密码和私钥密码 要一样才行,不然会报错的,查了我好久啊,哎。。
3 楼
a418040445
2012-02-20
JKS2PFX 没有这个命令啊!!
2 楼
boreas_baosj
2010-07-29
生成的时候报错了 在C#中利用WSE3.0调用java的web服务时c#客户端 出现了异常:
对象只包含密钥对中的公钥。必须同时提供私钥。
未处理 System.Security.Cryptography.CryptographicException
Message="对象只包含密钥对中的公钥。必须同时提供私钥。"
Source="mscorlib"
StackTrace:
在 System.Security.Cryptography.RSACryptoServiceProvider.SignHash(Byte[] rgbHash, String str)
在 Microsoft.Web.Services3.Security.Cryptography.RSASHA1SignatureFormatter.SignHash(Byte[] rgbHash)
在 Microsoft.Web.Services3.Security.Cryptography.RSASHA1SignatureFormatter.Sign(Stream data)
在 Microsoft.Web.Services3.Security.MessageSignature.BuildSignedInfo(SignatureFormatter formatter)
在 Microsoft.Web.Services3.Security.MessageSignature.ComputeAsymmetricSignature(AsymmetricKeyAlgorithm key)
在 Microsoft.Web.Services3.Security.MessageSignature.ComputeSignature()
在 Microsoft.Web.Services3.Security.Security.SerializeXml(SoapEnvelope document)
在 Microsoft.Web.Services3.Security.Security.Execute(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Security.SendSecurityFilter.ProcessMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Pipeline.ProcessOutputMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Messaging.SoapSender.FilterMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Messaging.SoapSender.BeginSend(SoapEnvelope envelope, AsyncCallback callback, Object state)
在 Microsoft.Web.Services3.Messaging.SoapClient.BeginSendOneWay(String methodname, SoapEnvelope envelope, AsyncCallback callback, Object state)
在 Microsoft.Web.Services3.Messaging.SoapClient.SoapClientAsyncResult..ctor(SoapClient client, String methodname, SoapEnvelope envelope, AsyncCallback callback, Object state)
在 Microsoft.Web.Services3.Messaging.SoapClient.SendRequestResponse(String methodname, SoapEnvelope envelope)
在 Microsoft.Web.Services3.Security.SecurityTokenServiceClient.RequestSecurityToken(SecurityTokenMessage request, String methodName)
在 Microsoft.Web.Services3.Security.SecurityContextTokenServiceClient.RequestSecurityContextToken(AppliesTo appliesTo)
在 Microsoft.Web.Services3.Security.SecurityContextTokenServiceClient.IssueSecurityContextToken(AppliesTo appliesTo)
在 Microsoft.Web.Services3.Security.Tokens.SecurityContextTokenManager.RequestTokenFromIssuer(EndpointReference tokenIssuer, String tokenType, AppliesTo appliesTo, Policy policy, SoapProtocolVersion soapVersion, StateManager messageState, StateManager operationState, StateManager sessionState)
在 Microsoft.Web.Services3.Security.SecureConversationClientSendSecurityFilter.EstablishSecureConversation(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Security.SecureConversationClientSendSecurityFilter.SecureMessage(SoapEnvelope envelope, Security security)
在 Microsoft.Web.Services3.Security.SendSecurityFilter.ProcessMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Pipeline.ProcessOutputMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Xml.SoapEnvelopeWriter.Finish()
在 Microsoft.Web.Services3.Xml.XmlWrappingWriter.Flush()
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Serialize(SoapClientMessage message)
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
在 ZisImplService.saveDataForJson(String softwareName, String jsonData) 位置 D:\C#\ZisClient\ZisClient\ZisImplService.cs:行号 102
在 ZisClient.Form1.button1_Click(Object sender, EventArgs e) 位置 D:\C#\ZisClient\ZisClient\Form1.cs:行号 22
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.Run(Form mainForm)
在 ZisClient.Program.Main() 位置 D:\C#\ZisClient\ZisClient\Program.cs:行号 17
在 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
对象只包含密钥对中的公钥。必须同时提供私钥。
未处理 System.Security.Cryptography.CryptographicException
Message="对象只包含密钥对中的公钥。必须同时提供私钥。"
Source="mscorlib"
StackTrace:
在 System.Security.Cryptography.RSACryptoServiceProvider.SignHash(Byte[] rgbHash, String str)
在 Microsoft.Web.Services3.Security.Cryptography.RSASHA1SignatureFormatter.SignHash(Byte[] rgbHash)
在 Microsoft.Web.Services3.Security.Cryptography.RSASHA1SignatureFormatter.Sign(Stream data)
在 Microsoft.Web.Services3.Security.MessageSignature.BuildSignedInfo(SignatureFormatter formatter)
在 Microsoft.Web.Services3.Security.MessageSignature.ComputeAsymmetricSignature(AsymmetricKeyAlgorithm key)
在 Microsoft.Web.Services3.Security.MessageSignature.ComputeSignature()
在 Microsoft.Web.Services3.Security.Security.SerializeXml(SoapEnvelope document)
在 Microsoft.Web.Services3.Security.Security.Execute(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Security.SendSecurityFilter.ProcessMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Pipeline.ProcessOutputMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Messaging.SoapSender.FilterMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Messaging.SoapSender.BeginSend(SoapEnvelope envelope, AsyncCallback callback, Object state)
在 Microsoft.Web.Services3.Messaging.SoapClient.BeginSendOneWay(String methodname, SoapEnvelope envelope, AsyncCallback callback, Object state)
在 Microsoft.Web.Services3.Messaging.SoapClient.SoapClientAsyncResult..ctor(SoapClient client, String methodname, SoapEnvelope envelope, AsyncCallback callback, Object state)
在 Microsoft.Web.Services3.Messaging.SoapClient.SendRequestResponse(String methodname, SoapEnvelope envelope)
在 Microsoft.Web.Services3.Security.SecurityTokenServiceClient.RequestSecurityToken(SecurityTokenMessage request, String methodName)
在 Microsoft.Web.Services3.Security.SecurityContextTokenServiceClient.RequestSecurityContextToken(AppliesTo appliesTo)
在 Microsoft.Web.Services3.Security.SecurityContextTokenServiceClient.IssueSecurityContextToken(AppliesTo appliesTo)
在 Microsoft.Web.Services3.Security.Tokens.SecurityContextTokenManager.RequestTokenFromIssuer(EndpointReference tokenIssuer, String tokenType, AppliesTo appliesTo, Policy policy, SoapProtocolVersion soapVersion, StateManager messageState, StateManager operationState, StateManager sessionState)
在 Microsoft.Web.Services3.Security.SecureConversationClientSendSecurityFilter.EstablishSecureConversation(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Security.SecureConversationClientSendSecurityFilter.SecureMessage(SoapEnvelope envelope, Security security)
在 Microsoft.Web.Services3.Security.SendSecurityFilter.ProcessMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Pipeline.ProcessOutputMessage(SoapEnvelope envelope)
在 Microsoft.Web.Services3.Xml.SoapEnvelopeWriter.Finish()
在 Microsoft.Web.Services3.Xml.XmlWrappingWriter.Flush()
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Serialize(SoapClientMessage message)
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
在 ZisImplService.saveDataForJson(String softwareName, String jsonData) 位置 D:\C#\ZisClient\ZisClient\ZisImplService.cs:行号 102
在 ZisClient.Form1.button1_Click(Object sender, EventArgs e) 位置 D:\C#\ZisClient\ZisClient\Form1.cs:行号 22
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.Run(Form mainForm)
在 ZisClient.Program.Main() 位置 D:\C#\ZisClient\ZisClient\Program.cs:行号 17
在 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
1 楼
boreas_baosj
2010-07-29
D:\jks2pfx>JKS2PFX clientKeystore.jks cs888888 myclientkey zisClientn C:\Progr
Files\Java\jre1.6.0_07\bin
Exception in thread "main" java.lang.NoClassDefFoundError: ExportPrvKey
Caused by: java.lang.ClassNotFoundException: ExportPrvKey
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Generating new PFX Key/Certificate pair, please enter a password
Loading 'screen' into random state - done
unable to load private key
Created new PEM key : zisClientn.key (without password)
Created new PEM cert : zisClientn.crt
Created new PFX file : zisClientn.pfx (with password)
Files\Java\jre1.6.0_07\bin
Exception in thread "main" java.lang.NoClassDefFoundError: ExportPrvKey
Caused by: java.lang.ClassNotFoundException: ExportPrvKey
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Generating new PFX Key/Certificate pair, please enter a password
Loading 'screen' into random state - done
unable to load private key
Created new PEM key : zisClientn.key (without password)
Created new PEM cert : zisClientn.crt
Created new PFX file : zisClientn.pfx (with password)
发表评论
-
从哈希表到HashMap
2010-07-24 09:29 1552最近在看哈希表的相关东西,当然其中还有一些不明白的,比如jav ... -
Asynchronous Web 和Comet相关
2010-07-11 18:28 1355最近一直在看Comet相关的东西,阅读了jetty的相关源码。 ... -
CAS客户端证书认证登录
2010-04-18 03:19 13533前端时间需要实现公司内网证书自动登录CAS. 由于对CAS的 ... -
客户端证书认证的实现
2010-03-24 20:29 5614有时候我们可能需要限定特定的用户进行访问,且用户需要使用数字证 ... -
Apache SSL配置之 SSLCertificateChainFile
2010-03-19 20:04 17035今天青岛镜像的vip访问SSO-CAS的443端口终于通了,但 ... -
apache 无法加载ssl模块的问题
2010-03-17 15:21 5291今天在一台新的机器上配置apache,发现ssl模块始终无法加 ... -
Apache+Tomcat+mod_jk+mod_ssl配置笔记
2010-03-11 16:08 3554今天需要部署个系统.采用Apache+mod_jk+To ... -
去除数字字符串的前导0
2010-03-09 19:59 5361假如有一些字符串里面保存的数字,但是为了某些目的需要将前导0给 ... -
keyStore vs trustStore
2010-03-02 13:27 13944今天有同事向我问起这两个概念,所以我就记录下。 ... -
First Look At Non-Thread-safe Servlets
2010-02-11 16:46 1615Servlet名称的由来:Servlet ... -
Log4j Properties
2010-02-11 16:32 2705在这里我可能由要和大家说maven的好处了。本文所涉及的测 ... -
Spring Mail Usage Sample
2010-02-11 16:15 1251依赖的库 写道 spring-2.5.4.jarmai ... -
JDBC Test With Oracle
2010-02-11 16:13 1208import java.sql.Connection; ... -
关于HTML的Form的get和post
2010-02-08 19:23 2538关于Form的get和post提交的方法,大家应该都知道 ... -
Forward And Redirect
2010-02-02 21:13 12832009年5月29日17:43 转发和重定向其实是 ... -
深度剖析Java的字符编码
2010-02-02 21:06 76902009年12月3日 一.字 ... -
如何导出keystore中的私钥
2010-02-02 20:43 7108一般情况下,你通过keytool生成的密钥对中的私钥是无法导出 ... -
About Logging
2010-02-02 19:27 1215Why 在很久很久以前,我曾经问过自己为什么写程序需要记Log ...
相关推荐
标题中的"KeyStore私钥及证书导出,可命令行直接用[2013-11]"指的是一项关于Java KeyStore操作的技术,重点在于如何在命令行环境下导出私钥和证书。KeyStore是Java提供的一种安全服务,用于存储用户的数字证书、私钥...
本文将详细讲解如何使用Java程序导出JVM KeyStore中的私钥,以及这个过程在配置SSL(Secure Sockets Layer)时的作用。 首先,我们需要了解Java KeyStore的基本概念。KeyStore是一个安全存储库,它包含了公钥、私钥...
本主题将详细解释如何从Java Keystore导出`.pfx`、`.key`和`.crt`文件,这些都是在网络安全中常见的证书格式。 首先,`.pfx`(Personal Information Exchange)文件是一种包含证书和私钥的二进制文件,广泛用于...
Android中使用命令查看keystore的公钥和私钥,准备好keystore文件后按文档中操作即可获得keystore的公钥和私钥。
【keystore_export导出密钥工具】是一款基于Java编写的实用程序,专为方便开发者和系统管理员导出由keytool生成的keystore文件中的私钥和证书。keytool是Java SDK自带的一个命令行工具,用于管理数字证书和密钥对,...
5. 在导出向导中,选择“是,导出私钥”,因为私钥是证书的核心,不能丢失。 6. 不要勾选任何额外的复选框,如“包含证书路径中的所有证书”或“删除私钥的策略信息”,这可能会导致不必要的安全风险。 7. 设置一...
广泛的格式支持KeyStore Explorer支持多种KeyStore,密钥对,私钥和证书格式,并可在它们之间进行转换。请参阅功能,以获取受支持格式的列表。 CA的基本功能KeyStore Explorer可以用于创建自己的CA证书并使用它签名...
在 Java 程序中,可以使用 jks 文件来存储公钥和私钥,并使用 keytool.exe 工具来查看、导入、导出和删除密钥。对于 HTTPS 网站,可以使用 jks 文件来存储站方公钥,以便Java程序可以正常访问该网站。 密钥、密钥对...
它将keystore中的私钥导出为pk8格式,然后使用openssl工具将pk8和公钥证书转换为x509.pem格式。 对于Linux或Unix用户,keystore2pem.sh的工作原理相似,但可能需要先确保openssl工具已经安装。运行脚本时,同样需要...
在Android中,由于存在默认的安全限制,可能需要配置`android.security.keystore`系统服务来存储和使用密钥。 6. **类说明**: 提供的工具类可能包含了如下的方法: - `generateKeyPair()`: 生成RSA密钥对。 - `...
- **导入/导出**:可以导入已有的Keystore文件,或者将Keystore内容导出为其他格式。 - **生成密钥对**:在Keystore中生成RSA、DSA等类型的密钥对,用于SSL/TLS加密。 - **管理证书**:添加、删除或更新Keystore...
在文件中,可能涵盖了如何启动安装程序(kse-540-setup.exe),创建新的KeyStore,导入或导出证书,设置密钥密码,以及将生成的密钥对配置到服务器的SSL配置文件中等内容。 在实际操作中,创建SSL证书通常包括以下...
java 生成的有私钥的证书导入IE,或者把IE导出的证书导入java的KeyStore
Java ExportPriv是一个专门为Java开发者设计的开源工具,其主要功能是导出Java Secure Socket Extension (JSSE) Keystore中的私钥。在Java安全框架中,Keystore是一个存储证书、私钥和其他安全凭证的地方,通常用于...
- **导入/导出**:可以使用`keytool`将证书导入到`keystore`,或将`keystore`中的密钥对导出为单独的文件。 - **更新**:如果需要更改`keystore`中的信息,如更新密钥口令或添加新的密钥对,也可以通过`keytool`...
`keystore`文件是一个存储证书和私钥的安全容器。在Android中,每个应用都需要被一个唯一的数字签名,以便系统可以验证应用的身份和来源。`apk_keystore.jks`就是这样的一个签名文件,它包含了用于签署APK的公钥和...
在Android平台上,KeyStore系统是安全存储敏感信息如私钥、证书等的重要工具。它允许开发者在设备上安全地管理加密密钥,确保只有授权的应用程序可以访问这些关键数据。KeyStore不仅支持对称加密密钥,也支持非对称...
Keystore是存储数字证书和私钥的安全容器,对于保护数据库连接和数据传输的安全至关重要。 在Oracle数据库中,Keystore管理涉及创建、导入和管理SSL(Secure Socket Layer)证书,这些证书用于加密数据库的网络通信...
每个`keystore`文件包含一个或多个密钥对(私钥和对应的公钥)以及相关的证书信息。 二、Android应用签名 在发布Android应用时,开发者需要使用`keystore`对APK进行签名,以便验证应用的身份。签名过程包括: 1. ...