网络安全技术实验报告
- 格式:docx
- 大小:832.36 KB
- 文档页数:14
中南林业科技大学
实验报告
课程名称:计算机网络安全技术
专业班级:2014 级计算机科学与技术 2班
姓名:孙晓阳
/
学号:
(
目录
实验一java 安全机制和数字证书的管理 (5)
一实验名称 (5)
二实验目的 (5)
三实验内容 (5)
四实验结果和分析 (6)
,
命令输入 (6)
分析 (7)
五小结 (8)
实验二对称密码加密算法的实现 (10)
一实验名称 (10)
二实验目的 (10)
三实验内容 (10)
?
四实验结果和分析 (10)
说明 (10)
实验代码 (10)
实验结果 (13)
五小结 (13)
实验三非对称密钥 (14)
一实验名称 (14)
{
二实验目的 (14)
三实验内容 (14)
四实验结果和分析 (14)
实验代码 (14)
实验结果 (15)
五小结 (16)
实验四数字签名的实现 (17)
—
一实验名称 (17)
二实验目的 (17)
三实验内容 (17)
四实验结果和分析 (17)
实验代码 (17)
实验结果 (19)
五小结 (19)
?
总结 (19)
实验一java 安全机制和数字证书的管理》
一实验名称
java 安全机制和数字证书的管理
二实验目的
了解 java 的安全机制的架构和相关的知识;
利用 java 环境掌握数字证书的管理
三实验内容
java 安全机制(JVM,沙袋,安全验证码)。
&
java 的安全机制的架构
加密体系结构(JCA,Java Cryptography Architecture) 构
成 JCA 的类和接口:
:定义即插即用服务提供者实现功能扩充的框架与加解密功能调用 API 的核心类和接口组。
一组证书管理类和接口。
一组封装 DSA 与 RSA 的公开和私有密钥的接口。
描述公开和私有密钥算法与参数指定的类和接口。用 JCA 提供的基本加密功能接口可以开发实现含消息摘要、数字签名、密钥生成、密钥转换、密钥库管理、证书管理和使用等功能的应用程序。
加密扩展(JCE,Java Cryptography Extension) 构
成 JCE 的类和接口:
:提供对基本的标准加密算法的实现,包括 DEs,三重 DEs(Triple DEs),基于口令(PasswordBasedEncryptionstandard)的 DES,Blowfish。
(
支持 Diffie 一 Hell-man 密钥。定义密钥规范与算法参数规范。
安全套接扩展(JSSE,Java Secure Socket1 Extension)JSSE 提供了实现 SSL 通信的标准 Java API。
JSSE 结构包括下列包:
.包含 JSSE API 的一组核心类和接口。
.:支持基本客户机套接与服务器套接工厂功能所必需的。
.支持基本证书管理功能所必需的。
目前 JSSE 的最新版本可以在: 数字证书的生成和管理
]
1.了解公钥加密体制(非对称密码体制的基本原理)。
2..理解数字证书的基本概念及其在安全体制中的应用。
3.理解密钥的生成和管理。
4.掌握利用 keytool 工具实现数字证书的管理
四实验结果和分析
命令输入
1.证书的显示
—
keytool-genkey -alias myca -keyalgRSA -keysize 1024 -keystore mystore -validity 4000
(密钥的生成和存储)
2.显示证书的详细信息
keytool-list -v -keystore mystore
3.将证书导出到证书文件
,
keytool -export -alias myca -keystore mycalib -file
把证书库 mystore 中的别名为 mycaa 的证书导出到证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
分析
1、|
2、密钥表示
Java用接口表示密钥。Key接口由包的privateKey与 publicKey接口和巧pto包(属于JCE)中的SecretKey接口扩展。privateKey与 publicKey表示公开密钥算法的的私有与公开密钥,SecretKey表示对称密钥。
每个Key对象与惟一算法相关联,用Key接口中的getAlgorithmO可以知道密钥对应的算法名。
3、密钥管理和数字证书密钥库(Key Store)是存放私有密钥.公开密钥与证书的容器。
Java平台自带有专属的安全
密钥库,称为Java密钥库(JKS,Java Key Store)。存放在密钥库中可能有两种项目:
①密钥项目一一保存私有密钥/公开密钥对,公开密钥存放在格式的专用证书中。
②信任证书项目一一保存包含另一方公开密钥的证书。
》
一个密钥库可以存放多个密钥项目和多个信任证书项目,密钥库中每个项目与唯一别名(alias)关联。Java对密钥库和密钥项目提供用口令(加密)保护。
Java平台提供的keytool程序可以从命令行管理密钥库。
用以下命令可以生成银行和客户的私有密钥/公开密钥对:
keytool -genkey -keystore
在执行命令时 keytool 会提示输入一些个人信息,用于生成专用证书的主题|
(Subject),主题包含了一些证书持有人的信息。本文提出的方案,
客户证书用其中CN域保存支付帐号。
用keytool -export -keystore