标签:j2se-安全管理工 密钥
作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell
【Java安全技术探索之路系列:J2SE安全架构】之一:J2SE安全架构开篇
【Java 安全技术探索之路系列:J2SE安全架构】之五:类加载器
【Java 安全技术探索之路系列:J2SE安全架构】之六:安全管理工具
作为J2SE复合包的一部分,Java2平台提供了一组工具来管理安全策略、创建密钥、管理密钥和证书、签署JAR文件、验证签名以及支持密钥管理相关的其他功能。
密钥库是一个受保护的数据库,存储了密钥及密钥的可信证书项。密钥库的结构如下图所示:
下面来介绍相关工具的使用。
Keytool是用于管理密钥和证书的工具,使用户能管理自己的公/私钥对以及相关的证书。keytool主要用于认证服务和使用数字签名验证数据的完整性。keytool工具使用X.509证书标准。该标准使用:
j2SE复合包使用命令行工具的形式提供keytool工具。相关命令如下所示:
下面演示一下如何使用这些命令:
keytool -genkey -alias myalias -keyalg RSA -keystore mykeystore -keypass mykeypass -storepass mystorepass
运行该命令后,会出现以下界面,逐一回答即可。
回答完成后会在当前目录生成mykeystore文件,该文件是加密文件,无法直接打开。
keytool -list -keystore mykeystore
输入密码:mykeystorepass,即可查看密钥库中的项,如下图所示:
keytool -list -v -keystore mykeystore
-v选项,证书会以人类可读的格式显示,如下图所示:
-rfc选项,证书会以Base64编码格式显示证书,如下图所示:
keytool -export -alias myalias -file mycertificate.cer -keystore mykeystore
输入命令后,会提示输入密钥库口令,如下图所示:
输入口令后,会在命令行当前目录生成证书文件,如下图所示:
keytool -import -alias myclientalias -file mycertificate.cer -keypass clientkeypass -keystore clientstore -storepass clientpass
执行命令,即可导入证书,如下图所示:
keytool -storepasswd -new newstorepass -keystore mykeystore -storepass mystorepass
keytool -printcert -file mycertificate.cer
执行命令后,显示证书信息,如下图所示:
keytool -certReq -keystore mykeystore -file myCSR.csr -alias mycsralias
输入命令
policytool
界面如下图所示:
jarsigner工具用于对JAR文件进行数字签名并验证JAR文件的签名和文件的的完整性。相关操作命令如下图所示:
下面演示了为myJar.jar签名,并将签名后的JAR文件命名为mySignedJar.jar过程。
jarsigner -keystore C:\Users\Administrator\mykeystore -storepass mystorepass -keypass mykeypass -signedjar mySignedJar.jar myJar.jar myalias
执行命令后,会显示命令成功,如下图所示:
jarsigner -keystore C:\Users\Administrator\mykeystore -verify -certs mySignedJar.jar
【Java 安全技术探索之路系列:J2SE安全架构】之六:安全管理工具
标签:j2se-安全管理工 密钥
原文地址:http://blog.csdn.net/allenwells/article/details/46459281