keytool 是 JDK 自带的一个密钥库管理工具。这里只用到了 keytool 的部分功能,包括生成密钥对,导出公钥等。keytool 生成的公钥/私钥对存放到一个到了一个文件中,这个文件有密码保护,通称为 keystore。
$ keytool -genkey -alias signLegal -keystore examplestanstore -validity 1800
生成别名为 signLegal 的密钥对,存放在密钥库 examplestanstore 中,证书的有效期是 1800 天(默认是90天)。
输入一系列的参数。输入的参数遵循了 LDAP 的风格和标准。可以想象,生成的密钥对可以看成 LDAP 的一个条目。
命令执行成功后会在当前目录下创建一个叫 examplestanstore 的文件。
$ keytool -list -keystore examplestanstore -v
列出了 examplestanstore 密钥库的中所有密钥对。-v 参数表示详细信息,详细信息中有证书的失效时间。
$ keytool -export -keystore examplestanstore -alias signLegal -file StanSmith.cer
导出的公钥存放在当前目录的 StanSmith.cer 文件中,是个二进制文件。

