图书介绍

Java安全性编程实例2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Java安全性编程实例
  • 徐迎晓编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302064202
  • 出版时间:2003
  • 标注页数:469页
  • 文件大小:247MB
  • 文件页数:483页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Java安全性编程实例PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 准备上手1

1.1J2SE的安装和设置2

1.1.1下载J2SE2

1.1.2安装J2SE2

1.1.3设置J2SE3

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运行的JavaApplet343

8.6.2浏览器中使用JavaPlug-in运行JavaApplet346

8.6.3浏览器基于策略文件运行JavaApplet351

8.6.4浏览器运行RSA签名的JavaApplet353

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

热门推荐