keytool工具使用
位置: D:\JavaEnvironment\jdk1.8.0\bin
常用命令:
生成keypair
keytool -genkeypair
keytool -genkeypair -alias lisi(后面部分是为证书指定别名,否则采用默认的名称为mykey)
看看keystore中有哪些项目:
keytool -list或keytool -list -v
keytool -exportcert -alias lisi -file lisi.cer
生成可打印的证书:
keytool -exportcert -alias lisi -file lisi.cer –rfc
显示数字证书文件中的证书信息:
keytool -printcert -file lisi.cer
直接双击lisi.cer,用window系统的内置程序打开lisi.cer
简单操作
1、生成私钥公钥
(1)生成密钥证书 下边命令生成密钥证书,采用RSA 算法每个证书包含公钥和私钥创建一个文件夹,在该文件夹下执行如下命令行:
keytool -genkeypair -keyalg RSA -keypass xiaozheng -keystore xiaozheng.jks -storepass xiaozheng
Keytool 是一个java提供的证书管理工具
-alias:密钥的别名
-keyalg:使用的hash算法
-keypass:密钥的访问密码
-keystore:密钥库文件名,xc.keystore保存了生成的证书
-storepass:密钥库的访问密码
2、查询证书信息
keytool -list -keystore guigu.jks
导出公钥
openssl是一个加解密工具包,这里使用openssl来导出公钥信息。
安装 openssl:http://slproweb.com/products/Win32OpenSSL.html
安装资料目录下的Win64OpenSSL-1_1_0g.exe
配置openssl的path环境变量,如下图:
cmd进入xiaozheng.jks文件所在目录执行如下命令(如下命令在windows下执行,会把-变成中文方式,请将它改成英文的-):
keytool -list -rfc --keystore xiaozheng.jks | openssl x509 -inform pem -pubkey
下面段内容是公钥
将上边的公钥拷贝到文本public.key文件中,合并为一行,可以将它放到需要实现授权认证的工程中。
推荐同系列文章
keytool openssl : https://blog.csdn.net/xiaozhegaa/article/details/109602118
密码学 ~ 数字签名: https://blog.csdn.net/xiaozhegaa/article/details/109601966
密码学 ~ 非对称加密 RSA ECC: https://blog.csdn.net/xiaozhegaa/article/details/109601632
密码学 ~ 消息摘要: https://blog.csdn.net/xiaozhegaa/article/details/109601148
对称加密、DES加解密、AES加解密、Base64加解密: https://blog.csdn.net/xiaozhegaa/article/details/109595399