使用 keytool -genkeypair
命令可以生成一个新的密钥对,并将其存储在密钥库(keystore)文件中。这个命令是 Java Development Kit (JDK) 中 keytool
实用程序的一部分,用于管理密钥和证书。
以下是一个基本的 keytool -genkeypair
命令示例,以及一些可选参数的说明:
keytool -genkeypair -alias myKeyAlias -keyalg RSA -keystore myKeystore.keystore -validity 365 -keysize 2048 -storepass myKeystorePassword -dname "CN=My Name, OU=My Organizational Unit, O=My Organization, L=My City, S=My State, C=My Country"
-alias myKeyAlias
:指定密钥的别名。在密钥库中,每个密钥都有一个唯一的别名。-keyalg RSA
:指定密钥算法。在这个例子中,使用的是 RSA 算法。-keystore myKeystore.keystore
:指定密钥库文件的名称。如果文件不存在,keytool
将创建一个新的密钥库文件。-validity 365
:指定证书的有效期(天数)。在这个例子中,证书的有效期为一年。-keysize 2048
:指定密钥的大小(以位为单位)。对于 RSA 密钥,2048 位是一个常见的选择。-storepass myKeystorePassword
:指定密钥库的密码。这个密码用于保护密钥库文件的完整性。-dname "CN=My Name, OU=My Organizational Unit, O=My Organization, L=My City, S=My State, C=My Country"
:指定证书拥有者的详细信息。这些信息将包含在生成的证书中。
请注意,上述命令中的参数值(如 myKeyAlias
、myKeystore.keystore
、myKeystorePassword
等)都是示例值,你应该根据你的需求替换为实际的值。
另外,从 Java 9 开始,keytool
命令的某些选项可能有所变化,但基本的功能和用法是相似的。如果你使用的是较新版本的 Java,建议查阅相应版本的官方文档以获取最准确的信息。
运行上述命令后,keytool
将提示你确认密钥对的生成,并可能需要你输入密钥的密码(如果与密钥库密码不同)。完成这些步骤后,一个新的密钥对将被生成并存储在指定的密钥库文件中。
密钥信息查看:
keytool -list -v -keystore myKeystore.keystore