`
kiki1120
  • 浏览: 315856 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

用keytool进行签名报“无法从回复中建立链接”

阅读更多

转自“小小的一亩田”的博客

 

更换服务证书的时候遇到这个问题,GOOGLE了一下,发现没答案。

 

研究了一会会儿,发现问题所在。其实很简单。

 

深为国内同行们觉得惭愧,不仅是懒,还大多通常不愿意分享自己的知识。GOOGLE技术问题常常会发现,一个中文答案抄来抄去,没人讨论也没人验证。。。或者干脆只有问没有答。。。唉!

 

企图答案共享,于是把这个问题贴到“百度知道”去了,结果居然发现还不能自问自答,说是有骗积分的嫌疑。。。$!$%%^%!! 谁稀罕那什么破积分啊?

 

直接在BLOG里写答案~ 啦啦啦~

 

-------------问题

把CA签名后的server端证书导入keystore出错的问题:
C:\tomcat>keytool -import -alias tomcat -keystore c:\tomcat\keystore -trustcacer
ts -file c:\tomcat\1.cer
输入keystore密码: 123456
keytool错误: java.lang.Exception: 无法从回复中建立链接

-------------答案

在导入服务器证书之前,需要导入一个中级CA根证书。这个CA根证书的有效期很长,一般不用更换。所以大多数人在导入中级CA根证书时会使用旧的证书。

 

当这个中级CA根证书有更新,导入中级CA根证书步骤仍使用旧的中级CA证书时,此步骤不会报错。但再导入基于新的CA根证书生成的服务器证书,就会报“java.lang.Exception: 无法从回复中建立链接”。

 

所以,解决问题的方法很简单,下载新的中级CA根证书,删除keystore里已经导入的原来的CA根证书,重新导入新的CA根证书,再导入服务器证书,就没问题了。

 

解决步骤如下(假设已经导入了旧的CA证书又没有备份原来的keystore):

1、删除旧的CA根证书,假设CA根证书导入时的别名是root。

keytool -delete -alias root -keystore c:\cert\keystore

2、到网站上找到新的CA根证书,COPY内容,PASTE到某个文件中,如 c:\cert\newroot.cer

3、添加新的CA根证书,假设新的CA根证书导入时的别名也为root(名字自定)。

keytool -import -alias root -keystore c:\cert\keystore -file c:\cert\newroot.cer

4、再次导入服务器证书,假设服务器别名是server,颁发的服务器证书贴在server.cer里。

keytool -import -alias server -keystore c:\cert\keystore -trustcacerts -file c:\cert\server.cer

以上步骤都需要输入证书密码,根据自己的实际情况更换证书所在的目录和文件名。

------------- 打完收工~

 

分享到:
评论

相关推荐

    Android签名工具(keytool)

    下载该文件后利用JDK中jarsigner工具生成签名文件 将位置定位在jdk的bin文件中,输入以下命名行: keytool -genkey -alias ChangeBackgroundWid get.keystore -keyalg RSA -validity 20000 -eystore ...

    PDF数字签名(ITEXT+keytool)

    2. **ITEXT库**:ITEXT是Java中广泛使用的PDF处理库,能够进行创建、编辑和签名PDF文档等操作。在数字签名方面,ITEXT提供了SignatureUtils和PdfStamper类等工具,用于创建和验证PDF的数字签名。 3. **keytool**:...

    keytool1.6

    在本文中,我们将深入探讨`keytool1.6`版本及其在生成签名文件过程中的应用。 ### 1. `keytool`简介 `keytool`主要用于以下任务: - 生成公钥和私钥对。 - 生成数字证书。 - 存储和管理本地密钥库。 - 验证证书链...

    JDK中利用keytool创建自签名证书

    在这个场景中,我们将深入探讨如何使用 `keytool` 创建一个自签名证书。 自签名证书是个人或组织为了测试目的或内部网络使用而自己签发的证书。它们不被公共信任机构认可,但在本地环境或非公开网络中可以提供基本...

    系统签名工具keytool-importkeypair.zip

    系统签名在IT行业中,特别是在Android开发中,是一个至关重要的概念。`keytool-importkeypair.zip`这个压缩包文件包含了用于系统签名的相关工具和文件,它主要用于生成和管理数字证书,确保应用或系统的安全性。 ...

    keytool建立双向认证

    标题中的“keytool建立双向认证”指的是在Java环境中使用keytool工具进行SSL/TLS协议的双向身份认证(Mutual TLS)配置。双向认证是一种安全通信协议,它要求客户端和服务器都提供身份验证,以确保双方的身份是可信...

    Android签名用keytool和jarsigner制作apk文件.doc

    本文将详细介绍如何使用`keytool`和`jarsigner`工具来为Android APK文件进行签名。 首先,`keytool`是Java Development Kit (JDK)自带的一个命令行工具,用于管理和创建数字证书,包括生成密钥对(公钥和私钥)以及...

    keytool图形化工具

    在Java开发和部署环境中,尤其是在涉及到SSL/TLS安全通信、签名和验证应用程序时,`keytool`和`KeyToolGui`扮演着至关重要的角色。 1. **什么是KeyTool?** `keytool`是Java Development Kit (JDK)自带的一个...

    java keytool使用例子

    要从密钥库中删除别名对应的证书,使用: ``` keytool -delete -alias <别名> -keystore <密钥库文件名> ``` 7. **设置密钥库口令** 为了保护密钥库的安全,Keytool允许设置访问口令: ``` keytool -...

    keytoolgui

    6. **自签名证书**:对于测试环境,可以自签证书,即用自己的私钥为自己的公钥签名。keytoolGUI提供了简便的步骤来完成这个过程。 7. **SSL配置**:在部署Web应用服务器时,keytoolGUI可以帮助配置服务器的SSL设置...

    https证书生成工具(openssl和jre(自带keytool)) for windows.rar

    - **生成自签名证书**:可以使用`keytool -genkeypair`命令生成自签名证书,例如`keytool -genkeypair -alias mycert -keyalg RSA -keystore keystore.jks`,这会在keystore.jks中创建一个名为mycert的证书。...

    KeyTool

    在签名过程中,数据用私钥签名,公钥用于验证签名。 - **数字证书**:数字证书是一个包含公钥、发行者信息、主体信息以及证书有效期等的文件,通常由证书颁发机构(CA)签署。它用于证明公钥持有者的身份。 - **...

    密钥管理工具 Keytool-IUI

    Keytool-IUI 是一个增强版的Java密钥和证书管理工具,它扩展了标准的Java Keytool命令行工具,提供了更友好的用户界面(UI),使得在IT环境中管理和操作数字证书变得更加直观和方便。Keytool是Java Development Kit...

    Keytool与数字证书

    ### Keytool与数字证书 #### 一、Keytool简介及基本操作 **Keytool** 是 Java 开发工具包...此外,虽然本文以自签名证书为例进行了介绍,但在生产环境中强烈建议使用第三方权威CA颁发的证书以增强信任度和安全性。

    证书工具KeyTool1.6

    4. **查看和删除Keystore内容**:用户可以使用KeyTool来查看Keystore中的条目,包括证书的有效期、颁发者等信息,也可以选择性地删除不再需要的条目。 5. **自签名证书**:对于测试环境或内部网络,KeyTool还可以...

    keytool证书制作工具

    `keytool`是Java开发工具包(JDK)中附带的一个命令行工具,用于管理密钥对(公钥和私钥)以及信任存储库。它在网络安全、HTTPS通信、服务器身份验证等领域扮演着重要角色。以下是关于`keytool`证书制作工具的详细...

    KeyTool_GUI

    导入证书是一项关键的操作,通常用于建立服务器的信任链,确保客户端能够安全地与服务器进行通信。 标签“Java KeyTool 有GUI界面”进一步确认了这个工具与Java环境相关,并且它扩展了KeyTool的功能,提供了GUI界面...

    keytool-importkeypair.zip

    在签名APK时,开发者会使用`keytool`来生成一个Keystore文件,然后使用这个Keystore中的私钥对APK进行签名。签名后的APK在安装时,Android系统会验证其数字签名,确保应用未经篡改并来自于可信源。 在压缩包内的...

    keytool生成证书

    5. **自签名证书**:如果你不打算通过CA签署证书,可以使用keytool进行自签名: ``` keytool -selfcert -alias mykey -validity 365 -keystore mykeystore.jks ``` 这将创建一个有效期为365天的自签名证书。 6....

    KeyTool1.6

    使用KeyTool,开发者可以创建自签名证书,或者请求并安装由受信任的CA签署的证书。 ### 四、KeyTool命令行工具 KeyTool通常通过命令行接口来使用,提供了丰富的选项来执行以下操作: 1. **生成密钥对**:`keytool ...

Global site tag (gtag.js) - Google Analytics