`

数字证书中keytool命令使用说明

    博客分类:
  • Java
阅读更多
这个命令一般在JDK\jre\lib\security\目录下操作
keytool常用命令
-alias       产生别名
-keystore    指定密钥库的名称(就像数据库一样的证书库,可以有很多个证书,cacerts这个文件是jre自带的,
             你也可以使用其它文件名字,如果没有这个文件名字,它会创建这样一个)
-storepass   指定密钥库的密码
-keypass     指定别名条目的密码
-list        显示密钥库中的证书信息
-v           显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件
-file        参数指定导出到文件的文件名
-delete      删除密钥库中某条目
-import      将已签名数字证书导入密钥库
-keypasswd   修改密钥库中指定条目口令
-dname       指定证书拥有者信息
-keyalg      指定密钥的算法
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度

使用说明:
导入一个证书命令可以如下:
keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias alibabacert -file C:\alibabajava\cert\test_root.cer
其中-keystore cacerts中的cacerts是jre中默认的证书库名字,也可以使用其它名字
-storepass 666666中的666666是这个证书库的密码
-keypass 888888中的888888是这个特定证书的密码
-alias alibabacert中的alibabacert是你导入证书的别名,在其它操作命令中就可以使用它
-file C:\alibabajava\cert\test_root.cer中的文件路径就是要导入证书的路径

浏览证书库里面的证书信息,可以使用如下命令:
keytool -list -v -alias alibabacert -keystore cacerts -storepass 666666

要删除证书库里面的某个证书,可以使用如下命令:
keytool -delete -alias alibabacert -keystore cacerts -storepass 666666

要导出证书库里面的某个证书,可以使用如下命令:
keytool -export -keystore cacerts -storepass 666666 -alias alibabacert -file F:\alibabacert_root.cer

要修改某个证书的密码(注意:有些数字认证没有私有密码,只有公匙,这种情况此命令无效)
这个是交互式的,在输入命令后,会要求你输入密码
keytool -keypasswd -alias alibabacert -keystore cacerts
这个不是交互式的,输入命令后直接更改
Keytool -keypasswd -alias alibabacert -keypass 888888 -new 123456 -storepass 666666 -keystore cacerts


keytool 命令详解
1、生成密钥,并以证书文件保存
keytool -genkey -alias bogus -keysize 512 -validity 3650 -keyalg RSA -dname "CN=bogus.com, OU=XXX CA, O=Bogus Inc, L=Stockholm, S=Stockholm, C=SE" -keypass boguspw -storepass boguspw -keystore sean.cert



2、 产生密钥
D:>keytool -genkey -alias wenger -keysize 1024 -keypass abcdef -keystore myKeys
tore -storepass abcdef -dname "CN=chen sr, OU=tanglab, O=lab, L=gz, ST=gd, C=cn"



3、 导出密钥,用证书的形式保存
D:>keytool -export -alias wenger -file mycert.cert -keystore myKeystore -storepass abcdef
保存在文件中的认证 <mycert.cert>



例子:

------ 生成一个CA证书

       keytool -genkey -keystore SSLKey -keyalg rsa -alias SSL

文件名:SSLKey    算法:rsa   别名:SSL



-----  将上面生成的证书导入到文件中保存

       keytool -export -keystore SSLKey -alias SSL  -file SSLKey1 -storepass 111111

文件名:SSLKey1        SSL密码: 111111



-----  查看以上生成证书信息

       keytool -list -keystore SSLKey -alias SSL -storepass 111111


JDK中keytool常用命令
-genkey       在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias            产生别名
-keystore     指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg        指定密钥的算法  
-validity       指定创建的证书有效期多少天
-keysize       指定密钥长度
-storepass   指定密钥库的密码
-keypass     指定别名条目的密码
-dname       指定证书拥有者信息 例如:  "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list             显示密钥库中的证书信息      keytool -list -v -keystore sage -storepass ....
-v               显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件  keytool -export -alias caroot -file caroot.crt
-file            参数指定导出到文件的文件名
-delete      删除密钥库中某条目          keytool -delete -alias sage -keystore sage
-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage
-import      将已签名数字证书导入密钥库  keytool -import -alias sage -keystore sagely -file sagely.crt
                 导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。



1.证书的显示
-list
[-v | -rfc] [-alias <alias>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>]
例如:keytool -list -v -alias RapaServer -keystore cacerts -storepass 12345678
keytool -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 IAIKKeystore


3.将keystore导入证书中
这里向Java默认的证书 cacerts导入Rapa.cert
keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts


4.证书条目的删除
keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。


5.证书条目口令的修改
使用 -keypasswd 参数,如:keytool -keypasswd -alias RapaServer -keystore d2aApplet.keystore,可以以交互的方式修改 d2aApplet.keystore证书库中的条目为 RapaServer 的证书。
Keytool -keypasswd -alias RapaServer -keypass 654321 -new 123456 -storepass 888888 -keystore d2aApplet.keystore这一行命令以非交互式的方式修改库中别名为 RapaServer 的证书的密码为新密码 654321,行中的 123456 是指该条证书的原密码, 888888 是指证书库的密码。
分享到:
评论

相关推荐

    Keytool与数字证书

    ### Keytool与数字证书 #### 一、Keytool简介及基本操作 **Keytool** 是 Java 开发工具包(JDK)中的一个实用程序,用于管理密钥库(key stores),其中包括私钥(private keys)及其对应的公钥证书(public key ...

    Linux命令keytool命令 – 密钥和证书管理工具.docx

    `keytool`是Java开发工具包(JDK)的一部分,主要功能是管理和操作密钥对和数字证书。这个工具在Linux和其他操作系统上广泛用于安全配置,特别是在构建HTTPS服务器、SSL/TLS连接以及进行数字签名等方面。以下是关于`...

    keytool查询apk证书指纹.zip

    `keytool`是Java开发工具包(JDK)中提供的一个命令行工具,用于管理和创建密钥对以及数字证书,包括查询APK的签名信息。本篇将详细讲解如何使用`keytool`来查询APK的证书指纹,包括MD5、SHA1和SHA256等安全摘要算法...

    keytool使用说明

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

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

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

    在tomcat中使用keytool实现双向验证操作视频

    本教程将详细讲解如何在Tomcat中利用Java自带的keytool工具来生成并配置数字证书,实现双向验证操作。 首先,我们要理解什么是双向认证。在单向认证中,服务器会向客户端展示其数字证书,证明自己的身份,而客户端...

    数字证书生成

    数字证书生成doc命令 1.1生成服务端证书 开始-运行-CMD-在dos窗口执行下执行命令: keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:/self-file/server/tomcat.keystore -dname "CN=127.0.0.1,OU=zlj,...

    keytool-密钥和证书管理工具[参照].pdf

    结构 keytool [ 命令] 说明keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。 keytool 的...

    keytool-importkeypair.zip

    1. **密钥对(Key Pair)**:在数字证书中,密钥对由一对非对称密钥组成,包括一个公钥和一个私钥。公钥用于加密数据,而私钥用于解密。在Android应用发布中,开发者使用私钥进行签名,公钥则用于验证签名的合法性。...

    JDK&nbsp;&nbsp;keytool证书工具功能代码解析

    JDK的keytool工具是Java开发工具包中用于管理和操作密钥对以及数字证书的命令行工具。它在网络安全和HTTPS通信中起着至关重要的作用,因为这些通常依赖于SSL/TLS协议,而该协议需要公钥基础设施(PKI)中的证书来...

    系统签名工具keytool-importkeypair.zip

    `keytool`是Java开发工具集的一部分,它提供了管理和创建密钥对、数字证书以及存储这些密钥对的密钥库的功能。`importkeypair`可能是keytool的一个自定义脚本或者命令,用于简化导入密钥对到密钥库的过程。在Android...

    服务器证书配置指南之Jetty-61-CNNIC终版.pdf

    2.2节接着说明如何使用keytool生成CSR(Certificate Signing Request),这是一个包含了公开密钥和服务器信息的数据文件,用于向证书颁发机构(CA,如CNNIC)申请数字证书。 【下载服务器证书】在3.1节中,需要提供...

    WAS9或WAS8配置HTTPS证书详细教程

    例如,你可以通过以下命令创建一个名为 `xyssl.jks` 的密钥库,设置别名为 `websphere`,并使用 `123456` 作为密码: ``` keytool -genkey -alias websphere -keypass 123456 -keyalg RSA -keysize 1024 -validity...

    java数字签名(可用)

    在Java中,`keytool`也可以帮助完成这些任务,例如`-importcert`命令用于导入证书,`-exportcert`用于导出证书。 总的来说,Java数字签名提供了强大的安全功能,确保了在网络通信中的数据安全和身份认证。理解并...

    java数字签名的讲解

    在 Java 平台上,我们可以使用内置的 Keytool 和 Jarsigner 工具来实现数字签名的操作。以下是对这个主题的详细讲解: 一、数字签名的概念 数字签名并非我们日常生活中的笔迹签名,而是一种电子形式的签名,它结合...

    单点登录实

    1. **命令说明**:使用`keytool`命令生成证书,命令格式如下: ```shell keytool -genkey -alias &lt;alias_name&gt; -keyalg RSA -keystore ``` 其中: - `-alias`:指定证书别名。 - `-keyalg`:指定加密算法。...

    APKTool.zip

    首先,"keytool-importkeypair"是Java的keytool命令的一个实例,用于导入密钥对到密钥库。在Android应用发布时,开发者通常需要生成一个数字证书来签署APK,以确保应用的完整性和来源的可信性。keytool是Java ...

    Windows +tomcat +SSL

    数字证书由可信的第三方——证书颁发机构(CA)签发,用于确保公钥的所有者就是证书上所标识的人或实体。 4. **Keystore**:存放证书和密钥的地方,可以视为一个容器,用来管理私钥及其相关的公钥证书。 5. **Trust...

    tomcat配置https说明文档

    为了确保Tomcat服务器能够支持HTTPS协议,首先需要为服务器生成一个数字证书。这一步非常重要,因为它涉及到数据加密和身份验证等安全机制。 ##### 1.1 生成证书的步骤 1. **打开命令行界面**: - 在命令行中,先...

Global site tag (gtag.js) - Google Analytics