keytool JAVA是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。通过keytool –help查看其用法,详细信息可以参考http: //java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html
创建证书Java 中的 keytool.exe (位于 JDK/Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。
每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码。
在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,它们的意思是:
? CN(Common Name - 名字与姓氏):其实这个“名字与姓氏”应该是域名,比如说localhost或是blog.devep.net之类的。输成了姓名,和真正运行的时候域名不符,会出问题。浏览器访问时,弹出一个对话框,提示“安全证书上的名称无效,或者与站点名称不匹配”,用户选择继续还是可以浏览网页。但是用http client写程序访问的时候,会抛出类似于“javax.servlet.ServletException: HTTPS hostname wrong: should be ”的异常。
? OU(Organization Unit - 组织单位名称)
? O(Organization - 组织名称)
? L(Locality - 城市或区域名称)
? ST(State - 州或省份名称)
? C(Country - 国家名称)
可以采用交互式让工具提示输入以上信息,也可以采用参数,如:-dname “CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx”来自动创建。
创建一个证书
指定证书库为 D:/keystore/test,创建别名为 Tomcat 的一条证书,它指定用 RSA 算法生成,且指定密钥长度为 1024,证书有效期为 1 年:
keytool -genkey -alias Tomcat -keyalg RSA -keysize 1024 -keystore C:/keystore/test -validity 365
显示证书库中的证书使用如下命令: keytool -list -keystore C:/keystore/test 将显示 C:/keystore/test 证书库的的所有证书列表
导出到证书文件
使用命令:keytool -export -alias Tomcat -file C:/keystore/TC.cer -keystore C:/keystore/test 将把证书库C:/keystore/test 中的别名为 Tomcat 的证书导出到 TC.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,可以加上 -rfc参数以一种可打印的编者编码输出。 如:
keytool -export -alias Tomcat -file C:/keystore/TC.cer -keystore C:/keystore/test –rfc
查看证书的信息
通过命令: keytool -printcert -file D:/keystore/TC.cer 可以查看证书文件的信息。 也可以在 Windows 资源管理器中双击产生的证书文件直接查看。
删除密钥库中的条目
keytool -delete -alias Tomcat -keystore C:/keystore/test
这条命令将 C:/keystore/test 库中的 Tomcat 这一条证书删除了。
修改证书条目口令
keytool -keypasswd -alias Tomcat -keystore C:/keystore/test,可以以交互的方式修改 C:/keystore/test 证书库中的条目为 Tomcat 的证书。
Keytool -keypasswd -alias Tomcat -keypass oldpasswd -new newpasswd -storepass storepasswd -keystore C:/keystore/test 这一行命令以非交互式的方式修改库中别名为 Tomcat 的证书的密码为新密码 newpasswd,行中的 oldpasswd 是指该条证书的原密码, storepasswd 是指证书库的密码。
分享到:
相关推荐
keytool 用法总结
下面我们将详细探讨Java Keytool的使用方法和相关知识点。 1. **证书与密钥对** 数字证书是一种电子文档,用于证明网络实体的身份。它包含了公钥和相关标识信息,由可信的证书颁发机构(CA)签名。密钥对包括一个...
- **生成密钥对**:使用`keytool`可以生成RSA、DSA等算法的密钥对。 - **导入/导出证书**:可以将生成的证书导入到本地存储库,也可以导出为PEM、DER等格式。 - **查看证书信息**:检查存储库中的证书详情,如...
在本文中,我们将深入探讨KeyTool的基本用法、X.509证书的概念,以及如何使用KeyTool生成这种类型的证书。 X.509是一种国际标准,用于定义证书的格式,它包含了公钥和相关标识信息,如组织名称、地理位置等,常用于...
具体使用方法和功能需要参照该工具的文档或者通过运行程序来探索。 对于初学者,理解并正确使用 `keytool` 工具是提高Java安全编程能力的重要步骤。通过`keytool_gui`,用户无需记住复杂的命令行参数,可以更方便地...
本篇将详细讲解如何使用`keytool`来查询APK的证书指纹,包括MD5、SHA1和SHA256等安全摘要算法的指纹。 首先,你需要安装Java开发工具包(JDK)。这里提供了一个名为"jdk-8u261-windows-x64.exe"的文件,这应该是JDK...
"Keytool 使用说明" Keytool 是安全钥匙和证书的管理工具,管理一个存储了私有钥匙和验证相应公共钥匙的和他们相关联的 X.509 证书链的 keystore(相当一个数据库)。Keytool 是个有效的安全钥匙和证书的管理工具。...
用keytool生成证书,双向SSL认证配置的方法,以Tomcat举例。包含步骤:一、为服务器生成证书;二、为客户端生成证书;三、让服务器信任客户端证书;四、让客户端信任服务器证书。
本文将基于"keytool-advanced-v2.01.zip"这一特定版本,深入探讨Keytool的高级用法。 一、Keytool基本概念 1. 密钥对:密钥对由一对公钥和私钥组成,公钥用于加密数据,而私钥用于解密。在公开密钥加密体制中,...
Java Keytool是一个强大的工具,主要用于管理和操作密钥对和数字证书,这些是Java安全框架中的核心元素。在Java Secure Socket Extension ...通过理解Keytool的使用方法和原理,开发者可以有效地保障网络通信的安全性。
压缩包中可能包含详细的操作步骤文档,包括如何配置openssl和keytool环境,如何执行相关命令,以及可能出现的问题及解决方法。务必仔细阅读并按照说明进行操作,以确保证书的正确生成。 6. **安全性注意事项** - ...
使用方法: 将三个文件文件放在同一个目录下,执行如下命令,会生成platform.keystore文件: sh keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias ...
`openss简介.doc`可能包含了OpenSSL的详细使用方法和常见操作步骤,而`ca_sign.txt`可能是关于CA签名证书过程的记录或者脚本。理解和掌握这两个工具的使用对于从事网络编程、服务器管理和安全领域的IT专业人士来说至...
- 可能还有README文件,解释项目用途和使用方法。 **6. 安全注意事项** 密钥对和密钥库的管理非常重要,因为私钥必须保密。如果私钥泄露,攻击者可能能够冒充开发者,签署恶意软件。因此,保存和备份密钥库时需要...
综上所述,`keytool-importkeypair.zip`文件提供了一种方法,帮助开发者将特定格式的签名文件转换为Android Studio支持的.jks格式,以便于应用的签名和发布。理解并正确使用这个工具对于Android开发者来说至关重要,...
综上所述,这个主题涵盖了Java安全、SSL/TLS协议、keytool的使用方法、Tomcat的SSL配置以及单向和双向认证的概念。学习和掌握这些知识对于进行安全的Web服务部署和管理至关重要。在实际操作时,务必注意证书的有效期...
在Android平台上,应用程序的发布和分发需要经过签名这一关键步骤。...通过理解这些工具的工作原理和使用方法,开发者可以更好地控制自己的应用程序生命周期,确保其在Android生态系统中的安全分发。
Android7.1的platform.pk8和platform.x509.pem,以及keytool-importkeypair工具和它的使用教程。 注意:如果你使用的是windows系统,那么教程中的命令可以用Git Bash来执行
在Android开发中,确保应用程序的安全性和完整性至关重要。...不过,具体的操作细节和使用方法,需要查看项目中的文档或代码来获取更多信息。在实际操作前,确保理解每个步骤的风险和后果,以保护用户和设备的安全。
在这个主题中,我们将深入探讨`keytool`的使用方法以及如何在实际场景中应用数字证书。 首先,我们来看一下如何生成一个数字证书。在命令行中,你可以使用`keytool`命令来创建一个新的Key Pair(密钥对),并将其...