图书介绍

精通PKI 网络安全认证技术与编程实现PDF|Epub|txt|kindle电子书版本网盘下载

精通PKI 网络安全认证技术与编程实现
  • 马臣云,王彦编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115178453
  • 出版时间:2008
  • 标注页数:452页
  • 文件大小:272MB
  • 文件页数:470页
  • 主题词:计算机网络-安全技术;电子商务-安全技术

PDF下载


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

下载说明

精通PKI 网络安全认证技术与编程实现PDF格式电子书版下载

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

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

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

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

图书目录

第1章 PKI基础知识3

1.1 PKI概述3

1.2 什么是数字证书3

1.2.1 数字认证的原理4

1.2.2 数字认证是如何颁发的5

1.3 为什么要使用数字证书5

1.3.1 信息传输的保密性5

1.3.2 交易者身份的确定性5

1.3.3 发送信息的不可否认性5

1.3.4 数据交换的完整性6

1.4 加密技术6

1.4.1 对称加密技术6

1.4.2 非对称加密技术7

1.5 数字签名技术8

1.5.1 数字签名技术8

1.5.2 时间戳技术9

第2章 OpenSSL入门13

2.1 OpenSSL概述13

2.1.1 OpenSSL的组成13

2.1.2 OpenSSL的优缺点14

2.2 如何下载编译15

2.2.1 Windows下编译OpenSSL15

2.2.2 Linux下编译OpenSSL17

2.3 如何搭建开发环境19

2.3.1 Windows下搭建OpenSSL开发环境19

2.3.2 Linux下搭建OpenSSL开发环境22

2.4 小结22

第3章 OpenSSL加密和解密23

3.1 概述23

3.2 函数介绍23

3.2.1 初始化函数23

3.2.2 加密初始化函数24

3.2.3 数据加密Update函数25

3.2.4 数据加密结束函数25

3.2.5 解密初始化函数26

3.2.6 数据解密Update函数26

3.2.7 数据解密结束函数27

3.3 实例应用——数据加密27

3.3.1 流程分析27

3.3.2 实例实现28

第4章 OpenSSL消息摘要32

4.1 概述32

4.2 函数介绍32

4.2.1 初始化函数32

4.2.2 设置摘要算法函数33

4.2.3 摘要Update函数33

4.2.4 摘要结束函数33

4.2.5 计算摘要函数34

4.3 实例应用34

4.3.1 流程分析34

4.3.2 实例实现36

第5章 OpenSSL签名和验证39

5.1 函数介绍39

5.1.1 签名初始化函数39

5.1.2 签名Update函数40

5.1.3 签名结束函数40

5.1.4 验证初始化函数40

5.1.5 验证Update函数41

5.1.6 验证结束函数41

5.2 实例应用41

5.2.1 流程分析42

5.2.2 实例实现44

第6章 OpenSSLBase64编解和解码48

6.1 函数介绍48

6.1.1 Base64编码初始化函数48

6.1.2 Base64编码Update函数48

6.1.3 Base64编码结束函数49

6.1.4 Base64编码函数49

6.1.5 Base64解码函数49

6.1.6 Base64解码初始化函数50

6.1.7 Base64解码Update函数50

6.1.8 Base64解码结束函数50

6.2 实例应用50

6.2.1 流程分析51

6.2.2 实例实现52

第7章 OpenSSL证书操作56

7.1 函数介绍56

7.1.1 DER编码转换为内部结构体函数56

7.1.2 获得证书版本函数57

7.1.3 获得证书序列号函数58

7.1.4 获得证书颁发者信息函数58

7.1.5 获得证书拥有者信息函数58

7.1.6 获得证书有效期的起始日期函数59

7.1.7 获得证书有效期的终止日期函数59

7.1.8 获得证书公钥函数59

7.1.9 创建和释放证书存储区函数59

7.1.10 向证书存储区添加证书函数59

7.1.11 向证书存储区添加证书吊销列表函数60

7.1.12 创建证书存储区上下文环境函数60

7.1.13 释放证书存储区上下文环境函数60

7.1.14 初始化证书存储区上下文环境函数60

7.1.15 验证证书函数61

7.2 实例应用61

7.2.1 流程分析61

7.2.2 实例实现64

第8章 SSL/TLS编程73

8.1 函数介绍73

8.1.1 初始化SSL算法库函数73

8.1.2 初始化SSL上下文环境变量函数74

8.1.3 释放SSL上下文环境变量函数74

8.1.4 设置SSL证书函数74

8.1.5 设置SSL私钥函数75

8.1.6 设置SSL证书函数75

8.1.7 设置SSL私钥函数75

8.1.8 检查SSL私钥函数75

8.1.9 新建SSL句柄函数76

8.1.10 释放SSL句柄函数76

8.1.11 设置socket句柄函数76

8.1.12 建立SSL链接函数76

8.1.13 接受SSL链接函数76

8.1.14 获得SSL链接使用的证书77

8.1.15 发送SSL数据函数77

8.1.16 读取SSL数据函数77

8.2 实例应用77

8.2.1 流程分析78

8.2.2 实例实现81

第9章 开发实例——文件保险箱89

9.1 功能预览89

9.1.1 文件加密89

9.1.2 文件解密90

9.2 流程分析91

9.2.1 文件加密函数91

9.2.2 文件解密函数93

9.3 功能实现96

第10章 开发实例——安全通信软件103

10.1 功能预览103

10.2 流程分析105

10.2.1 服务端流程分析105

10.2.2 客户端流程分析109

10.3 功能实现112

10.3.1 服务端112

10.3.2 客户端119

第11章 开发实例——安全报文系统126

11.1 功能预览126

11.1.1 发送方产生安全报文126

11.1.2 接收方解密安全报文127

11.2 流程分析129

11.2.1 发送方流程分析129

11.2.2 接收方流程分析133

11.3 功能实现136

11.3.1 发送方136

11.3.2 接收方143

第12章 CryptoAPI开发入门153

12.1 CryptoAPI的组成154

12.2 CryptoAPI的优缺点154

12.3 如何搭建开发环境154

第13章 密码服务提供者CSP函数156

13.1 函数介绍156

13.1.1 连接CSP函数156

13.1.2 枚举CSP函数157

13.1.3 获得默认CSP函数158

13.1.4 设置默认CSP函数158

13.1.5 获得CSP参数属性函数158

13.1.6 设置CSP参数函数159

13.1.7 断开CSP函数160

13.2 实例应用160

13.2.1 流程分析160

13.2.2 实例实现162

第14章 密钥的产生和交换函数169

14.1 函数介绍169

14.1.1 生成函数169

14.1.2 派生密钥函数170

14.1.3 销毁密钥函数171

14.1.4 复制密钥函数171

14.1.5 导出密钥函数171

14.1.6 导入密钥函数171

14.1.7 获得密钥参数函数172

14.1.8 获得密钥参数函数173

14.1.9 获得密钥参数函数174

14.2 实例应用174

14.2.1 流程分析174

14.2.2 实例实现178

第15章 数据的加密和解密函数183

15.1 函数介绍183

15.1.1 数据加密函数CryptEncrypt183

15.1.2 数据解密函数CryptDecrypt184

15.2 实例应用184

15.2.1 流程分析184

15.2.2 实例实现188

第16章 哈希和数字签名函数202

16.1 函数介绍202

16.1.1 创建哈希函数202

16.1.2 销毁哈希203

16.1.3 复制哈希函数203

16.1.4 获得哈希参数函数203

16.1.5 设置哈希参数函数204

16.1.6 哈希会话密钥函数204

16.1.7 哈希数据函数205

16.1.8 对哈希签名函数205

16.1.9 对哈希验证签名函数206

16.2 实例应用206

16.2.1 流程分析206

16.2.2 实例实现210

第17章 证书和证书库函数217

17.1 函数介绍217

17.1.1 打开证书库函数217

17.1.2 关闭证书库函数218

17.1.3 从证书库枚举证书函数219

17.1.4 从证书库查找证书函数219

17.1.5 创建证书句柄函数220

17.1.6 释放证书句柄函数220

17.1.7 获得证书句柄属性函数221

17.1.8 设置证书句柄属性函数221

17.1.9 获得证书主题名称函数222

17.2 实例应用222

17.2.1 流程分析223

17.2.2 实例实现224

第18章 开发实例——文件保险箱228

18.1 功能预览228

18.1.1 文件加密228

18.1.2 文件解密229

18.2 流程分析230

18.2.1 文件加密函数EncryptFile230

18.2.2 文件解密函数DecryptFile234

18.3 功能实现236

第19章 开发实例—一安全报文系统246

19.1 功能预览246

19.1.1 安全报文发送247

19.1.2 安全报文接收248

19.2 流程分析249

19.2.1 发送方流程分析249

19.2.2 接收方流程分析255

19.3 功能实现259

19.3.1 发送方259

19.3.2 接收方267

第20章 JavaSecurity开发入门279

20.1 设计原理和体系结构279

20.1.1 设计原理279

20.1.2 体系结构280

20.2 主要概念281

20.2.1 引擎类和算法281

20.2.2 实现和提供者282

20.2.3 获得实现实例的factory(工厂)方法282

20.3 主要类和接口282

20.4 搭建开发环境282

第21章 Java消息摘要283

21.1 MessageDigest类函数介绍283

21.1.1 构造方法283

21.1.2 生成实例对象函数getInstance(1)283

21.1.3 生成实例对象函数getInstance(2)284

21.1.4 获得密码服务提供者函数getProvider284

21.1.5 计算摘要函数update(1)284

21.1.6 计算摘要函数update(2)284

21.1.7 计算摘要函数update(3)285

21.1.8 计算摘要函数update(4)285

21.1.9 完成算摘要函数digest(1)285

21.1.10 完成计算摘要函数digest(2)285

21.1.11 完成计算摘要函数digest(3)286

21.1.12 比较摘要值函数isEqual286

21.1.13 对象重置函数reset286

21.1.14 获得摘要算法函数getAlgorithm286

21.1.15 获得摘要值长度函数getDigestLength287

21.2 实例应用287

21.2.1 流程分析287

21.2.2 实例实现288

第22章 Java加密和解密291

22.1 KeyGenerator类函数介绍291

22.1.1 构造方法291

22.1.2 生成实例对象函数getInstance(1)291

22.1.3 生成实例对象函数getInstance(2)292

22.1.4 获得对象密码算法函数getAlgorithm292

22.1.5 获得密码服务提供者函数getProvider292

22.1.6 初始化密钥生成器函数init(1)292

22.1.7 初始化密钥生成器函数init(2)293

22.1.8 初始化密钥生成器函数init(3)293

22.1.9 初始化密钥生成器函数init(4)293

22.1.10 初始化密钥生成器函数init(5)294

22.1.11 生成密钥函数generateKey294

22.2 Cipher类函数介绍294

22.2.1 构造方法294

22.2.2 生成实例对象函数getInstance(1)295

22.2.3 生成实例对象函数getInstance(2)295

22.2.4 获得密码服务提供者函数getProvider295

22.2.5 获得密码算法函数getAlgorithm295

22.2.6 获得密码算法分组长度函数getBlockSize296

22.2.7 获得输出数据的长度函数getOutputSize296

22.2.8 获得初始化向量函数getIV296

22.2.9 密码对象初始化函数init(1)296

22.2.10 密码对象初始化函数init(2)297

22.2.11 密码对象初始化函数init(3)297

22.2.12 密码对象初始化函数init(4)297

22.2.13 计算加密或解密函数update(1)298

22.2.14 计算加密或解密函数update(2)298

22.2.15 计算加密或解密函数update(3)299

22.2.16 计算加密或解密函数update(4)299

22.2.17 结束加密或解密函数doFin(1)300

22.2.1 8结束加密或解密函数doFinal(2)300

22.3 实例应用300

22.3.1 流程分析300

22.3.2 实例实现301

第23章 Java数字签名和验证305

23.1 KeyPairGenerator类函数介绍305

23.1.1 构造方法305

23.1.2 获得密码算法函数getAlgorithm305

23.1.3 生成实例对象函数getInstance(1)305

23.1.4 生成实例对象函数getInstance(2)306

23.1.5 密码对象初始化函数initialize(1)306

23.1.6 密码对象初始化函数initialize(2)306

23.1.7 生成非对称密钥对函数genKeyPair和generataKeyPair307

23.2 Signature类函数介绍307

23.2.1 构造方法307

23.2.2 获得签名对象算法函数getAlgorithm307

23.2.3 生成实例对象函数getInstance(1)307

23.2.4 生成实例对象函数getInstance(2)308

23.2.5 初始化验证对象函数initVerify(1)308

23.2.6 初始化验证对象函数initVerify(2)308

23.2.7 初始化签名对象函数initSign(1)309

23.2.8 初始化签名对象函数initSign(2)309

23.2.9 更新签名或验证数据函数update(1)309

23.2.10 更新签名或验证数据函数update(2)310

23.2.11 更新签名或验证数据函数update(3)310

23.2.12 签名函数sign(1)310

23.2.13 签名函数sign(2)310

23.2.14 验证签名函数verify(1)311

23.2.15 验证签名函数verify(2)311

23.3 实例应用312

23.3.1 数字签名实现312

23.3.2 数字签名验证实现312

23.3.3 实例实现313

第24章 keytool和证书类317

24.1 keytool命令介绍317

24.1.1 产生密钥对命令genkey317

24.1.2 向密钥仓库导入证书命令import318

24.1.3 导出证书请求命令certreq318

24.1.4 导出证书命令export318

24.1.5 枚举仓库数据命令list319

24.1.6 管理密钥仓库命令storepasswd319

24.1.7 管理密钥仓库命令keypasswd319

24.1.8 管理密钥仓库命令delete319

24.2 X509Certicate类函数介绍319

24.2.1 构造方法319

24.2.2 检查证书有效期函数checkValidity(1)320

24.2.3 检查证书有效期函数checkValidity(2)320

24.2.4 获得证书版本函数getVersion320

24.2.5 获得证书序列号函数getSerialNumber320

24.2.6 获得证书颁发者函数getIssuerX500Principal321

24.2.7 获得证书主题信息函数getSubjectX500Principal321

24.2.8 获得证书有效起始日期函数getNotBefore321

24.2.9 获得证书有效期终止日期函数getNotAfter321

24.2.10 获得DER编码的证书内容函数getTBSCertifiicate321

24.2.11 获得证书签名值函数getSignature321

24.2.12 获得证书签名算法名称函数getSigAlgName322

24.2.13 获得证书密钥用途函数getKeyUsage322

24.3 X509CRL类函数介绍322

24.3.1 构造方法322

24.3.2 getEncoded322

24.3.3 验证CRL签名函数verify323

24.3.4 获得CRL版本函数getVersion323

24.3.5 获得CRL颁发者函数getlssuerX500Principal323

24.3.6 获得CRL本次更新时间函数getThisUpdate323

24.3.7 获得CRL下次更新时间函数getNextUpdate324

24.3.8 获得被吊销的证书函数getRevokedCertificate(1)324

24.3.9 获得被吊销的证书函数getRevokedCertificate(2)324

24.3.10 获得被吊销的证书函数getRevokedCertificate(3)324

24.3.11 获得DER编码的CRL信息函数getTBSCertList324

24.3.12 获得签名值函数getSignature325

24.3.13 获得签名算法名称函数getSigAlgName325

24.4 实例应用325

24.4.1 流程分析325

24.4.2 实例实现326

第25章 Java开发实例——文件保险箱330

25.1 功能预览330

25.2 流程分析332

25.3 功能实现333

第26章 Java开发实例——安全报文系统336

26.1 功能预览336

26.1.1 安全报文发送336

26.1.2 安全报文接收337

26.2 流程分析338

26.2.1 发送方流程分析338

26.2.2 接收方流程分析341

26.3 功能实现343

26.3.1 密钥和证书keystore的生成方法343

26.3.2 安全报文发送方344

26.3.3 安全报文接收方348

第27章 ASP/ASp.Net电子商务网站应用355

27.1 配置HS的SSL服务器证书355

27.1.1 生成证书请求355

27.1.2 安装证书358

27.1.3 启用SSL359

27.2 基于数字证书的用户身份认证360

27.2.1 基于数字证书的用户身份认证的方法361

27.2.2 ASP/ASp.NET页面获取客户端证书的方法361

27.3 数据签名处理——基于CAPICOM的应用366

27.3.1 CAPICOM简介366

27.3.2 CAPICOM对象——Certiicate对象367

27.3.3 CAPICOM对象——Certifiicates对象369

27.3.4 CAPICOM对象——CertifiicateStatus对象369

27.3.5 CAPICOM对象——Store对象370

27.3.6 CAPICOM对象——SignedData对象372

27.3.7 CAPICOM对象——Signer对象374

27.3.8 CAPICOM对象——Signers对象374

27.3.9 CAPICOM对象——EnvelopedData对象374

27.3.10 CAPICOM对象——Recipients对象375

27.3.11 CAPICOM对象——Algorithm对象375

27.3.12 CAPICOM对象——其他对象376

27.3.13 如何在客户端安装部署和调用376

27.3.14 如何在服务器端安装部署和调用377

27.4 基于自开发控件应用378

27.4.1 开发ActiveX控件378

27.4.2 如何在客户端部署和调用383

27.4.3 代码示例384

27.5 开发实例——安全登录385

27.5.1 登录处理页面(login.apsx.cs)385

27.5.2 用户页面(main.apsx.cs)386

27.5.3 出错显示页面(err.apsx.cs)387

27.5.4 测试功能387

27.6 开发实例——订单签名388

27.6.1 签名页面前台(Sign.aspx)388

27.6.2 签名页面后台(Sign.aspx.cs)389

27.6.3 签证签名页面前台(verifySign.aspx)389

27.6.4 验证签名后台页面(verifySign.aspx.cs)390

27.7 小结394

第28章 JSP电子商务网站应用395

28.1 配置JSPWeb服务器的SSL证书395

28.1.1 生成证书请求文件(CSR)395

28.1.2 导入证书397

28.1.3 设置Tomcat支持SSL397

28.1.4 使用浏览器访问SSL服务器398

28.2 基于数字证书的用户身份认证398

28.2.1 基于数字证书的用户身份认证的方法399

28.2.2 JSP页面获取客户端证书的方法399

28.3 数据签名处理401

28.3.1 JSP前台提交签名401

28.3.2 JSP后台处理签名402

28.4 开发实例——安全登录403

28.4.1 SSL登录处理页面(loginjsp)404

28.4.2 用户主页面(mainjsp)405

28.4.3 出错处理页面(errjsp)405

28.4.4 测试代码405

28.5 开发实例——订单签名406

28.5.1 签名页面(Signjsp)406

28.5.2 验证签名页面(verifySignjsp)407

第29章 PHP电子商务网站应用410

29.1 配置Apache的SSL证书410

29.1.1 安装Apache+PHP+SSL410

29.1.2 配置Apache的SSL证书412

29.2 基于数字证书的用户身份认证414

29.2.1 基于数字证书的用户身份认证的方法414

29.2.2 PHP页面获取客户端证书的方法415

29.3 数据签名处理417

29.3.1 PHP前台提交签名417

29.3.2 PHP后台处理签名419

29.4 开发实例——安全登录423

29.4.1 登录页面(login.php)423

29.4.2 用户主页面(main.php)424

29.4.3 出错处理页面(err.php)424

29.4.4 测试代码424

29.5 开发实例——订单签名425

29.5.1 签名页面(Sign.php)425

29.5.2 验证签名页面(verifySign.php)426

29.5.3 测试代码427

第30章 颁发和获取数字证书431

30.1 利用OpenSSL颁发数字证书431

30.1.1 准备工作431

30.1.2 建立根证书431

30.1.3 颁发用户证书433

30.2 利用Windows证书服务颁发数字证书434

30.2.1 准备工作434

30.2.2 安装证书服务并设置CA434

30.2.3 提交证书请求435

30.2.4 证书颁发机构处理请求436

30.2.5 下载证书437

30.3 通过CA机构获取数字证书438

第31章 安全电子邮件应用指南439

31.1 Foxmail安全电子邮件应用439

31.1.1 为Foxmail邮箱账户配置证书439

31.1.2 发送和阅读安全电子邮件440

31.2 Outlook安全电子邮件应用441

31.2.1 为Outlook邮箱账户配置证书441

31.2.2 发送和阅读安全电子邮件442

第32章 代码签名应用指南445

32.1 什么是代码签名445

32.2 Windows应用程序代码签名445

32.2.1 申请代码签名证书445

32.2.2 使用SignCode.exe对代码签名446

32.2.3 查看代码签名证书449

32.3 Java代码签名449

32.3.1 下载签名工具449

32.3.2 申请签名证书449

32.3.3 执行代码签名450

32.3.4 验证Java代码签名450

32.4 移动代码签名450

32.4.1 主流移动操作系统对代码签名的要求450

32.4.2 代码签名的操作方法451

热门推荐