keytool 用法总结
keytool -list -v -keystore 用法 -回复
keytool -list -v -keystore 用法-回复keytool list v keystore 是一个用于查询并显示Java keystore 中所有证书的命令。
在本文中,我将一步一步回答有关keytool list v keystore 命令的用法及其参数的问题。
首先,让我们从keytool 命令的基本用法开始:Keytool 是一个用于管理和操作Java keystore 的实用工具。
它通常与密钥和证书相关的任务结合使用,例如生成、导入、导出和列出证书。
list 是keytool 命令的一个子命令,用于列出keystore 中的证书信息。
v 参数代表“verbose”,表示详细输出每个证书的详细信息。
keystore 是指用于存储密钥和证书的文件,通常使用 .jks 或 .p12 扩展名。
使用keytool list v keystore 命令的基本语法如下:keytool -list -v -keystore <keystore文件名>以下是使用keytool list v keystore 命令的详细步骤:第一步:打开命令提示符窗口或终端。
在Windows 上,按下Win + R 键,输入"cmd" 并按下Enter 键,将打开命令提示符窗口。
在macOS 或Linux 上,打开终端应用程序。
第二步:导航到keystore 文件所在的目录。
使用cd 命令进入包含keystore 文件的目录。
例如,如果keystore 文件位于"C:\keystore" 目录中,则使用以下命令:cd C:\keystore第三步:运行keytool list v keystore 命令。
使用以下命令运行keytool list v keystore 命令:keytool -list -v -keystore <keystore文件名>将<keystore文件名> 替换为实际的keystore 文件名。
tomcat配置 ssl单向双向 以及keytool使用介绍
1.王华斌本机测试过可行的例子小技巧: keytool -list -v –keystore keystore文件的全路径查看当前keystore文件中包含的证书:*******************************************如下:C:\tomcat5.0.28\jakarta-tomcat-5.0.28\bin>keytool -list -v -keystore "c:\tomcat.keystore"C:\tomcat5.0.28\jakarta-tomcat-5.0.28\bin>keytool -list -v -keystore "C:/ProgramFiles/Java/jdk1.6.0_26/jre/lib/security/cacerts"/kf/201108/100519.htmltomcat ssl单向/双向2011-08-17 13:52:30 我来说两句收藏我要投稿 [字体:小大] tomcat6配置:1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址如果只是加密,我感觉单向就行了。
如果想要用系统的人没有证书就访问不了系统的话,就采用双向单向配置第一步:为服务器生成证书使用keytool 为 tomcat 生成证书,假定目标机器的域名是“ localhost ”, keystore 文件存放在“ c:\tomcat.keystore ”,口令为“ password ”,使用如下命令生成:keytool -genkey -v -alias tomcat -keyalg rsa -validity 3650 -keystorec:\tomcat.keystore -dname "cn=localhost,ou=cn,o=cn,l=cn,st=cn,c=cn" -storepasspassword -keypass password这个tomcat.cer是为了解决不信任时要导入的keytool -export -alias tomcat -keystore c:\tomcat.keystore -file c:\tomcat.cer -storepass password第四步:配置tomcat 服务器打开tomcat 根目录下的 /conf/server.xml ,找到如下配置段,修改如下:<connector port="8443" protocol="http/1.1" sslenabled="true"maxthreads="150" scheme="https" secure="true"clientauth="false" sslprotocol="tls"keystorefile="c:/tomcat.keystore" keystorepass="password" >应用程序的web.xml 可以加上这句话:具体web系统<!-- authorization setting for ssl --><auth-method>client-cert</auth-method><realm-name>client cert users-only area</realm-name></login-config><security-constraint><!-- authorization setting for ssl --><web-resource-collection ><web-resource-name >ssl</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><user-data-constraint><transport-guarantee>confidential</transport-guarantee></user-data-constraint></security-constraint>到这里启动tomcat,输入https://localhost:8443/这时再打开会弹出一个提示框:证书不可信任,有一个警告,说什么需要机构颁发。
keytool工具import 语句
keytool工具import 语句keytool工具是Java开发中的一个重要工具,用于管理Java密钥库(Java KeyStore)中的证书和密钥。
下面是关于keytool工具import语句的介绍,希望对您有所帮助。
1. keytool -import:导入证书或密钥到Java密钥库中。
2. keytool -importcert:导入证书到Java密钥库中。
3. keytool -importkeystore:将其他格式的密钥库导入到Java密钥库中。
4. keytool -importpass:导入密码到Java密钥库中。
5. keytool -importprivkey:导入私钥到Java密钥库中。
6. keytool -importtrustcacerts:导入CA证书到Java密钥库中。
7. keytool -importsrckeystore:导入源密钥库到目标密钥库中。
8. keytool -importstorepass:导入密钥库密码到Java密钥库中。
9. keytool -importalias:导入别名到Java密钥库中。
10. keytool -importkeystore:将其他格式的密钥库转换为Java密钥库格式。
以上是关于keytool工具import语句的一些常用命令和功能介绍。
使用这些命令可以方便地导入和管理证书、密钥和密钥库。
通过使用keytool工具,开发人员可以在Java应用程序中使用安全的加密通信,保护敏感数据的安全性。
在使用keytool工具时,需要注意以下几点:1. 确保导入的证书或密钥的有效性和正确性,避免使用过期或不可信任的证书。
2. 密钥库的密码应该足够强壮,以保护密钥和证书的安全。
3. 导入过程中要注意保护隐私信息,避免泄露敏感数据。
4. 导入操作应该在安全可信的环境下进行,避免被恶意攻击或篡改。
keytool工具的import语句提供了便捷的证书和密钥管理功能,可以帮助开发人员实现Java应用程序的安全通信和数据保护。
keytool参数
keytool参数(原创实用版)目录1.keytool 简介2.keytool 参数说明3.keytool 参数举例4.keytool 参数的作用5.总结正文一、keytool 简介keytool 是一款 Java 密钥管理工具,它可以用于生成、存储和管理加密密钥。
keytool 是 Java 加密扩展 (JCE) 和 Java 安全扩展 (JSR 107) 的一部分,它可以在 Java 应用程序中使用,同时也可以作为独立的命令行工具使用。
二、keytool 参数说明keytool 提供了许多参数,用于执行各种密钥管理任务。
这些参数可以分为以下几类:1.密钥生成参数:用于生成新的密钥对或密钥。
2.密钥导入参数:用于将现有的密钥导入到 keytool 中。
3.密钥导出参数:用于将 keytool 中的密钥导出到文件或另一个密钥管理工具中。
4.密钥删除参数:用于删除 keytool 中的密钥。
5.密钥列表参数:用于列出 keytool 中的所有密钥。
6.密钥存储参数:用于将密钥存储到不同的存储介质中,如内存、文件或硬件安全模块 (HSM)。
三、keytool 参数举例以下是一些常见的 keytool 参数及其用法:1.生成密钥对:```keytool -genkey -alias myKeyPair -keyalg RSA -keysize 2048 -validity 365 -store myKeyStore```2.导入密钥:```keytool -importkey -alias myKey -file myKey.pem -keystore myKeyStore```3.导出密钥:```keytool -exportkey -alias myKey -file myKey.pem -keystore myKeyStore```4.删除密钥:```keytool -delete -alias myKey -keystore myKeyStore```5.列出密钥:```keytool -list -keystore myKeyStore```6.存储密钥:```keytool -store -file myKeyStore -keypass myKeyPassword```四、keytool 参数的作用keytool 的各个参数用于执行不同的密钥管理任务,如生成、导入、导出、删除和列出密钥等。
jdk工具keytool和jarsigner帮助
jdk工具keytool和jarsigner帮助jdk工具keytool和jarsigner帮助Part1(jdk keytool&jarsigner tool manual)0.背景keytool是JDK中包含的密钥和证书的管理工具。
用于管理私钥及其相关的X.509证书链的keystore。
X.509证书链用于认证对应的公钥,keystore类似于一个数据库。
同时keytool还用于管理信任实体发布的证书。
jarsigner是JDK中包含的用于JAR文件签名和验证的工具。
为Java档案文件(JAR)生成签名,以及对已签名的jar文件的进行校验。
1.工具Location这两个工具都位于$JAVA_HOME/bin目录下,其中$JAVA_HOME是JDK的安装目录。
这两个工具都是在命令行中使用,在命令行窗口输入:keytool和jarsigner即可获取命令的工具的使用方法。
2.keytool工具简介keytool是密钥和证书管理工具。
用户使用该工具来管理公钥/私钥对以及关联的证书,通过使用数字签名,可以应用于自签名或者数据完整性/认证服务,用户还可以使用该工具来缓存合作伙伴的公钥(以证书的形式)。
证书是由实体进行数字签名的声明,这里实体可以是个人或者企业。
一旦数据被数字签名,那么可以通过检查数据完整性和可靠性来校验签名。
完整性的意思是数据没有被修改/篡改过,可靠性是指数据确实是来自于宣布拥有数据的人。
keytool将密钥和证书存储在所谓的keystore中,默认的keystore实现是将keystore作为一个文件。
它使用密码来保护私钥。
jarsigner工具使用keystore中的信息来生成或者校验JAR文件的数字签名。
jarsigner使用附带在JAR文件中的证书来校验数字签名(证书包含在JAR文件的签名块文件中),然后检查证书的公钥是否是可信赖的,也就是说是否包含在指定的keystore中。
如何应用JDK中的keytool.exe命令工具创建数字证书
6、导出生成安全证书文件的命令和创建过程
(1)在操作系统的命令行窗口中输入如下的命令 keytool -export -alias yangSB -file F:/server.cer -keystore f:/server.keystore -validity 365
上面的命令的主要功能将实现把位于目录文件中的数字证 书库f:/server.keystore中的别名为“yangSB”的证书导出到 F:/server.cer的数字证书文件中。在F:/server.cer的数字证 书文件中将包含有证书主体的信息及证书的公钥等方面的信息, 但不包括私钥信息。因此,该server.cer数字证书文件可以公 开。 (2)输入密码 然后再输入前面的f:/server.keystore数字证书库文件中 存储的keystore密码(本示例为123456),系统将会在F盘的 根目录中创建出一个文件名称为server.cer的数字证书文件。 其中的“-file F:/server.cer”命令参数即为要求生成.cer 格式文件,如下示图所示:
(3)双击所创建的server.cer的数字证书文件,将能够正常地 看到数字证书中相关的信息。
3、熟悉和了解数字证书文件
(1)数字证书库中的一条证书可以导出为数字证书文件,而数字 证书文件只包括主体信息和对应的公钥——公共密钥用于加密 信息,私用密钥用于解译加密的信息。 (2)每一个数字证书 库是由一个文件所组 成,并保存有访问的 密码。在首次创建时, 它会自动生成数字证 书库,并要求指定访 问该数字证书库的密 码。
2、数字证书的主要用途
(1)发送安全电子邮件、访问安全站点、网上证券交易、网上招 标采购、网上办公、网上保险、网上税务、网上签约和网上银 行等安全电子事务处理和安全电子交易等活动中。 (2)比如,将服务器端的SSL证书安装于服务器设备上,可以用 来证明服务器的身份和进行通信加密。 因为,应用服务器端的数字证书可以有效地防止欺诈的“钓 鱼”站点。
keytool -list -v -keystore 用法 -回复
keytool -list -v -keystore 用法-回复keytool是Java开发中的一个命令行工具,用于管理Java密钥库(Keystore)。
它提供了创建、导入、查看和删除密钥库中的密钥对的功能。
在本文中,我们将介绍keytool list v keystore命令的用法,并逐步回答相关问题。
第一步:理解keytoolKeytool是Java开发人员的一个重要工具,用于生成和管理SSL证书、私钥和密钥库。
通过运行keytool命令,您可以执行许多与密钥库相关的任务,包括生成新的密钥对、查看密钥库中的现有密钥对以及导入/导出密钥对。
第二步:keytool命令格式的解释在命令提示符下键入“keytool list v keystore”命令将显示密钥库的详细信息。
以下是命令的结构:keytool list [options] [-v/verbose] [-rfc] [-Joption]在这个命令中,`list`是一个子命令,`-v` or `verbose`选项用于以详细或可读的方式显示密钥库的信息。
`-rfc`选项用于以RFC格式打印证书或CRT文件。
`-Joption`选项用于将选项传递给Java虚拟机进程。
第三步:运行keytool list v keystore命令要运行“keytool list v keystore”命令,您需要在命令提示符下键入以下内容:keytool list -v -keystore [keystore文件路径]其中,`-v`选项用于显示详细信息,`-keystore`选项后面是密钥库文件的路径。
例如,要查看名为“myKeystore.jks”的密钥库的详细信息,请键入以下命令:keytool list -v -keystore myKeystore.jks第四步:回答关于keytool list v keystore的问题下面是关于keytool命令的常见问题的回答:1. Q: keytool list v keystore命令的作用是什么?A: 这个命令用于显示密钥库的详细信息,包括密钥对、证书和其他相关信息。
keytool 基本约束
keytool 基本约束一、概述keytool是Java提供的用于管理密钥和证书的工具。
在使用keytool生成密钥对或者证书时,我们需要遵守一些基本约束,以确保生成的密钥和证书的安全性和可信度。
本文将详细介绍keytool的基本约束,帮助读者正确使用keytool生成安全可靠的密钥和证书。
二、密钥生成约束1. 密钥长度密钥的长度是衡量密钥强度的重要指标。
一般情况下,密钥长度越长,破解密钥的难度越大。
在使用keytool生成密钥时,应该选择足够长的密钥长度,以确保密钥的安全性。
常用的密钥长度有128位、256位等。
2. 密钥算法密钥算法是指生成密钥对的算法。
keytool支持多种常见的密钥算法,如RSA、DSA 等。
在选择密钥算法时,应该考虑算法的安全性和性能。
3. 密钥用途在生成密钥时,需要指定密钥的用途。
常见的密钥用途有签名、加密等。
根据实际需求,选择合适的密钥用途。
三、证书生成约束1. 证书类型keytool支持生成多种类型的证书,如自签名证书、CA签名证书等。
根据实际需求,选择合适的证书类型。
2. 证书有效期证书的有效期是指证书的生效时间和失效时间。
在生成证书时,应该设置合理的有效期,以确保证书的可用性和安全性。
一般情况下,证书的有效期不宜过长,以避免证书被滥用。
3. 证书主题证书的主题是指证书中包含的信息,如证书持有人的姓名、组织名称等。
在生成证书时,应该提供准确的证书主题信息,以确保证书的可信度和可用性。
4. 证书链证书链是指由根证书到终端证书的一系列证书的集合。
在生成证书时,应该构建正确的证书链,以确保证书的可信度和可用性。
证书链的构建需要遵循一定的规则和约束,如根证书应该是自签名的,中间证书应该由CA签名等。
四、使用keytool生成密钥和证书的步骤使用keytool生成密钥和证书的步骤如下:1.生成密钥对:–使用keytool -genkeypair命令生成密钥对。
–设置密钥的长度、算法、用途等。
keytool使用
keytool使用管理由私钥和认证相关公钥的X.509 证书链组成的密钥仓库(数据库)。
还管理来自可信任实体的证书。
结构keytool [ 命令 ]说明keytool 是个密钥和证书管理工具。
它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。
它还允许用户储存他们的通信对等者的公钥(以证书形式)。
证书是来自一个实体(个人、公司等)的经数字签名的声明,它声明某些其它实体的公钥(及其它信息)具有某一的特定值(参见证书)。
当数据被数字化签名后,校验签名即可检查数据的完整性和真实性。
完整性的意思是数据没有被修改或损坏过,真实性的意思是数据的确是来自声称创建了该数据和对它进行了签名的实体。
keytool 将密钥和证书储存在一个所谓的密钥仓库中。
缺省的密钥仓库实现将密钥仓库实现为一个文件。
它用口令来保护私钥。
jarsigner 工具利用密钥仓库中的信息来产生或校验Java 存档(JAR) 文件的数字签名(JAR 文件将类文件、图象、声音和/或其它数字化数据打包在一个文件中)。
jarsigner 用JAR 文件所附带的证书(包含于 JAR 文件的签名块文件中)来校验 JAR 文件的数字签名,然后检查该证书的公钥是否“可信任”,即是否包括在指定的密钥仓库中。
请注意:keytool 和 jarsigner 工具完全取代了 JDK 1.1 中提供的javakey 工具。
这些新工具所提供的功能比 javakey 提供的多,包括能够用口令来保护密钥仓库和私钥,以及除了能够生成签名外还可以校验它们。
新的密钥仓库体系结构取代了javakey 所创建和管理的身份数据库。
可以利用 -identitydb keytool 命令将信息从身份数据库导入密钥仓库。
密钥仓库项在密钥仓库中有两种不同类型的项:密钥项- 每项存放极为敏感的加密密钥信息,这种信息以一种受保护的格式储存以防止未授权的访问。
keytool
6. 将客户端证书导入到服务器端受信任的 keystore 中
keytool -import -alias sslclient -keystore sslservertrust -file sslclient.cer
7. 将服务器端证书导入到客户端受信任的 keystore 中
keytool -import -alias sslserver -keystore sslclienttrust -file sslserver.cer
以上所有步骤都完成后,还可以通过命令来查看 keystore 文件基本信息,如图 3 所示
keytool -list -keystore sslclienttrust
图 3. 查看 keystore 文件
图 3. 查看 keystore 文件
将前面创建的所有 keystore 文件从 java 的 bin 目录中剪切出来,移动到样例程序的执行目录中,通过运行程序时候的系统属性来指定这些文件,重新执行一遍样例程序。
keytool -genkey -alias sslserver -keystore sslserverkeys
5. 将服务器端 keystore 文件导出成证书格式
keytool -export -alias sslserver -keystore sslserverkeys -file sslserver.cer
example.ssl.codes.SSLClient
.ssl.keyStorePassword=123456
.ssl.trustStore=sslclienttrust
.ssl.trustStorePassword=123456
.ssl.trustStorePassword=123456
keytool生成公私钥匙介绍
java keytool证书工具使用小结Keytool是一个Java数据证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Key entity)-密钥(secret key)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)-只包含公钥.JDK中keytool常用参数说明(不同版本有差异,详细可参见【附录】中的官方文档链接):∙-genkey在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)∙-alias 产生别名每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写∙-keystore指定密钥库的名称(产生的各类信息将不在.keystore文件中)∙-keyalg指定密钥的算法(如RSA DSA,默认值为:DSA)∙-validity 指定创建的证书有效期多少天(默认90)∙-keysize指定密钥长度(默认1024)∙-storepass指定密钥库的密码(获取keystore信息所需的密码)∙-keypass指定别名条目的密码(私钥的密码)∙-dname指定证书发行者信息其中:“CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码”∙-list 显示密钥库中的证书信息keytool -list -v -keystore指定keystore -storepass密码∙-v 显示密钥库中的证书详细信息∙-export 将别名指定的证书导出到文件keytool -export -alias 需要导出的别名-keystore指定keystore -file 指定导出的证书位置及证书名称-storepass密码∙-file 参数指定导出到文件的文件名∙-delete 删除密钥库中某条目keytool -delete -alias 指定需删除的别-keystore指定keystore – storepass密码∙-printcert查看导出的证书信息keytool -printcert -file g:\sso\michael.crt∙-keypasswd修改密钥库中指定条目口令keytool -keypasswd -alias 需修改的别名-keypass旧密码-new 新密码-storepasskeystore密码-keystore sage∙-storepasswd修改keystore口令keytool -storepasswd -keystoreg:\sso\michael.keystore(需修改口令的keystore) -storepasspwdold(原始密码) -newpwdnew(新密码)∙-import 将已签名数字证书导入密钥库keytool -import -alias 指定导入条目的别名-keystore指定keystore -file 需导入的证书目录说明:1.生成证书2.查看证书3.证书导出4.附录资料一、生成证书按win键+R,弹出运行窗口,输入cmd回车,打开命令行窗户,输入如下命令:1 keytool -genkey -alias michaelkey -keyalg RSA -keysize 1024 -keypassmichaelpwd -validity 365 -keystore g:\sso\michael.keystore -storepass michaelpwd2截图如下:二、查看证书1 keytool -list -v -keystore g:\sso\michael.keystore -storepass michaelpwd2 回车看到的信息如下:-rfc命令如下:1 keytool -list -rfc -keystore g:\sso\michael.keystore -storepass michaelpwd2 回车看到的信息如下:1 keytool -export -alias michaelkey -keystore g:\sso\michael.keystore -file g:\sso\michael.crt -storepass michaelpwd2回车如下:查看导出的证书信息:1 keytool -printcert -file g:\sso\michael.crt 回车看到信息如下:四:附录官方有关keytool命令的介绍文档:∙jdk1.4.2 :/javase/1.4.2/docs/tooldocs/windows/keytool.html ∙jdk1.6 :/javase/6/docs/technotes/tools/windows/keytool.html∙jdk1.7 :/javase/7/docs/technotes/tools/windows/keytool.htmls。
keytool用法
Keytool是Java平台的一个工具,用于管理密钥库和证书。
以下是Keytool的一些常见用法:1. 生成密钥对:使用“-genkeypair”选项可以生成一对非对称密钥,包括公钥和私钥。
例如:```bashkeytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks```上述命令将生成一个2048位的RSA密钥对,并将其存储在名为“mykeystore.jks”的密钥库中。
该命令还指定了别名为“myalias”,密钥库的有效期为365天。
2. 导入证书:使用“-import”选项可以将证书导入到密钥库中。
例如:```bashkeytool -import -alias myalias -file mycertificate.crt -keystore mykeystore.jks```上述命令将名为“mycertificate.crt”的证书导入到名为“mykeystore.jks”的密钥库中,并将别名为“myalias”。
3. 导出证书:使用“-export”选项可以将密钥库中的证书导出为文件。
例如:```bashkeytool -export -alias myalias -file mycertificate.crt -keystore mykeystore.jks```上述命令将名为“mykeystore.jks”的密钥库中的名为“myalias”的证书导出为名为“mycertificate.crt”的文件。
4. 删除密钥库中的条目:使用“-delete”选项可以删除密钥库中的条目。
例如:```bashkeytool -delete -alias myalias -keystore mykeystore.jks```上述命令将删除名为“mykeystore.jks”的密钥库中名为“myalias”的条目。
keytool参数
keytool参数keytool是Java开发工具包(JDK)中的一个命令行工具,用于管理Java密钥库(Java KeyStore)和证书。
它提供了一种简单的方式来生成、导入、导出和管理密钥对、证书和证书链,以及对密钥库的操作。
在本文中,我们将介绍一些常用的keytool参数及其用法。
1. -genkeypair参数:使用-genkeypair参数可以生成一个新的密钥对,并将其存储在一个新的密钥库中。
这个参数通常与-alias、-keyalg、-keysize、-validity和-keypass等参数一起使用。
例如,下面的命令将生成一个RSA密钥对,存储在名为mykeystore.jks 的密钥库中:keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks -keypass mypassword2. -import参数:使用-import参数可以将一个证书或证书链导入到一个密钥库中。
这个参数通常与-alias、-file和-keystore等参数一起使用。
例如,下面的命令将导入一个名为mycert.cer的证书文件到名为mykeystore.jks的密钥库中:keytool -import -alias myalias -file mycert.cer -keystore mykeystore.jks3. -export参数:使用-export参数可以将一个证书从一个密钥库中导出到一个文件中。
这个参数通常与-alias、-file和-keystore等参数一起使用。
例如,下面的命令将从名为mykeystore.jks的密钥库中导出一个名为mycert.cer的证书文件:keytool -export -alias myalias -file mycert.cer -keystore mykeystore.jks4. -list参数:使用-list参数可以列出一个密钥库中的所有条目,包括密钥对、证书和证书链。
keytools使用
java keytool证书工具使用小结作者: Michael日期: 2012 年 5 月 10 日发表评论 (2)查看评论Keytool 是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Key entity)-密钥(secret key)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)-只包含公钥. JDK中keytool常用参数说明(不同版本有差异,详细可参见【附录】中的官方文档链接):∙-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)∙-alias 产生别名每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写∙-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)∙-keyalg 指定密钥的算法 (如 RSA DSA,默认值为:DSA)∙-validity 指定创建的证书有效期多少天(默认 90)∙-keysize 指定密钥长度(默认 1024)∙-storepass 指定密钥库的密码(获取keystore信息所需的密码)∙-keypass 指定别名条目的密码(私钥的密码)∙-dname 指定证书发行者信息其中:“CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码”∙-list 显示密钥库中的证书信息 keytool -list -v -keystore 指定keystore -storepass 密码∙-v 显示密钥库中的证书详细信息∙-export 将别名指定的证书导出到文件 keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码∙-file 参数指定导出到文件的文件名∙-delete 删除密钥库中某条目 keytool -delete -alias 指定需删除的别-keystore 指定keystore – storepass 密码∙-printcert 查看导出的证书信息 keytool -printcert -file g:\sso\michael.crt∙-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore密码-keystore sage∙-storepasswd 修改keystore口令 keytool -storepasswd -keystore g:\sso\michael.keystore(需修改口令的keystore) -storepasspwdold(原始密码) -new pwdnew(新密码)-import 将已签名数字证书导入密钥库 keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书目录说明:1. 生成证书2. 查看证书3. 证书导出4. 附录资料一、生成证书按win 键+R ,弹出运行窗口,输入 cmd 回车,打开命令行窗户,输入如下命令:1 keytool -genkey -alias michaelkey -keyalg RSA -keysize 1024 -keypass michaelpwd -validity 365 -keystore g:\sso\michael.keystore -storepass michaelpwd2截图如下:二、查看证书缺省情况下,-list 命令打印证书的 MD5 指纹。
Keytool工具使用
Keytool工具使用一、生成证书按win键+R,弹出运行窗口,输入cmd回车,打开命令行窗户,输入如下命令:keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"功能:创建一个别名为test1的证书条目,该条目存放在名为test.keystore的密钥库中,若test.keystore密钥库不存在则创建。
参数说明:-genkeypair:生成一对非对称密钥;-alias:指定密钥对的别名,该别名是公开的;-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下(C:\Users\thinkpad)生成一个".keystore"的文件注意:1.在命令行中输入“keytool –genkey”将自动使用默认的算法生成公钥和私钥,这里并未指定使用何算法,将使用默认的DSA算法。
2.由于“.keystore”中包含了私钥,所以是一个需要保密的文件,因此上述操作提示为该文件设置一个密码:“输入密钥库口令”,这里第一次使用该密钥库,因此输入的密码“123456”将成为该默认的密钥库的密码(实际使用时应该设置复杂的口令)。
以后再使用这个密钥库时必须提供这个口令才可以使用。
3.以上操作最后还提示“输入<test1>的主密码”,这里“test1”是默认的别名,使用该名字可以在密钥库“.keystore”中找到对应的公钥、私钥和证书。
此处输入的密码是对应于该别名的私钥的密码,密钥库中每个别名可以使用不同的密码加以保护。
4.密钥库中可以存放多个条目(公钥/私钥对和证书),它们在密钥库中以别名(alias)区分。
在使用keytool工具时没有指定别名,因此系统使用了默认的别名mykey。
keytool用法修正版
keytool的用法Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。
证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。
1.证书的显示-list[-v | -rfc] [-alias <alias>] [-keystore <keystore>] [-storepass <storepass>] [-storetype<storetype>] [-provider <provider_class_name>]例如:keytool -list -v -alias RapaServer -keystore cacerts -storepass 12345678keytool -list -v -keystore d2aapplet.keystore -storepass 12345678 -storetype IAIKKeystore 2.将证书导出到证书文件例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer将把证书库 monitor.keystore 中的别名为 monitor 的证书导出到 monitor.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
keytool -export -keystore d2aApplet.keystore -alias RapaServer -file Rapa.cert -storetype IAIKKeystore3.将keystore导入证书中这里向Java默认的证书 cacerts导入Rapa.certkeytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts4.证书条目的删除 keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool-delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。
keytool+tomcat6配置HTTPS1双向证书SSL认证
keytool+tomcat6配置HTTPS双向证书SSL认证【转】文章分类:Java编程转于百度文库在Tomcat 6中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证。
系统需求:JDK 5.0Tomcat 6.0.16定位到你要生成keystore的路径第一步:为服务器生成证书使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件存放在“C:\tomcat.keystore”,口令为“password”,使用如下命令生成:keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcat.keystore如果Tomcat所在服务器的域名不是“localhost”,应改为对应的域名,如“”,否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。
在本地做开发测试时,应填入“localhost”第二步:为客户端生成证书下一步是为浏览器生成证书,以便让服务器来验证它。
为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,因此,使用如下命令生成:keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore c:\my.pfx对应的证书库存放在“C:\my.pfx”,客户端的CN可以是任意值。
稍候,我们将把这个“my.p12”证书库导入到IE和Firefox中。
第三步:让服务器信任客户端证书由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。
由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令:keytool -export -alias mykey -keystore my.p12 -store PKCS12 -storepass password -rfc -file c:\my.cer通过以上命令,客户端证书就被我们导出到“C:\my.cer”文件了。
keytool参数
keytool参数1. 简介keytool是Java开发工具包(JDK)中的一个命令行工具,用于管理Java密钥库(JKS)和证书。
它提供了创建、导入、导出和管理密钥库和证书的功能。
keytool 可以用于生成自签名证书、生成密钥对、导入和导出证书以及查看证书信息等操作。
本文将详细介绍keytool的各种参数及其用法。
2. 生成密钥对使用keytool生成密钥对是创建和管理证书的基础。
以下是keytool生成密钥对的常用参数:2.1 -genkeypair使用-genkeypair参数可以生成密钥对,并将其存储在密钥库中。
生成密钥对时,keytool会要求输入一些信息,如密钥库密码、密钥密码、姓名、组织单位等。
以下是使用-genkeypair参数生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -keystore mykeystore.jks2.2 -keyalg-keyalg参数用于指定密钥的算法。
常见的算法有RSA、DSA和EC等。
以下是使用-keyalg参数指定RSA算法生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -keystore mykeystore.jks2.3 -keysize-keysize参数用于指定密钥的长度。
密钥长度越长,安全性越高,但生成和使用密钥的速度也会变慢。
以下是使用-keysize参数指定密钥长度为2048位生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -keystore mykeystor e.jks2.4 -dname-dname参数用于指定证书的拥有者信息。
拥有者信息包括姓名、组织单位、组织名称、城市、省份、国家等。
以下是使用-dname参数指定拥有者信息生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -dname "CN=John Doe, OU=Developme nt, O=Company, L=City, ST=State, C=Country" -keystore mykeystore.jks3. 导入和导出证书keytool可以导入和导出证书,使得我们可以在不同的系统或应用之间共享证书。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
keytool 用法总结
博客分类:
工具&软件
内容概览:
keytool的几个常用的命令。
1.创建证书
2.查看证书库
3.导出证书文件
4.导入证书的信息
5.查看证书信息
6.删除密钥库中的条目
7.修改证书条目的口令
-------------------------------------------------------------------------------------- 预备知识:
keytool的概念
SUN公司提供了制作证书的工具keytool。
在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe。
-------------------------------------------------------------------------------------- 主要内容:
1.创建证书
说明:
密钥库密码为testtest
证书条目密码为testtest1,若别名为test2则密码为testtest2
这样为个不乱
功能:
创建一个别名为test1的证书条目,该条目存放在名为test.keystore的密钥库中,若test.keystore密钥库不存在则创建。
参数说明:
-genkeypair:生成一对非对称密钥;
-alias:指定密钥对的别名,该别名是公开的;
-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;
-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件
注意:
1.“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;
2.再次输入密码,第一次输入的是密钥库(keystore)的密码,第二次输入的是证书条目的密码
3.这里所说的证书库和密钥库是等同的(个人观点)
为了测试需要,这里再创建两个别名为test2和test3的证书条目在test.keystore密钥库中,代码如下:
2.查看证书库
功能:
查看名为test.keystore的证书库中的证书条目
3.导出到证书文件
Cmd代码
功能:
将名为test.keystore的证书库中别名为test1的证书条目导出到证书文件test.crt中4.导入证书的信息
功能:
将证书文件test.crt导入到名为test_cacerts的证书库中,5.查看证书信息
功能:
查看证书文件test.crt的信息
6.删除密钥库中的条目
删除前查看密钥库test.keysote中的证书条目
删除密钥库test.keystore中别名为test2的证书条目
删除后查看密钥库test.keystore中的证书条目
7.修改证书条目的口令交互的方式
功能:
将密钥库test.keystore中别名为test1的证书条目的密码修改为testtesttest1 非交互方式
功能:
将密钥库test.keystore中别名为test1的证书条目的密码修改为testtest1
--------------------------------------------------------------------------------------。