【Java 安全技术探索之路系列:J2SE安全架构】之六:安全管理工

作者:郭嘉 邮箱:allenwells@163.com 博客: github:https://github.com/AllenWell

【Java 安全技术探索之路系列:J2SE安全架构】章节列表

【Java安全技术探索之路系列:J2SE安全架构】之一:J2SE安全架构开篇 【Java 安全技术探索之路系列:J2SE安全架构】之五:类加载器 【Java 安全技术探索之路系列:J2SE安全架构】之六:安全管理工具

作为J2SE复合包的一部分,Java2平台提供了一组工具来管理安全策略、创建密钥、管理密钥和证书、签署JAR文件、验证签名以及支持密钥管理相关的其他功能。

一 keystore

密钥库是一个受保护的数据库,存储了密钥及密钥的可信证书项。密钥库的结构如下图所示:

下面来介绍相关工具的使用。

二 keytool

Keytool是用于管理密钥和证书的工具,使用户能管理自己的公/私钥对以及相关的证书。keytool主要用于认证服务和使用数字签名验证数据的完整性。keytool工具使用X.509证书标准。该标准使用:

j2SE复合包使用命令行工具的形式提供keytool工具。相关命令如下所示:

下面演示一下如何使用这些命令:

2.1 使用keytool生成密钥对keytool -genkey -alias myalias -keyalg RSA -keystore mykeystore -keypass mykeypass -storepass mystorepass

运行该命令后,会出现以下界面,逐一回答即可。

回答完成后会在当前目录生成mykeystore文件,该文件是加密文件,无法直接打开。

2.2 密钥库相关操作2.2.1 查看密钥库中的项keytool -list -keystore mykeystore

输入密码:mykeystorepass,即可查看密钥库中的项,如下图所示:

keytool mykeystore

-v选项,证书会以人类可读的格式显示,如下图所示:

-rfc选项,证书会以Base64编码格式显示证书,如下图所示:

2.2.2 从密钥库导出证书keytool -export -alias myalias -file mycertificate.cer -keystore mykeystore

输入命令后,会提示输入密钥库口令,如下图所示:

输入口令后,会在命令行当前目录生成证书文件,如下图所示:

2.2.3 导入证书到密钥库keytool -import -alias myclientalias -file mycertificate.cer -keypass clientkeypass -keystore clientstore -storepass clientpass

执行命令,,即可导入证书,如下图所示:

2.2.4 修改密钥库密码keytool -storepasswd -new newstorepass -keystore mykeystore -storepass mystorepass2.3 证书相关操作2.3.1 显示证书内容keytool -printcert -file mycertificate.cer

执行命令后,显示证书信息,如下图所示:

2.3.2 创建证书签发请求keytool -certReq -keystore mykeystore -file myCSR.csr -alias mycsralias三 policytool

输入命令

policytool

界面如下图所示:

四 jarsigner

jarsigner工具用于对JAR文件进行数字签名并验证JAR文件的签名和文件的的完整性。相关操作命令如下图所示:

4.1 JAR文件签名

下面演示了为myJar.jar签名,并将签名后的JAR文件命名为mySignedJar.jar过程。

jarsigner -keystore C:\Users\Administrator\mykeystore -storepass mystorepass -keypass mykeypass -signedjar mySignedJar.jar myJar.jar myalias

执行命令后,会显示命令成功,如下图所示:

3.2 验证签名后的JAR文件jarsigner -keystore C:-verify -certs mySignedJar.jar

烦恼忧愁不用追,吃点好的别嫌贵,

【Java 安全技术探索之路系列:J2SE安全架构】之六:安全管理工

相关文章:

你感兴趣的文章:

标签云: