`
dailiang0515
  • 浏览: 33229 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

keytool使用(纯搬运)

阅读更多

 原文:http://blog.chinaunix.net/uid-17102734-id-2830223.html

 

Keytool 是一个Java 数据证书的管理工具 ,Keytool 将密钥(key)和证书(certificates)存在一个称为keystore的文件中。

在keystore里,包含两种数据:

(1)密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
(2)可信任的证书实体(trusted certificate entries)——只包含公钥

JDK中keytool常用命令:

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\文件名为“.keystore”)


-alias       产生别名,每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写


-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中)

可以不用加在命令上,后面会提示输入


-keyalg      指定密钥的算法 (如 RSA  DSA(如果不指定默认采用DSA))


-validity    指定创建的证书有效期多少天


-keysize     指定密钥长度


-storepass   指定密钥库的密码(获取keystore信息所需的密码)

可以不用加在命令上,后面会提示输入


-keypass     指定别名条目的密码(私钥的密码)

可以不用加在命令上,后面会提示输入


-dname       指定证书拥有者信息

例如:  "CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"

注意:CN用在服务器上,比如tomcat,最好是域名或ip,比如localhost,192.168.1.69等

可以不用加在命令上,后面会提示输入


-list        显示密钥库中的证书信息     


-v           显示密钥库中的证书详细信息


-export      将别名指定的证书导出到文件 

keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码

-file        参数指定导出到文件的文件名


-delete      删除密钥库中某条目 

keytool -delete -alias 指定需删除的别名  -keystore 指定keystore  -storepass 密码     

-printcert   查看导出的证书信息

keytool -printcert -file yushan.crt        

-keypasswd   修改密钥库中指定条目口令   

keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new  新密码  -storepass keystore密码  -keystore

-import      将已签名数字证书导入密钥库 

keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书

下面是各选项的缺省值
-alias "mykey"

-keyalg "DSA"

-keysize 1024

-validity 90

-keystore 用户宿主目录中名为 .keystore 的文件

-file 读时为标准输入,写时为标准输出
          


1、keystore的生成:

(1)分阶段生成:
     keytool -genkey -alias yushan(别名) -keypass
yushan(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore e:\yushan.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码);回车输入相关信息即可;
    
(2)一次性生成:
     keytool -genkey -alias yushan -keypass yushan
-keyalg RSA -keysize 1024 -validity 365 -keystore e:\yushan.keystore -storepass 123456 -dname "CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)";(中英文即可)

2、keystore信息的查看:
   keytool -list  -v -keystore e:\keytool
\yushan.keystore -storepass 123456
显示内容:
---------------------------------------------------
Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 1 输入

别名名称: yushan
创建日期: 2009-7-29
项类型: PrivateKeyEntry
认证链长度: 1
认证 [1]:
所有者:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=
湖南, C=中国签发人:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国
序列号:4a6f29ed
有效期: Wed Jul 29 00:40:13 CST 2009 至Thu Jul 29
00:40:13 CST 2010
证书指纹:

MD5:A3:D7:D9:74:C3:50:7D:10:C9:C2:47:B0:33:90:45:C3
SHA1:2B:FC:9E:3A:DF:C6:C4:FB:87:B8:A0:C6:99:43:E9:4C:4A:E1:18:E8
         签名算法名称:SHA1withRSA
         版本: 3
---------------------------------------------------

缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。

keytool -list  -rfc -keystore e:\yushan.keystore -

storepass 123456

显示:

---------------------------------------------------

Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 1 输入

别名名称: yushan
创建日期: 2009-7-29
项类型: PrivateKeyEntry
认证链长度: 1
认证 [1]:
-----BEGIN CERTIFICATE-----
MIICSzCCAbSgAwIBAgIESm8p7TANBgkqhkiG9w0BAQUFADBqMQ8

wDQYDVQQGDAbkuK3lm70xDzAN
BgNVBAgMBua5luWNlzEPMA0GA1UEBwwG5rmY5r2tMREwDwYDVQQ

KDAh4eOWNj+S8mjERMA8GA1UE
CwwIeHjlhazlj7gxDzANBgNVBAMTBnl1c2hhbjAeFw0wOTA3Mjg

xNjQwMTNaFw0xMDA3MjgxNjQw
MTNaMGoxDzANBgNVBAYMBuS4reWbvTEPMA0GA1UECAwG5rmW5Y2

XMQ8wDQYDVQQHDAbmuZjmva0x
ETAPBgNVBAoMCHh45Y2P5LyaMREwDwYDVQQLDAh4eOWFrOWPuDE

PMA0GA1UEAxMGeXVzaGFuMIGf
MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJoru1RQczRzTnBWx

efVNspQBykS220rS8Y/oX3mZa
hjL4wLfOURzUuxxuVQR2jx7QI+XKME

+DHQj9r6aAcLBCi/T1jwF8mVYxtpRuTzE/6KEZdhowEe70
liWLVE

+hytLBHZ03Zhwcd6q5HUMu27du3MPQvqiwzTY7MrwIvQQ8iQIDA

QABMA0GCSqGSIb3DQEB
BQUAA4GBAGoQQ1/FnTfkpQh

+Ni6h3fZdn3sR8ZzDMbOAIYVLAhBb85XDJ8QZTarHbZMJcIdHxA

l1
i08ct3E8U87V9t8GZFWVC4BFg/

+zeFEv76SFpVE56iX7P1jpsu78z0m69hHlds77VJTdyfMSvtXv
sYHP3fxfzx9WyhipBwd8VPK/NgEP
-----END CERTIFICATE-----

---------------------------------------------------

3、证书的导出:

keytool -export -alias yushan -keystore e:\yushan.keystore -file e:\yushan.crt(指定导出的证书位置及证书名称) -storepass 123456

4、查看导出的证书信息

keytool -printcert -file yushan.crt
显示:(在windows下可以双击yushan.crt查看)
---------------------------------------------------

所有者:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国签发人:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国
序列号:4a6f29ed
有效期: Wed Jul 29 00:40:13 CST 2009 至Thu Jul 29
00:40:13 CST 2010
证书指纹:        

MD5:A3:D7:D9:74:C3:50:7D:10:C9:C2:47:B0:33:90:45:C3
SHA1:2B:FC:9E:3A:DF:C6:C4:FB:87:B8:A0:C6:99:43:E9:4C:4A:E1:18:E8
签名算法名称:SHA1withRSA
版本: 3
---------------------------------------------------

5、证书的导入:
准备一个导入的证书:
keytool -genkey -alias shuany -keypass shuany -
keyalg RSA -keysize 1024 -validity 365 -keystore  e:\shuany.keystore -storepass 123456 -dname "CN=shuany, OU=xx, O=xx, L=xx, ST=xx, C=xx";
keytool -export -alias shuany -keystore e:
\shuany.keystore -file e:\shuany.crt -storepass 123456
 现在将shuany.crt 加入到yushan.keystore中:keytool -import -alias shuany(指定导入证书的别名
,如果不指定默认为mykey,别名唯一,否则导入出错) -file e:\shuany.crt -keystore e:\yushan.keystore -storepass 123456 keytool -list  -v -keystore e:\keytool\yushan.keystore -storepass 123456
显示:
---------------------------------------------------

Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 2 输入

别名名称: yushan
创建日期: 2009-7-29
项类型: PrivateKeyEntry
认证链长度: 1
认证 [1]:
所有者:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=
湖南, C=中国签发人:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国
序列号:4a6f29ed
有效期: Wed Jul 29 00:40:13 CST 2009 至Thu Jul 29
00:40:13 CST 2010
证书指纹:
        

MD5:A3:D7:D9:74:C3:50:7D:10:C9:C2:47:B0:33:90:45:C3 SHA1:2B:FC:9E:3A:DF:C6:C4:FB:87:B8:A0:C6:99:43:E9:4C:4A:E1:18:E8
签名算法名称:SHA1withRSA
版本: 3

*******************************************
*******************************************

别名名称: shuany
创建日期: 2009-7-29
输入类型: trustedCertEntry

所有者:CN=shuany, OU=xx, O=xx, L=xx, ST=xx, C=xx
签发人:CN=shuany, OU=xx, O=xx, L=xx, ST=xx, C=xx
序列号:4a6f2cd9
有效期: Wed Jul 29 00:52:41 CST 2009 至Thu Jul 29

00:52:41 CST 2010
证书指纹:
MD5:15:03:57:9B:14:BD:C5:50:21:15:47:1E:29:87:A4:E6
SHA1:C1:4F:8B:CD:5E:C2:94:77:B7:42:29:35:5C:BB:BB:2E:9E:F0:89:F5
签名算法名称:SHA1withRSA
版本: 3

*******************************************
*******************************************
---------------------------------------------------

6、证书条目的删除:
keytool -delete -alias shuany(指定需删除的别名) -
keystore yushan.keystore -storepass 123456
 
7、证书条目口令的修改:
keytool -keypasswd -alias yushan(需要修改密码的别名
) -keypass yushan(原始密码) -new 123456(别名的新密码)  -keystore e:\yushan.keystore -storepass 123456

8、keystore口令的修改:
keytool -storepasswd -keystore e:\yushan.keystore(
需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)

9、修改keystore中别名为yushan的信息

keytool -selfcert -alias yushan -keypass yushan -keystore e:\yushan.keystore -storepass 123456 -dname "cn=yushan,ou=yushan,o=yushan,c=us"

分享到:
评论

相关推荐

    java keytool使用例子

    下面我们将详细探讨Java Keytool的使用方法和相关知识点。 1. **证书与密钥对** 数字证书是一种电子文档,用于证明网络实体的身份。它包含了公钥和相关标识信息,由可信的证书颁发机构(CA)签名。密钥对包括一个...

    Java KeyTool使用

    Java KeyTool 使用指南 Java KeyTool 是 Java 安全套件中的一部分,用于创建、管理和维护数字证书。下面是使用 KeyTool 的详细指南,包括创建密钥对、导出证书、将证书导入 Java 信任证书库等内容。 生成密钥对 ...

    keytool图形化工具

    4. **安装与使用KeyToolGui:** 从提供的`KeyToolGui-17-setup.exe`文件可以看出,这应该是一个针对Windows平台的安装程序。用户只需运行该程序,按照向导提示进行安装。安装完成后,可以在程序菜单中找到`KeyTool...

    keytool使用说明

    "Keytool 使用说明" Keytool 是安全钥匙和证书的管理工具,管理一个存储了私有钥匙和验证相应公共钥匙的和他们相关联的 X.509 证书链的 keystore(相当一个数据库)。Keytool 是个有效的安全钥匙和证书的管理工具。...

    密钥管理工具 Keytool-IUI

    3. **Keytool-IUI用户界面**:Keytool-IUI提供图形化界面,简化了Keytool的使用,使用户可以直观地查看、创建、修改和删除Keystore中的密钥对和证书,无需记忆复杂的命令行语法。 4. **Keystore管理**:理解...

    Keytool与数字证书

    本文主要介绍了如何使用Keytool工具来生成密钥、创建自签名证书、导入第三方证书、导出数字证书以及配置HTTPS服务的过程。这些步骤对于搭建安全的网络通信至关重要。在实际操作过程中需要注意细节,如密钥库密码的...

    keytool使用

    打开Eclipse--->Windows--->Preferences--->Android--->Build 查看默认的debug keystore位置,例如:C:\Documents and Settings\(你电脑的名字)\.android\debug.keystore 把这个文件拷贝到C 盘或者其他盘符下面(最...

    KeyTool_GUI

    标题“KeyTool_GUI”指的是Java自带的一个命令行工具...通过使用KeyTool GUI,用户可以更方便地执行这些操作,提升工作效率,同时也降低了操作复杂度,尤其对于那些对命令行不熟悉的用户来说,是一个非常实用的工具。

    KeyTool1.6.zip

    KeyTool1.6,数字证书工具、服务器证书管理工具。用于数字证书私钥公钥管理。可新增私钥文件。,数字证书工具、

    keytool证书制作工具

    - **生成密钥对**:使用`keytool`可以生成RSA、DSA等算法的密钥对。 - **导入/导出证书**:可以将生成的证书导入到本地存储库,也可以导出为PEM、DER等格式。 - **查看证书信息**:检查存储库中的证书详情,如...

    命令行keytool使用 证书DN生成数字证书容器 空格

    本篇文章将深入探讨`keytool`的使用,特别是如何通过命令行生成证书的Distinguished Name (DN)以及如何创建数字证书容器。 首先,让我们理解什么是Distinguished Name (DN)。DN是X.509证书中一个独特的标识符,它...

    keytoolgui

    在使用keytoolGUI时,你可以执行以下主要任务: 1. **创建密钥库**:keytoolGUI可以帮助你创建一个新的密钥库,这是一个存储密钥对和证书的文件。可以选择不同的密钥库类型,如JKS(Java Key Store)或PKCS12,以及...

    KeyTool

    在本文中,我们将深入探讨KeyTool的用途、工作原理以及如何使用它。 **1. KeyTool的基本概念** - **密钥对**:密钥对由一个公钥和一个私钥组成。公钥可以公开给任何人,而私钥必须保密。在加密过程中,数据用公钥...

    证书工具KeyTool1.6

    总结起来,KeyTool 1.6作为数字证书工具,是Java环境下的基础安全工具,对于任何需要处理加密通信的开发者来说,理解和熟练使用KeyTool都是非常必要的。通过掌握如何生成、管理以及交互数字证书,我们可以确保网络...

    keytool生成公私钥,默认jdk8 使用keytool生成bks或者jks时报错,缺少jar包

    keytool生成公私钥,默认jdk8 使用keytool生成bks或者jks时报错,缺少jar包 包含:bcprov-jdk15-143.jar,local_policy.jar,US_export_policy.jar

    keytool 加密证书制作

    标题中的“keytool 加密证书制作”指的是使用Java自带的工具——keytool,来创建和管理数字证书。这个过程涉及到网络安全、加密技术和PKI(Public Key Infrastructure,公钥基础设施)等概念。 首先,理解keytool的...

    KeyTool.GUI.1.6 证书密钥查看生成工具

    5. **如何使用KeyTool.GUI.1.6** - **安装**:下载KeyTool.GUI_1.6压缩包,解压后运行应用程序。 - **连接keystore**:提供keystore文件路径,输入访问密码。 - **操作证书**:选择需要进行的操作,如查看、生成...

    java中keytool命令的使用

    java中关于SSL的证书和密钥的形成,关于keytool命令行代码的解释!

    KeyTool 工具生成X.509证书

    在本文中,我们将深入探讨KeyTool的基本用法、X.509证书的概念,以及如何使用KeyTool生成这种类型的证书。 X.509是一种国际标准,用于定义证书的格式,它包含了公钥和相关标识信息,如组织名称、地理位置等,常用于...

    Keytool IUI(version #2.3)

    总之,Keytool IUI 2.3是一款增强版的Java密钥管理工具,它通过图形界面优化了原生Keytool的使用体验,支持JDK1.6及以上版本,适用于各种需要安全通信的Java应用场景。无论是开发还是运维,它都是一个实用的辅助工具...

Global site tag (gtag.js) - Google Analytics