Java安全性编程实例PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:徐迎晓编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2003
- ISBN:7302064202
- 页数:469 页
第1章 准备上手 1
1.1J2SE的安装和设置 2
1.1.1下载J2SE 2
1.1.2安装J2SE 2
1.1.3设置J2SE 3
1.1.4J2SE的主要工具 4
1.2反编译器的安装 6
1.2.1JAD反编译工具 6
1.2.2CAVAJ反编译工具 8
1.2.3小颖Java源代码反编译工具 8
1.3混淆器的安装 9
1.3.1MarvinObfuscator混淆器 9
1.3.2JADE混淆器 10
第2章 数据内容的保护——加密和解密 13
2.1一个简单的加密和解密程序——凯撒密码 14
2.2对称密钥的生成和保存 16
2.2.1对称密钥的生成及以对象序列化方式保存 16
2.2.2以字节保存对称密钥 18
2.3使用对称密钥进行加密和解密 20
2.3.1使用对称密钥进行加密 20
2.3.2使用对称密钥进行解密 22
2.4基于口令的加密和解密 25
2.4.1基于口令的加密 25
2.4.2基于口令的解密 28
2.5针对流的加密和解密 30
2.5.1针对输入流的加密和解密 30
2.5.2针对输出流的加密和解密 33
2.6加密方式的设定 35
2.6.1使用CBC方式的加密 36
2.6.2使用CBC方式的解密 38
2.7生成非对称加密的公钥和私钥 40
2.8使用RSA算法进行加密和解密 42
2.8.1使用RSA公钥进行加密 42
2.8.2使用RSA私钥进行解密 45
2.9使用密钥协定创建共享密钥 48
2.9.1创建DH公钥和私钥 48
2.9.2创建共享密钥 51
2.10小结 54
第3章 Java源代码和类、变量及方法的保护 55
3.1Java反编译及混淆器的使用 56
3.2从网络资源加载节码文件 61
3.3以任意方式加载字节码文件 65
3.4加载加密的字节码文件 68
3.5加载当前目录下的加密字节码文件 71
3.6Java类、成员变量和方法的保护 74
3.6.1类的保护 74
3.6.2成员变量和方法的保护 79
3.6.3使用校验器 81
3.6.4Reference类型私有成员变量的保护 83
3.6.5保护常量 86
3.7小结 88
第4章 数据完整性和所有者的确认——消息摘要和签名 89
4.1使用消息摘要验证数据未被篡改 90
4.1.1计算消息摘要 90
4.1.2基于输入流的消息摘要 92
4.1.3输入流中指定内容的消息摘要 94
4.1.4基于输入流的消息摘要 96
4.2使用消息验证码 99
4.3使用数字签名确定数据的来源 101
4.3.1使用私钥进行数字签名 102
4.3.2使用公钥验证数字签名 104
4.4使用消息摘要保存口令 107
4.4.1使用消息摘要保存口令 108
4.4.2使用消息摘要验证口令 110
4.4.3攻击消息摘要保存的口令 112
4.4.4使用加盐技术防范字典式攻击 115
4.4.5验证加盐的口令 119
4.5小结 122
第5章 数字化身份的确定——数字证书 123
5.1数字证书的创建 124
5.1.1使用默认的密钥库和算法创建数字证书 124
5.1.2使用别名 126
5.1.3使用指定的算法和密钥库和有效期 127
5.1.4使用非交互模式 128
5.2数字证书的显示 129
5.2.1使用Keytool直接从密钥库显示条目信息 129
5.2.2使用Keytool直接从密钥库显示证书详细信息 130
5.2.3使用Keytool将数字证书导出到文件 131
5.2.4使用Keytool从文件中显示证书 132
5.2.5在Windows中从文件显示证书 133
5.2.6Java程序从证书文件读取证书 134
5.2.7Java程序从密钥库直接读取证书 137
5.2.8Java程序显示证书指定信息(全名/公钥/签名等) 139
5.3密钥库的维护 143
5.3.1使用Keytool删除指定条目 143
5.3.2使用Keytool修改指定条目的口令 144
5.3.3Java程序列出密钥库所有条目 144
5.3.4Java程序修改密钥库口令 146
5.3.5Java程序修改密钥库条目的口令及添加条目 148
5.3.6Java程序检验别名及删除条目 150
5.4数字证书的签发 152
5.4.1确定CA的权威性——安装CA的证书 152
5.4.2验证CA的权威性——显示CA的证书 155
5.4.3Java程序签发数字证书 156
5.4.4数字证书签名后的发布 163
5.5数字证书的检验 164
5.5.1Java程序验证数字证书的有效期 164
5.5.2使用Windows查看证书路径验证证书的签名 167
5.5.3从Windows中卸载证书 168
5.5.4Java程序使用CA公钥验证已签名的证书 170
5.6小结 174
第6章 数字化身份——CertPath证书链 175
6.1密钥库中创建并保存证书链的几种方法 176
6.1.1使用Keytool将已签名的数字证书导入密钥库 176
6.1.2使用Java程序将已签名的数字证书导入密钥库 179
6.2几种获取CertPath证书链的方法 183
6.2.1根据证书文件生成CertPath类型的对象 183
6.2.2从密钥库读取证书链生成CertPath类型的对象 186
6.2.3从HTTPS服务器获取证书链 188
6.3CertPath对象的证书显示和保存 196
6.3.1显示CertPath中的证书 196
6.3.2保存CertPath中的证书 198
6.4验证CertPath证书链 201
6.4.1验证主体和签发者 201
6.4.2验证签名 204
6.4.3CertPathValidator类基于TrustAnchor验证证书链 207
6.4.4CertPathValidator类基于密钥库验证证书链 211
6.5使用CertStore对象保存和提取证书 215
6.5.1创建CertStore对象 215
6.5.2定义证书的选择标准 220
6.5.3从CertStore中提取证书 224
6.6证书的吊销 226
6.6.1查看证书吊销清单常规信息 226
6.6.2查看清单中被吊销的证书 230
6.6.3从CertStore对象中提取已吊销的证书 233
6.7小结 237
第7章 数据的安全传输和身份验证——SSL和HTTPS编程 238
7.1最简单的SSL通信 239
7.1.1最简单的SSL服务器 239
7.1.2最简单的SSL客户程序 241
7.1.3进一步设置信任关系 244
7.1.4设置默认信任密钥库 245
7.1.5通过KeyStore对象选择密钥库 248
7.2扩展的SSL客户和服务器程序的例子 251
7.2.1设计通信规则 251
7.2.2查看对方的证书等连接信息 257
7.3HTTPS客户及服务器程序 262
7.3.1最简单的HTTPS服务器程序 262
7.3.2最简单的HTTPS客户程序 269
7.3.3基于Socket的HTTPS客户程序 272
7.3.4传输实际文件 274
7.4基于证书的客户身份验证 279
7.4.1最简单的验证客户身份的HTTPS服务器程序 279
7.4.2编写客户程序连结需客户验证的HTTPS服务器 282
7.5小结 283
第8章 程序运行的安全性——基于代码来源的授权 284
8.1安全管理器的使用 285
8.1.1使用默认的安全管理器限制应用程序 285
8.1.2编写自己的安全管理器 288
8.1.3在程序中设置安全管理器 291
8.2使用策略文件基于代码位置进行授权 292
8.2.1允许所有代码具有所有权限 293
8.2.2允许所有代码具有特定的权限 296
8.2.3允许所有代码具有多种不同权限 298
8.2.4针对指定目录中的代码的授权 300
8.2.5针对从网络下载的代码的授权 304
8.3使用策略文件基于代码的所有者进行授权 309
8.3.1编程者对代码进行签名 309
8.3.2用户检验已签名的代码 310
8.3.3针对签名者进行授权 313
8.4定义特权代码 315
8.4.1不同代码之间的调用和授权 316
8.4.2使用doPrivileged()方法定义特权代码 321
8.4.3使用匿名类定义特权代码 326
8.5权限的操作及定义自己的权限 331
8.5.1策略文件权限的检测 331
8.5.2最简单的权限定义 336
8.5.3使用签名的权限 340
8.6Applet的安全运行 342
8.6.1使用AppletViewer运行的JavaApplet 343
8.6.2浏览器中使用JavaPlug-in运行JavaApplet 346
8.6.3浏览器基于策略文件运行JavaApplet 351
8.6.4浏览器运行RSA签名的JavaApplet 353
8.6.5JavaPlug-in的证书管理 358
8.6.6使用usePolicy权限加强RSA签名Applet的安全控制 359
8.7小结 361
第9章 程序运行的安全性——基于用户身份的验证和授仅(JAAS) 362
9.1最简单的身份验证 363
9.1.1最简单的登录 363
9.1.2更换登录模块修改验证方式 366
9.1.3更换回调处理器修改登录界面 369
9.1.4使用非交互式验证 371
9.2编写自己的登录模块 374
9.2.1简单的登录模块 374
9.2.2完整的登录模块模板 383
9.2.3使用模板编写自己的密钥库登录模块 392
9.3使用堆叠式登录 402
9.3.1堆叠式登录及各个登录模块的相互关系 402
9.3.2堆叠登录模块之间的信息共享 406
9.4编写自己的回调处理器 424
9.4.1最简单的回调处理器 424
9.4.2图形界面口令输入的安全性 430
9.4.3文本界面口令输入的安全性 433
9.4.4更加安全的文本界面口令输入方式 435
9.5基于身份的授权 438
9.5.1使用策略文件的基于身份授权 438
9.5.2使用编程方式的基于身份授权 445
9.5.3比较doAsPrivileged()和doAs() 450
9.6小结 456
附录A申请数字标识(数字证书) 457
附录B向CA申请证书签名 464
- 《情报学 服务国家安全与发展的现代情报理论》赵冰峰著 2018
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《危险化学品经营单位主要负责人和安全生产管理人员安全培训教材》李隆庭,徐一星主编 2012
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《基层医疗卫生机构安全用药手册》黎月玲,熊慧瑜 2019
- 《CINEMA 4D新手快速进阶实例教学 商迪》商迪 2020
- 《城市安全与综合防灾规划》滕五晓著 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《石油化工安全技术》胡瑾秋 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019