网上有非常多的相关教程,均大同小异。有些博主写得过于细致,有些又写得过于粗枝大叶。正好这次在工作中又需要进行RSA非对称的相关开发,所以自己整理一遍。
1、工具
Java自带的工具keytool可以用来生成密钥证书,也可以查看或删除证书库里的证书。无论是windows还是Linux系统,这个工具都会出现在jdk安装目录的bin文件夹下
下图是在linux环境下,在bin目录下的所有文件:
2、概念
keytool工具是基于“证书库”来对密钥进行管理的。“证书库”是一个后缀名为“.keystore”的文件。如下图:
在密钥库中,每一条记录就是一份独立的证书,如果使用RSA算法,那这份证书里就会包含有私钥和公钥,如下图:
keytool工具有很多命令,无论是在windows还是在linux中,你都可以在命令行中输入“keytool”来查看这个工具的用法概述:
keytool的可用命令并不止上图那些。在本篇后续的使用过程中会逐一介绍。
3、创建证书,并保存入证书
[plain]
view plain
copy
- keytool -genkey -alias 你的证书别名 -keyalg 密钥算法 -keystore 证书库文件保存的位置和文件名 -keysize 密钥长度 -validity 证书有效期天数