`
jaroddang
  • 浏览: 32109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA Keytool 常用命令使用帮助

阅读更多

 

JAVA Keytool 常用命令使用帮助

Keytool是用于管理密钥和证书的工具,使用户和管理员能管理自己的公/私钥对以及相关的证书。

genkey,用于生成公/私密钥对

keytool –genkey –alias mykey –keyalg RSA –keypass 123456 –keystore keystore.jks –storepass 123456

ˉkeyalg:指定密钥使用的加密算法(如RSA)。还可以使用选项keysize指定密钥的长度,如果没有指定长度,那么keytool将使用默认值———1024位。
       ˉkeypass:
指定生成密钥的密码。
       ˉkeystore:
指定存储密钥的密钥库的名称(二进制文件),如果没有指定,那么将创建一个新的密钥库,并将其存储为.keystore文件。
       ˉstorepass:
指定访问密钥库的密码。密钥库创建后,要对其做任何修改都必须提供该密码,以便访问密钥库。
      
在执行-genkey时还会要求用户输入以下几项数据

CN      commen name

OU      organization unit

O        organization

L         location

ST       state

C:           country

其中CN服务器根证书的ip或者域名,即查看证书时的颁发给项

list

用于列出密钥库中全部的项,以及查看与别名相关的项。

keytool –list –keystore keystore.jks

为了显示别名所指定的密钥库项的内容,命令list可以输出证书的MD5指纹。如果指定了选项ˉv,则证书将以人类可读的格式显示;如果指定了选项ˉrfc,则将以Base64编码格式显示证书。

import

导入可信证书。Keytool选项ˉimport用于将可信证书导入密钥库,并将其同唯一的一个别名联系起来。如果客户端信任通信等对体的证书,并希望与其进行可信的客户端交互,则可以在客户端环境中导入可信证书。
将新证书导入密钥库时,keytool工具将验证该证书的完整性和真实性。为此,keytool工具将构建一条以该证书开始到颁发者的自签名证书结束的信任链。可信证书的列表将存储在cacerts文件中。
要将证书导入密钥库,则需要提供标识证书项的唯一别名和密钥密码。

例如,下面的命令从文件cert.cer中将一个证书项导入到密钥库keystore.jks,并将该证书项标识为newcert,最后,该命令将显示证书的持有者和颁发者的信息,并询问用户是否信任该证书

keytool –import –alias newcert –file cert.cer –keystore keystore.jks

printcert

显示证书的信息。Keytool选项ˉprintcert用于显示已从密钥库中导出并存储为文件的证书的信息。由于证书的信息是以证书文件(.cer)的形式存储的,且不会导入密钥库,因此在执行该命令时,不需要指定相关的密钥库和密码。
       keytool –printcert –file cert.cer

certReq

创建证书签发请求(CSR)。可以使用Keytool选项ˉcertreq来生成向CA申请证书的证书签发请求。

keytool –certReq –keystore keystore.jks –file mycsr.csr

delete

删除密钥库。要删除密钥库,可以使用操作系统的删除命令来删除该密钥库文件。
修改密钥库的密码。

storepasswd

要修改密钥库的密码,可以使用keytool选项-storepasswd -new来设置新密码。

keytool –storepasswd –new newpassword –keystore keystore.jks 

 

 

 

分享到:
评论

相关推荐

    java keytool使用例子

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

    java keytool

    #### 四、Keytool 常用命令 ##### 1. -genkey - **用途**:创建一个新的密钥对,并生成自签名证书。 - **示例**: ```bash keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 365 -keystore ...

    jdk中密钥和证书管理工具keytool常用命令详解

    以下是`keytool`的一些常用命令和详细解释: 1. **genkey**: 这个命令用于创建一个新的密钥对(公钥和私钥)以及对应的证书请求。默认情况下,它会在用户的主目录中创建一个名为`.keystore`的文件,并为这个密钥对...

    jdk常用命令

    本文将深入探讨JDK中的常用命令,这些命令对于任何Java开发者来说都是必不可少的知识点。通过理解并熟练运用这些命令,可以极大地提高开发效率。 1. **javac**:这是Java编译器,用于将源代码(.java文件)转换成可...

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

    `keytool`是Java开发工具包...了解和熟练使用`keytool`命令对于管理Java和Linux环境中的安全性至关重要,尤其是涉及SSL/TLS通信和数字签名等场景。通过正确配置和管理密钥库,可以确保网络通信的安全性和数据的完整性。

    keytool-importkeypair.zip

    总结来说,"keytool-importkeypair.zip"提供了Android系统签名的相关工具和证书样本,主要涉及`keytool`命令的使用、密钥对的导入以及APK签名流程。这对于Android开发者理解并执行应用签名操作至关重要,同时也有助...

    Java2语言命令详解

    以下是对Java2语言中常用命令的详细解析: 1. **javac**:Java编译器 `javac`命令用于将源代码文件(.java)编译成字节码文件(.class)。例如: ``` javac HelloWorld.java ``` 这个命令会将`HelloWorld.java...

    apk反编译工具+5条常用命令.zip

    本压缩包“apk反编译工具+5条常用命令.zip”提供了相关工具和命令,帮助我们完成以下五个关键步骤: 1. **翻译成Smali码和XML** Smali是一种汇编语言,用于表示Dalvik虚拟机(DVM)的字节码,它是Android应用运行...

    java结合keytool如何实现非对称加密与解密详解

    Java结合Keytool实现非对称加密与解密的详细知识点如下: 1. Keytool工具介绍: Keytool是Java Development Kit (JDK)中内置的一个密钥和证书管理工具,它能够管理密钥库(key store)中的密钥对和相关的证书。密钥库...

    Certificate_java_java数字签名_java签名证书_数字证书_

    在Java中,这些证书通常存储在JKS(Java Key Store)或PKCS12格式的密钥库中,可以使用`keytool`命令进行管理。 Java数字签名是基于非对称加密算法(如RSA、DSA)的一种安全机制,用于确保数据的完整性和来源的不可...

    Linux服务器常用命令(简化版).docx

    Linux服务器管理是IT运维工作中不可或缺的部分,而熟练掌握常用命令是提升工作效率的关键。本文将详细介绍几个重要的Linux服务器命令,包括keytool、rndc-confgen、umount.nfs、createdb和vacuumdb。 1. keytool...

    java程序实现ssl

    - **导入到Java KeyStore**:将PEM文件导入到Java KeyStore(JKS)中,使用`keytool`命令。 在`www.pudn.com.txt`和`Java_SSL`这两个文件中,可能包含了更详细的代码示例和步骤说明。阅读这些文件可以帮助你更好地...

    21天学通JAVA(高清版)

    知识点三:JDK常用命令详解 JDK中包含了许多用于开发的命令,这些命令涵盖了编译、调试、打包、查看进程信息等多个方面。例如,javac命令用于编译Java程序,可以通过-g参数生成调试信息,-O参数进行优化,-verbose...

    21天学通JAVA_入门精品

    4. JDK常用命令: - javac命令用于编译Java源文件,生成字节码文件。其中,-g 参数用于生成调试信息,-O 参数用于优化字节码,-classpath 用于指定类路径,-d 用于指定输出目录等。 - native2ascii 用于处理...

Global site tag (gtag.js) - Google Analytics