A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 书籍教程 > 程序语言 > JAVA教程 > Java安全性编程实例1
Java安全性编程实例1

Java安全性编程实例1

  • 软件大小:2.1 MB
  • 软件语言:简体中文
  • 更新时间:2010-07-07
  • 软件类型:国产软件 / JAVA教程
  • 运行环境:PDF
  • 软件授权:免费软件
  • 官方主页:http://
  • 软件等级 :
  • 软件厂商:ivy
立即高速安全下载
  • 介绍说明
  • 下载地址
  • 精品推荐
  • 相关软件
  • 网友评论

本书以大量精简的实例介绍了Java安全性编程方面的概念和技术,全书共计9章。
经过精心设计,每个小节的实例着重说明一个问题,又相互贯穿和联系。涉及Java加密和解密,反编译和反反编译,对类、成员变量、方法的攻击和保护,消息摘要,消息验证码,数字签名,口令保护,数字证书和证书链的生成、签发、检验和维护,SSL和HTTPS客户及服务器程序、基于代码位置和签发者的授权,签名Java Applet,基于身份的验证和授权(JAAS)等。
全书的实例极为精简,只保留了能够说明问题的代码,而又可真正运行,便于Java入门者轻松掌握安全性方面繁杂的概念。适合于适合于初步了解Java语法的学习者,也适合于安全技术的入门及高校Java教学参考。

目录:前 言.....8
第1章运行环境设置...11
1.1 J2SE的安装和设置...11
1.1.1下载J2SE11
1.1.2安装J2SE11
1.1.3设置J2SE13
2.1.4 J2SE的主要工具....14
1.2反编译器的安装15
1.3 混淆器的安装17
第2章数据内容的保护—— 加密和解密......18
2.1一个简单的加密和解密程序——凯撒密码...18
2.2对称密钥的生成和保存....20
2.2.1对称密钥的生成及以对象序列化方式保存...20
2.2.2以字节保存对称密钥....22
2.3使用对称密钥进行加密和解密..23
2.3.1使用对称密钥进行加密23
2.3.2使用对称密钥进行解密25
2.4基于口令的加密和解密....28
2.4.1基于口令的加密.....28
2.4.2基于口令的解密.....30
2.5针对流的加密和解密32
2.5.1针对输入流的解密和解密.......33
2.5.2针对输出流的解密和解密.......35
2.6加密方式的设定37
2.6.1使用CBC方式的加密....37
2.6.2使用CBC方式的解密....39
2.7 生成非对称加密的公钥和私钥.41
2.8 使用RSA算法进行加密和解密.43
2.8.1使用RSA公钥进行加密43
2.8.2使用RSA私钥进行解密45
2.9 使用密钥协定创建共享密钥..48
2.9.1创建DH公钥和私钥......48
2.9.2创建共享密钥.51
第3章Java源代码和类、变量及方法的保护.......54
3.1 Java反编译及混淆器的使用....54
3.2从网络资源加载节码文件58
3.3以任意方式加载字节码文件...63
3.4 加载加密的字节码文件...64
3.5 加载当前目录下的加密字节码文件.67
3.6 Java类、成员变量和方法的保护.......70
3.6.1类的保护.70
3.6.2成员变量和方法的保护74
3.6.3使用校验器.....75
3.6.4 Reference类型私有成员变量的保护....77
3.6.5 保护常量80
第4章数据完整性和所有者的确认——消息摘要和签名..82
4.1使用消息摘要验证数据未被篡改......82
4.1.1计算消息摘要.83
4.1.2基于输入流的消息摘要84
4.1.3输入流中指定内容的消息摘要.......86
4.1.4基于输入流的消息摘要88
4.2使用消息验证码90
4.3使用数字签名确定数据的来源..92
4.3.1使用私钥进行数字签名93
4.3.2使用公钥验证数字签名95
4.4 使用消息摘要保存口令...98
4.4.1 使用消息摘要保存口令..98
4.4.2 使用消息摘要验证口令..99
4.4.3 攻击消息摘要保存的口令....101
4.4.4 使用加盐技术防范字典式攻击....104
4.4.5 验证加盐的口令..107
第5章数字化身份的确定 ——数字证书..110
5.1数字证书的创建......110
5.1.1 使用默认的密钥库和算法创建数字证书....111
5.1.2 使用别名......113
5.1.3 使用指定的算法和密钥库和有效期.114
5.1.4 使用非交互模式..115
5.2数字证书的显示......116
5.2.1 使用Keytool直接从密钥库显示条目信息...116
5.2.2 使用Keytool直接从密钥库显示证书详细信息...117
5.2.3 使用Keytool将数字证书导出到文件118
5.2.4 使用Keytool从文件中显示证书...119
5.2.5 在Windows中从文件显示证书.....119
5.2.6 Java程序从证书文件读取证书......121
5.2.7 Java程序从密钥库直接读取证书..123
5.2.8 Java程序显示证书指定信息(全名/公钥/签名等)...125
5.3密钥库的维护..128
5.3.1使用Keytool删除指定条目....128
5.3.2使用Keytool修改指定条目的口令129
5.3.3 Java程序列出密钥库所有条目......130
5.3.4 Java程序修改密钥库口令......131
5.3.5 Java程序修改密钥库条目的口令及添加条目......133
5.3.6 Java程序检验别名及删除条目......135
5.4数字证书的签发......136
5.4.1 确定CA的权威性——安装CA的证书.136
5.4.2 验证CA的权威性——显示CA的证书.140
5.4.3 Java程序签发数字证书..141
5.4.4 数字证书签名后的发布147
ii
5.5数字证书的检验......149
5.5.1 Java程序验证数字证书的有效期..149
5.5.2 使用Windows查看证书路径验证证书的签名.....151
5.5.3 Windows中卸载证书...152
5.5.4 Java程序使用CA公钥验证已签名的证书....156
第6章数字化身份 ——CertPath证书链......159
6.1密钥库中创建并保存证书链的几种方法159
6.1.1 使用Keytool将已签名的数字证书导入密钥库...159
6.1.2 使用Java程序将已签名的数字证书导入密钥库.163
6.2 几种获取CertPath证书链的方法.....165
6.2.1 根据证书文件生成CertPath类型的对象......166
6.2.2 从密钥库读取证书链生成CertPath类型的对象..168
6.2.3 从HTTPS服务器获取证书链170
6.3 CertPath对象的证书显示和保存......177
6.3.1 显示CertPath中的证书..177
6.3.2 保存CertPath中的证书..179
6.4 验证CertPath证书链.......181
6.4.1 验证主体和签发者.....182
6.4.2 验证签名......184
6.4.3 CertPathValidator类基于TrustAnchor验证证书链186
6.4.4 CertPathValidator类基于密钥库验证证书链190
6.5 使用CertStore对象保存和提取证书194
6.5.1创建CertStore对象......194
6.5.2定义证书的选择标准..198
6.5.3从CertStore中提取证书..201
6.6 证书的吊销..203
6.6.1查看证书吊销清单常规信息.203
6.6.2查看清单中被吊销的证书.....209
6.6.3从CertStore对象中提取已吊销的证书..211
第7章数据的安全传输和身份验证 ——SSL和HTTPS编程...215
7.1 最简单的SSL通信..215
7.1.1 最简单的SSL服务器..215
7.1.2 最简单的SSL客户程序.218
7.1.3 进一步设置信任关系.220
7.1.4 设置默认信任密钥库.221
7.1.5 通过KeyStore对象选择密钥库.....224
7.2 进一步的SSL客户和服务器程序的例子226
7.2.1 设计通信规则......226
7.2.2 查看对方的证书等连接信息231
7.3 HTTPS客户及服务器程序.....235
7.3.1 最简单的HTTPS服务器程序235
7.3.2 最简单的HTTPS客户程序....242
7.3.3 基于Socket的HTTPS客户程序.....245
7.3.4 传输实际文件......247
iii
7.4基于证书的客户身份验证.....251
7.4.1 最简单的验证客户身份的HTTPS服务器程序....251
7.4.2 编写客户程序连结需客户验证的HTTPS服务器254
第8章程序运行的安全性 ——基于代码来源的授权......256
8.1 安全管理器的使用.256
8.1.1使用默认的安全管理器限制应用程序.256
8.1.2编写自己的安全管理器.259
8.1.3在程序中设置安全管理器.....261
8.2使用策略文件基于代码位置进行授权....263
8.2.1允许所有代码具有所有权限.263
8.2.2允许所有代码具有特定的权限.....268
8.2.3许所有代码具有多种不同权限.....270
8.2.4针对指定目录中的代码的授权.....272
8.2.5针对从网络下载的代码的授权.....277
8.3使用策略文件基于代码的所有者进行授权.281
8.3.1编程者对代码进行签名.281
8.3.2用户检验已签名的代码.282
8.3.3针对签名者进行授权..284
8.4定义特权代码..287
8.4.1 不同代码之间的调用和授权287
8.4.2 使用doPrivileged( )方法定义特权代码292
8.4.3 使用匿名类定义特权代码....296
8.5权限的操作及定义自己的权限301
8.5.1 策略文件权限的检测.301
8.5.2 最简单的权限定义.....305
8.5.3 使用签名的权限..308
8.6 Applet的安全运行...310
8.6.1 使用AppletViewer运行的Java Applet310
8.6.2 浏览器中使用Java Plug-in运行Java Applet.313
8.6.3 浏览器基于策略文件运行Java Applet.319
8.6.4 浏览器运行RSA签名的Java Applet..321
8.6.5 Java Plug-in的证书管理.326
8.6.6 使用usePolicy权限加强RSA签名Applet的安全控制.328
第9章程序运行的安全性—— 基于用户身份的验证和授权(JAAS)...330
9.1 最简单的身份验证.330
9.1.1最简单的登录.......331
9.1.2更换登录模块修改验证方式.334
9.1.3更换回调处理器修改登录界面.....336
9.1.4使用非交互式验证......338
9.2编写自己的登录模块......340
9.2.1简单的登录模块...340
9.2.2完整的登录模块模板..348
9.2.3使用模板编写自己的密钥库登录模块.356
9.3使用堆叠式登录......364
iv
9.3.1堆叠式登录及各个登录模块的相互关系.....364
9.3.2堆叠登录模块之间的信息共享.....370
9.4编写自己的回调处理器..386
9.4.1最简单的

下载地址

  • PC版

本地下载

相关软件

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

本类排名

本类推荐

装机必备

换一批

相关资讯

公众号