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的使用方法和相关知识点。 1. **证书与密钥对** 数字证书是一种电子文档,用于证明网络实体的身份。它包含了公钥和相关标识信息,由可信的证书颁发机构(CA)签名。密钥对包括一个...
#### 四、Keytool 常用命令 ##### 1. -genkey - **用途**:创建一个新的密钥对,并生成自签名证书。 - **示例**: ```bash keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 365 -keystore ...
以下是`keytool`的一些常用命令和详细解释: 1. **genkey**: 这个命令用于创建一个新的密钥对(公钥和私钥)以及对应的证书请求。默认情况下,它会在用户的主目录中创建一个名为`.keystore`的文件,并为这个密钥对...
本文将深入探讨JDK中的常用命令,这些命令对于任何Java开发者来说都是必不可少的知识点。通过理解并熟练运用这些命令,可以极大地提高开发效率。 1. **javac**:这是Java编译器,用于将源代码(.java文件)转换成可...
`keytool`是Java开发工具包...了解和熟练使用`keytool`命令对于管理Java和Linux环境中的安全性至关重要,尤其是涉及SSL/TLS通信和数字签名等场景。通过正确配置和管理密钥库,可以确保网络通信的安全性和数据的完整性。
总结来说,"keytool-importkeypair.zip"提供了Android系统签名的相关工具和证书样本,主要涉及`keytool`命令的使用、密钥对的导入以及APK签名流程。这对于Android开发者理解并执行应用签名操作至关重要,同时也有助...
以下是对Java2语言中常用命令的详细解析: 1. **javac**:Java编译器 `javac`命令用于将源代码文件(.java)编译成字节码文件(.class)。例如: ``` javac HelloWorld.java ``` 这个命令会将`HelloWorld.java...
本压缩包“apk反编译工具+5条常用命令.zip”提供了相关工具和命令,帮助我们完成以下五个关键步骤: 1. **翻译成Smali码和XML** Smali是一种汇编语言,用于表示Dalvik虚拟机(DVM)的字节码,它是Android应用运行...
Java结合Keytool实现非对称加密与解密的详细知识点如下: 1. Keytool工具介绍: Keytool是Java Development Kit (JDK)中内置的一个密钥和证书管理工具,它能够管理密钥库(key store)中的密钥对和相关的证书。密钥库...
- **JDK常用命令**: - **javac**: Java编译器,用于将Java源代码编译成字节码(.class文件)。 - `-g`: 生成调试信息。 - `-g:none`: 不生成调试信息。 - `-g:{lines,vars,source}`: 只生成部分调试信息。 - `-O`...
JDK中包含了多种命令行工具,对于初学者来说,熟悉这些常用命令是非常重要的。例如,javac命令用于编译Java源文件,生成class字节码文件;-g选项可以生成调试信息,而-O选项用于对生成的class文件进行优化。-verbose...
在Java中,这些证书通常存储在JKS(Java Key Store)或PKCS12格式的密钥库中,可以使用`keytool`命令进行管理。 Java数字签名是基于非对称加密算法(如RSA、DSA)的一种安全机制,用于确保数据的完整性和来源的不可...
Linux服务器管理是IT运维工作中不可或缺的部分,而熟练掌握常用命令是提升工作效率的关键。本文将详细介绍几个重要的Linux服务器命令,包括keytool、rndc-confgen、umount.nfs、createdb和vacuumdb。 1. keytool...
- **导入到Java KeyStore**:将PEM文件导入到Java KeyStore(JKS)中,使用`keytool`命令。 在`www.pudn.com.txt`和`Java_SSL`这两个文件中,可能包含了更详细的代码示例和步骤说明。阅读这些文件可以帮助你更好地...
知识点三:JDK常用命令详解 JDK中包含了许多用于开发的命令,这些命令涵盖了编译、调试、打包、查看进程信息等多个方面。例如,javac命令用于编译Java程序,可以通过-g参数生成调试信息,-O参数进行优化,-verbose...
JDK中包含了许多常用的命令,如`javac`用于编译Java源代码。`javac`的选项如`-g`可以控制生成的字节码是否包含调试信息,`-classpath`用于指定类路径,`-d`则用来指定输出编译后的.class文件的目录。此外,还有其他...
关于JDK的常用命令,教程列举了一些关键的`javac`命令选项,如生成调试信息、优化代码、指定类路径等。此外,还介绍了其他JDK工具,如`native2ascii`用于编码转换,`javap`进行反编译,`jdb`用于调试,`jps`查看JVM...