精通PKI網(wǎng)絡(luò)安全認(rèn)證技術(shù)與編程實(shí)現(xiàn)

出版時(shí)間:2008-7-1  出版社:人民郵電出版社  作者:馬臣云  頁(yè)數(shù):452  字?jǐn)?shù):766000  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

PKI是解決開(kāi)放式互聯(lián)網(wǎng)絡(luò)信息安全需求的成熟體系。PKI體系支持身份認(rèn)證,信息傳輸、存儲(chǔ)的完整性,消息傳輸、存儲(chǔ)的機(jī)密性,以及操作的不可否認(rèn)性。本書(shū)從實(shí)戰(zhàn)出發(fā),介紹了PKI應(yīng)用開(kāi)發(fā)過(guò)程和細(xì)節(jié)。全書(shū)共32章,分6篇,主要內(nèi)容包括PKI基礎(chǔ)知識(shí)、OpenSSL開(kāi)發(fā)、CrytoAPI開(kāi)發(fā)、Java Security開(kāi)發(fā)、電子商務(wù)網(wǎng)站應(yīng)用、PKI技術(shù)應(yīng)用等,涉及C語(yǔ)言、Java語(yǔ)言、JSP、ASP/ASP.NET、PHP等開(kāi)發(fā)語(yǔ)言。為了方便讀者深入了解PKI,本書(shū)按照先原理、再講解、再實(shí)戰(zhàn)的方式進(jìn)行,并且全部實(shí)例和軟件都保存在隨書(shū)贈(zèng)送的光盤中。    本書(shū)適合PKI應(yīng)用開(kāi)發(fā)人員、企業(yè)網(wǎng)絡(luò)管理人員以及大、中專院校師生閱讀。

書(shū)籍目錄

第1篇 PKI技術(shù)概述 第1章 PKI基礎(chǔ)知識(shí)   1.1 PKI概述   1.2 什么是數(shù)字證書(shū)    1.2.1 數(shù)字認(rèn)證的原理    1.2.2 數(shù)字認(rèn)證是如何頒發(fā)的   1.3 為什么要使用數(shù)字證書(shū)    1.3.1 信息傳輸?shù)谋C苄浴   ?.3.2 交易者身份的確定性    1.3.3 發(fā)送信息的不可否認(rèn)性    1.3.4 數(shù)據(jù)交換的完整性   1.4 加密技術(shù)    1.4.1 對(duì)稱加密技術(shù)    1.4.2 非對(duì)稱加密技術(shù)   1.5 數(shù)字簽名技術(shù)    1.5.1 數(shù)字簽名技術(shù)    1.5.2 時(shí)間戳技術(shù) 第2篇 OpenSSL開(kāi)發(fā) 第2章 OpenSSL入門   2.1 OpenSSL概述    2.1.1 OpenSSL的組成    2.1.2 OpenSSL的優(yōu)缺點(diǎn)   2.2 如何下載編譯    2.2.1 Windows下編譯OpenSSL    2.2.2 Linux下編譯OpenSSL   2.3 如何搭建開(kāi)發(fā)環(huán)境    2.3.1 Windows下搭建OpenSSL開(kāi)發(fā)環(huán)境    2.3.2 Linux下搭建OpenSSL開(kāi)發(fā)環(huán)境   2.4 小結(jié)  第3章 OpenSSL加密和解密   3.1 概述   3.2 函數(shù)介紹    3.2.1 初始化函數(shù)EVP_CIPHER_CTX_init    3.2.2 加密初始化函數(shù)EVP_EncryptInit_ex    3.2.3 數(shù)據(jù)加密Update函數(shù)EVP_EncryptUpdate    3.2.4 數(shù)據(jù)加密結(jié)束函數(shù)EVP_EncryptFinal_ex    3.2.5 解密初始化函數(shù)EVP_DecryptInit_ex    3.2.6 數(shù)據(jù)解密Update函數(shù)EVP_DecryptUpdate    3.2.7 數(shù)據(jù)解密結(jié)束函數(shù)EVP_DecryptFinal_ex   3.3 實(shí)例應(yīng)用——數(shù)據(jù)加密    3.3.1 流程分析    3.3.2 實(shí)例實(shí)現(xiàn)  第4章 OpenSSL消息摘要   4.1 概述   4.2 函數(shù)介紹    4.2.1 初始化函數(shù)EVP_MD_CTX_init    4.2.2 設(shè)置摘要算法函數(shù)EVP_DigestInit_ex    4.2.3 摘要Update函數(shù)EVP_DigestUpdate    4.2.4 摘要結(jié)束函數(shù)EVP_DigestFinal_ex    4.2.5 計(jì)算摘要函數(shù)EVP_Digest   4.3 實(shí)例應(yīng)用    4.3.1 流程分析    4.3.2 實(shí)例實(shí)現(xiàn)  第5章 OpenSSL簽名和驗(yàn)證   5.1 函數(shù)介紹    5.1.1 簽名初始化函數(shù)EVP_SignInit_ex    5.1.2 簽名Update函數(shù)EVP_SignUpdate    5.1.3 簽名結(jié)束函數(shù)EVP_SignFinal    5.1.4 驗(yàn)證初始化函數(shù)EVP_VerifyInit_ex    5.1.5 驗(yàn)證Update函數(shù)EVP_VerifyUpdate    5.1.6 驗(yàn)證結(jié)束函數(shù)EVP_VerifyFinal   5.2 實(shí)例應(yīng)用    5.2.1 流程分析    5.2.2 實(shí)例實(shí)現(xiàn)  第6章 OpenSSL Base64編解和解碼   6.1 函數(shù)介紹       6.1.1 Base64編碼初始化函數(shù)EVP_EncodeInit    6.1.2 Base64編碼Update函數(shù)EVP_EncodeUpdate    6.1.3 Base64編碼結(jié)束函數(shù)EVP_EncodeFinal    6.1.4 Base64編碼函數(shù)EVP_EncodeBlock    6.1.5 Base64解碼函數(shù)EVP_DecodeBlock    6.1.6 Base64解碼初始化函數(shù)EVP_DecodeInit    6.1.7 Base64解碼Update函數(shù)EVP_DecodeUpdate    6.1.8 Base64解碼結(jié)束函數(shù)EVP_DecodeFinal   6.2 實(shí)例應(yīng)用    6.2.1 流程分析    6.2.2 實(shí)例實(shí)現(xiàn)  第7章 OpenSSL證書(shū)操作   7.1 函數(shù)介紹    7.1.1 DER編碼轉(zhuǎn)換為內(nèi)部結(jié)構(gòu)體函數(shù)d2i_X509    7.1.2 獲得證書(shū)版本函數(shù)X509_get_version    7.1.3 獲得證書(shū)序列號(hào)函數(shù)X509_get_serialNumber    7.1.4 獲得證書(shū)頒發(fā)者信息函數(shù)X509_get_issuer_name    7.1.5 獲得證書(shū)擁有者信息函數(shù)X509_get_subject_name    7.1.6 獲得證書(shū)有效期的起始日期函數(shù)X509_get_notBefore    7.1.7 獲得證書(shū)有效期的終止日期函數(shù)X509_get_notAfter    7.1.8 獲得證書(shū)公鑰函數(shù)X509_get_pubkey    7.1.9 創(chuàng)建和釋放證書(shū)存儲(chǔ)區(qū)函數(shù)X509_STORE_new、X509_STORE_free    7.1.10 向證書(shū)存儲(chǔ)區(qū)添加證書(shū)函數(shù)X509_STORE_add_cert    7.1.11 向證書(shū)存儲(chǔ)區(qū)添加證書(shū)吊銷列表函數(shù)X509_STORE_add_crl    7.1.12 創(chuàng)建證書(shū)存儲(chǔ)區(qū)上下文環(huán)境函數(shù)X509_STORE_CTX_new    7.1.13 釋放證書(shū)存儲(chǔ)區(qū)上下文環(huán)境函數(shù)X509_STORE_CTX_free    7.1.14 初始化證書(shū)存儲(chǔ)區(qū)上下文環(huán)境函數(shù)X509_STORE_CTX_init    7.1.15 驗(yàn)證證書(shū)函數(shù)X509_verify_cert   7.2 實(shí)例應(yīng)用    7.2.1 流程分析    7.2.2 實(shí)例實(shí)現(xiàn)  第8章 SSL/TLS編程   8.1 函數(shù)介紹    8.1.1 初始化SSL算法庫(kù)函數(shù)SSL_library_init    8.1.2 初始化SSL上下文環(huán)境變量函數(shù)SSL_CTX_new    8.1.3 釋放SSL上下文環(huán)境變量函數(shù)SSL_CTX_free    8.1.4 設(shè)置SSL證書(shū)函數(shù)SSL_CTX_use_certificate_file    8.1.5 設(shè)置SSL私鑰函數(shù)SSL_CTX_use_PrivateKey_file    8.1.6 設(shè)置SSL證書(shū)函數(shù)SSL_CTX_use_certificate    8.1.7 設(shè)置SSL私鑰函數(shù)SSL_CTX_use_PrivateKey    8.1.8 檢查SSL私鑰函數(shù)SSL_CTX_check_private_key    8.1.9 新建SSL句柄函數(shù)SSL_new    8.1.10 釋放SSL句柄函數(shù)SSL_free    8.1.11 設(shè)置socket句柄函數(shù)SSL_set_fd    8.1.12 建立SSL鏈接函數(shù)SSL_connect    8.1.13 接受SSL鏈接函數(shù)SSL_accept    8.1.14 獲得SSL鏈接使用的證書(shū)SSL_get_peer_certificate    8.1.15 發(fā)送SSL數(shù)據(jù)函數(shù)SSL_write    8.1.16 讀取SSL數(shù)據(jù)函數(shù)SSL_read   8.2 實(shí)例應(yīng)用    8.2.1 流程分析    8.2.2 實(shí)例實(shí)現(xiàn)  第9章 開(kāi)發(fā)實(shí)例——文件保險(xiǎn)箱   9.1 功能預(yù)覽    9.1.1 文件加密    9.1.2 文件解密   9.2 流程分析    9.2.1 文件加密函數(shù)Encrypt_File    9.2.2 文件解密函數(shù)Decrypt_File   9.3 功能實(shí)現(xiàn)   第10章 開(kāi)發(fā)實(shí)例——安全通信軟件   10.1 功能預(yù)覽   10.2 流程分析    10.2.1 服務(wù)端流程分析    10.2.2 客戶端流程分析   10.3 功能實(shí)現(xiàn)    10.3.1 服務(wù)端    10.3.2 客戶端  第11章 開(kāi)發(fā)實(shí)例——安全報(bào)文系統(tǒng)   11.1 功能預(yù)覽    11.1.1 發(fā)送方產(chǎn)生安全報(bào)文    11.1.2 接收方解密安全報(bào)文   11.2 流程分析    11.2.1 發(fā)送方流程分析    11.2.2 接收方流程分析     11.3 功能實(shí)現(xiàn)    11.3.1 發(fā)送方    11.3.2 接收方 第3篇 CrytoAPI開(kāi)發(fā) 第12章 CryptoAPI開(kāi)發(fā)入門   12.1 CryptoAPI的組成   12.2 CryptoAPI的優(yōu)缺點(diǎn)   12.3 如何搭建開(kāi)發(fā)環(huán)境  第13章 密碼服務(wù)提供者CSP函數(shù)   13.1 函數(shù)介紹    13.1.1 連接CSP函數(shù)CryptAcquireContext    13.1.2 枚舉CSP函數(shù)CryptEnumProviders    13.1.3 獲得默認(rèn)CSP函數(shù)CryptGetDefaultProvider    13.1.4 設(shè)置默認(rèn)CSP函數(shù)CryptSetProvider    13.1.5 獲得CSP參數(shù)屬性函數(shù)CryptGetProvParam    13.1.6 設(shè)置CSP參數(shù)函數(shù)CryptSetProvParam    13.1.7 斷開(kāi)CSP函數(shù)CryptReleaseContext   13.2 實(shí)例應(yīng)用    13.2.1 流程分析    13.2.2 實(shí)例實(shí)現(xiàn)  第14章 密鑰的產(chǎn)生和交換函數(shù)   14.1 函數(shù)介紹    14.1.1 生成函數(shù)CryptGenKey    14.1.2 派生密鑰函數(shù)CryptDeriveKey    14.1.3 銷毀密鑰函數(shù)CryptDestroyKey    14.1.4 復(fù)制密鑰函數(shù)CryptDuplicateKey    14.1.5 導(dǎo)出密鑰函數(shù)CryptExportKey    14.1.6 導(dǎo)入密鑰函數(shù)CryptImportKey    14.1.7 獲得密鑰參數(shù)函數(shù)CryptGetKeyParam    14.1.8 獲得密鑰參數(shù)函數(shù)CryptSetKeyParam    14.1.9 獲得密鑰參數(shù)函數(shù)CryptGenRandom   14.2 實(shí)例應(yīng)用    14.2.1 流程分析    14.2.2 實(shí)例實(shí)現(xiàn)  第15章 數(shù)據(jù)的加密和解密函數(shù)   15.1 函數(shù)介紹    15.1.1 數(shù)據(jù)加密函數(shù)CryptEncrypt    15.1.2 數(shù)據(jù)解密函數(shù)CryptDecrypt   15.2 實(shí)例應(yīng)用    15.2.1 流程分析    15.2.2 實(shí)例實(shí)現(xiàn)  第16章 哈希和數(shù)字簽名函數(shù)   16.1 函數(shù)介紹    16.1.1 創(chuàng)建哈希函數(shù)CryptCreateHash    16.1.2 銷毀哈希CryptDestroyHash    16.1.3 復(fù)制哈希函數(shù)CryptDuplicateHash    16.1.4 獲得哈希參數(shù)函數(shù)CryptGetHashParam    16.1.5 設(shè)置哈希參數(shù)函數(shù)CryptSetHashParam    16.1.6 哈希會(huì)話密鑰函數(shù)CryptHashSessionKey    16.1.7 哈希數(shù)據(jù)函數(shù)CryptHashData    16.1.8 對(duì)哈希簽名函數(shù)CryptSignHash    16.1.9 對(duì)哈希驗(yàn)證簽名函數(shù)CryptVerifySignature   16.2 實(shí)例應(yīng)用    16.2.1 流程分析    16.2.2 實(shí)例實(shí)現(xiàn)  第17章 證書(shū)和證書(shū)庫(kù)函數(shù)   17.1 函數(shù)介紹    17.1.1 打開(kāi)證書(shū)庫(kù)函數(shù)CertOpenStore    17.1.2 關(guān)閉證書(shū)庫(kù)函數(shù)CertCloseStore    17.1.3 從證書(shū)庫(kù)枚舉證書(shū)函數(shù)CertEnumCertificatesInStore    17.1.4 從證書(shū)庫(kù)查找證書(shū)函數(shù)CertFindCertificateInStore    17.1.5 創(chuàng)建證書(shū)句柄函數(shù)CertCreateCertificateContext    17.1.6 釋放證書(shū)句柄函數(shù)CertFreeCertificateContext    17.1.7 獲得證書(shū)句柄屬性函數(shù)CertGetCertificateContextProperty    17.1.8 設(shè)置證書(shū)句柄屬性函數(shù)CertSetCertificateContextProperty    17.1.9 獲得證書(shū)主題名稱函數(shù)CertGetNameString   17.2 實(shí)例應(yīng)用    17.2.1 流程分析    17.2.2 實(shí)例實(shí)現(xiàn)  第18章 開(kāi)發(fā)實(shí)例——文件保險(xiǎn)箱   18.1 功能預(yù)覽    18.1.1 文件加密    18.1.2 文件解密   18.2 流程分析    18.2.1 文件加密函數(shù)Encrypt_File    18.2.2 文件解密函數(shù)Decrypt_File   18.3 功能實(shí)現(xiàn)  第19章 開(kāi)發(fā)實(shí)例—安全報(bào)文系統(tǒng)   19.1 功能預(yù)覽    19.1.1 安全報(bào)文發(fā)送    19.1.2 安全報(bào)文接收   19.2 流程分析    19.2.1 發(fā)送方流程分析    19.2.2 接收方流程分析   19.3 功能實(shí)現(xiàn)    19.3.1 發(fā)送方    19.3.2 接收方 第4篇 Java Security開(kāi)發(fā) 第20章 Java Security開(kāi)發(fā)入門   20.1 設(shè)計(jì)原理和體系結(jié)構(gòu)    20.1.1 設(shè)計(jì)原理    20.1.2 體系結(jié)構(gòu)   20.2 主要概念    20.2.1 引擎類和算法    20.2.2 實(shí)現(xiàn)和提供者    20.2.3 獲得實(shí)現(xiàn)實(shí)例的factory(工廠)方法   20.3 主要類和接口   20.4 搭建開(kāi)發(fā)環(huán)境  第21章 Java消息摘要   21.1 MessageDigest類函數(shù)介紹    21.1.1 構(gòu)造方法    21.1.2 生成實(shí)例對(duì)象函數(shù)getInstance(1)    21.1.3 生成實(shí)例對(duì)象函數(shù)getInstance(2)    21.1.4 獲得密碼服務(wù)提供者函數(shù)getProvider    21.1.5 計(jì)算摘要函數(shù)update(1)    21.1.6 計(jì)算摘要函數(shù)update(2)    21.1.7 計(jì)算摘要函數(shù)update(3)    21.1.8 計(jì)算摘要函數(shù)update(4)    21.1.9 完成計(jì)算摘要函數(shù)digest(1)    21.1.10 完成計(jì)算摘要函數(shù)digest(2)    21.1.11 完成計(jì)算摘要函數(shù)digest(3)    21.1.12 比較摘要值函數(shù)isEqual    21.1.13 對(duì)象重置函數(shù)reset    21.1.14 獲得摘要算法函數(shù)getAlgorithm    21.1.15 獲得摘要值長(zhǎng)度函數(shù)getDigestLength   21.2 實(shí)例應(yīng)用    21.2.1 流程分析    21.2.2 實(shí)例實(shí)現(xiàn)  第22章 Java加密和解密   22.1 KeyGenerator類函數(shù)介紹    22.1.1 構(gòu)造方法    22.1.2 生成實(shí)例對(duì)象函數(shù)getInstance(1)    22.1.3 生成實(shí)例對(duì)象函數(shù)getInstance(2)    22.1.4 獲得對(duì)象密碼算法函數(shù)getAlgorithm    22.1.5 獲得密碼服務(wù)提供者函數(shù)getProvider    22.1.6 初始化密鑰生成器函數(shù)init(1)    22.1.7 初始化密鑰生成器函數(shù)init(2)    22.1.8 初始化密鑰生成器函數(shù)init(3)    22.1.9 初始化密鑰生成器函數(shù)init(4)    22.1.10 初始化密鑰生成器函數(shù)init(5)    22.1.11 生成密鑰函數(shù)generateKey   22.2 Cipher類函數(shù)介紹    22.2.1 構(gòu)造方法    22.2.2 生成實(shí)例對(duì)象函數(shù)getInstance(1)    22.2.3 生成實(shí)例對(duì)象函數(shù)getInstance(2)    22.2.4 獲得密碼服務(wù)提供者函數(shù)getProvider    22.2.5 獲得密碼算法函數(shù)getAlgorithm    22.2.6 獲得密碼算法分組長(zhǎng)度函數(shù)getBlockSize    22.2.7 獲得輸出數(shù)據(jù)的長(zhǎng)度函數(shù)getOutputSize    22.2.8 獲得初始化向量函數(shù)getIV    22.2.9 密碼對(duì)象初始化函數(shù)init(1)    22.2.10 密碼對(duì)象初始化函數(shù)init(2)    22.2.11 密碼對(duì)象初始化函數(shù)init(3)    22.2.12 密碼對(duì)象初始化函數(shù)init(4)    22.2.13 計(jì)算加密或解密函數(shù)update(1)    22.2.14 計(jì)算加密或解密函數(shù)update(2)    22.2.15 計(jì)算加密或解密函數(shù)update(3)    22.2.16 計(jì)算加密或解密函數(shù)update(4)    22.2.17 結(jié)束加密或解密函數(shù)doFinal(1)    22.2.18 結(jié)束加密或解密函數(shù)doFinal(2)   22.3 實(shí)例應(yīng)用    22.3.1 流程分析    22.3.2 實(shí)例實(shí)現(xiàn)  第23章 Java數(shù)字簽名和驗(yàn)證   23.1 KeyPairGenerator類函數(shù)介紹   23.1.1 構(gòu)造方法    23.1.2 獲得密碼算法函數(shù)getAlgorithm    23.1.3 生成實(shí)例對(duì)象函數(shù)getInstance(1)    23.1.4 生成實(shí)例對(duì)象函數(shù)getInstance(2)    23.1.5 密碼對(duì)象初始化函數(shù)initialize(1)    23.1.6 密碼對(duì)象初始化函數(shù)initialize(2)    23.1.7 生成非對(duì)稱密鑰對(duì)函數(shù)genKeyPair和generateKeyPair     23.2 Signature類函數(shù)介紹    23.2.1 構(gòu)造方法    23.2.2 獲得簽名對(duì)象算法函數(shù)getAlgorithm    23.2.3 生成實(shí)例對(duì)象函數(shù)getInstance(1)    23.2.4 生成實(shí)例對(duì)象函數(shù)getInstance(2)    23.2.5 初始化驗(yàn)證對(duì)象函數(shù)initVerify(1)    23.2.6 初始化驗(yàn)證對(duì)象函數(shù)initVerify(2)    23.2.7 初始化簽名對(duì)象函數(shù)initSign(1)    23.2.8 初始化簽名對(duì)象函數(shù)initSign(2)    23.2.9 更新簽名或驗(yàn)證數(shù)據(jù)函數(shù)update(1)    23.2.10 更新簽名或驗(yàn)證數(shù)據(jù)函數(shù)update(2)    23.2.11 更新簽名或驗(yàn)證數(shù)據(jù)函數(shù)update(3)    23.2.12 簽名函數(shù)sign(1)    23.2.13 簽名函數(shù)sign(2)    23.2.14 驗(yàn)證簽名函數(shù)verify(1)    23.2.15 驗(yàn)證簽名函數(shù)verify(2)     23.3 實(shí)例應(yīng)用     23.3.1 數(shù)字簽名實(shí)現(xiàn)    23.3.2 數(shù)字簽名驗(yàn)證實(shí)現(xiàn)    23.3.3 實(shí)例實(shí)現(xiàn)   第24章 keytool和證書(shū)類   24.1 keytool命令介紹    24.1.1 產(chǎn)生密鑰對(duì)命令genkey    24.1.2 向密鑰倉(cāng)庫(kù)導(dǎo)入證書(shū)命令import    24.1.3 導(dǎo)出證書(shū)請(qǐng)求命令certreq    24.1.4 導(dǎo)出證書(shū)命令export    24.1.5 枚舉倉(cāng)庫(kù)數(shù)據(jù)命令list    24.1.6 管理密鑰倉(cāng)庫(kù)命令storepasswd    24.1.7 管理密鑰倉(cāng)庫(kù)命令keypasswd    24.1.8 管理密鑰倉(cāng)庫(kù)命令delete   24.2 X509Certificate類函數(shù)介紹    24.2.1 構(gòu)造方法    24.2.2 檢查證書(shū)有效期函數(shù)checkValidity(1)    24.2.3 檢查證書(shū)有效期函數(shù)checkValidity(2)    24.2.4 獲得證書(shū)版本函數(shù)getVersion    24.2.5 獲得證書(shū)序列號(hào)函數(shù)getSerialNumber    24.2.6 獲得證書(shū)頒發(fā)者函數(shù)getIssuerX500Principal    24.2.7 獲得證書(shū)主題信息函數(shù)getSubjectX500Principal    24.2.8 獲得證書(shū)有效起始日期函數(shù)getNotBefore    24.2.9 獲得證書(shū)有效期終止日期函數(shù)getNotAfter    24.2.10 獲得DER編碼的證書(shū)內(nèi)容函數(shù)getTBSCertificate    24.2.11 獲得證書(shū)簽名值函數(shù)getSignature    24.2.12 獲得證書(shū)簽名算法名稱函數(shù)getSigAlgName    24.2.13 獲得證書(shū)密鑰用途函數(shù)getKeyUsage   24.3 X509CRL類函數(shù)介紹    24.3.1 構(gòu)造方法    24.3.2 getEncoded    24.3.3 驗(yàn)證CRL簽名函數(shù)verify    24.3.4 獲得CRL版本函數(shù)getVersion    24.3.5 獲得CRL頒發(fā)者函數(shù)getIssuerX500Principal    24.3.6 獲得CRL本次更新時(shí)間函數(shù)getThisUpdate    24.3.7 獲得CRL下次更新時(shí)間函數(shù)getNextUpdate    24.3.8 獲得被吊銷的證書(shū)函數(shù)getRevokedCertificate(1)    24.3.9 獲得被吊銷的證書(shū)函數(shù)getRevokedCertificate(2)    24.3.10 獲得被吊銷的證書(shū)函數(shù)getRevokedCertificate(3)    24.3.11 獲得DER編碼的CRL信息函數(shù)getTBSCertList    24.3.12 獲得簽名值函數(shù)getSignature    24.3.13 獲得簽名算法名稱函數(shù)getSigAlgName   24.4 實(shí)例應(yīng)用    24.4.1 流程分析    24.4.2 實(shí)例實(shí)現(xiàn)  第25章 Java開(kāi)發(fā)實(shí)例—文件保險(xiǎn)箱   25.1 功能預(yù)覽   25.2 流程分析   25.3 功能實(shí)現(xiàn)  第26章 Java開(kāi)發(fā)實(shí)例——安全報(bào)文系統(tǒng)   26.1 功能預(yù)覽    26.1.1 安全報(bào)文發(fā)送    26.1.2 安全報(bào)文接收   26.2 流程分析    26.2.1 發(fā)送方流程分析    26.2.2 接收方流程分析   26.3 功能實(shí)現(xiàn)    26.3.1 密鑰和證書(shū)keystore的生成方法    26.3.2 安全報(bào)文發(fā)送方    26.3.3 安全報(bào)文接收方 第5篇 PKI電子商務(wù)網(wǎng)站應(yīng)用 第27章 ASP/ASP.Net電子商務(wù)網(wǎng)站應(yīng)用   27.1 配置IIS的SSL服務(wù)器證書(shū)    27.1.1 生成證書(shū)請(qǐng)求    27.1.2 安裝證書(shū)    27.1.3 啟用SSL   27.2 基于數(shù)字證書(shū)的用戶身份認(rèn)證    27.2.1 基于數(shù)字證書(shū)的用戶身份認(rèn)證的方法    27.2.2 ASP/ASP.NET頁(yè)面獲取客戶端證書(shū)的方法   27.3 數(shù)據(jù)簽名處理—基于   CAPICOM的應(yīng)用    27.3.1 CAPICOM簡(jiǎn)介    27.3.2 CAPICOM對(duì)象——Certificate對(duì)象    27.3.3 CAPICOM對(duì)象——Certificates對(duì)象    27.3.4 CAPICOM對(duì)象——CertificateStatus對(duì)象    27.3.5 CAPICOM對(duì)象——Store對(duì)象    27.3.6 CAPICOM對(duì)象——SignedData對(duì)象    27.3.7 CAPICOM對(duì)象——Signer對(duì)象    27.3.8 CAPICOM對(duì)象——Signers對(duì)象    27.3.9 CAPICOM對(duì)象——EnvelopedData對(duì)象    27.3.10 CAPICOM對(duì)象——Recipients對(duì)象    27.3.11 CAPICOM對(duì)象——Algorithm對(duì)象    27.3.12 CAPICOM對(duì)象——其他對(duì)象    27.3.13 如何在客戶端安裝部署和調(diào)用    27.3.14 如何在服務(wù)器端安裝部署和調(diào)用     27.4 基于自開(kāi)發(fā)控件應(yīng)用    27.4.1 開(kāi)發(fā)ActiveX控件    27.4.2 如何在客戶端部署和調(diào)用    27.4.3 代碼示例   27.5 開(kāi)發(fā)實(shí)例——安全登錄    27.5.1 登錄處理頁(yè)面(login.apsx.cs)    27.5.2 用戶頁(yè)面(main.apsx.cs)    27.5.3 出錯(cuò)顯示頁(yè)面(err.apsx.cs)    27.5.4 測(cè)試功能   27.6 開(kāi)發(fā)實(shí)例——訂單簽名    27.6.1 簽名頁(yè)面前臺(tái)(Sign.aspx)    27.6.2 簽名頁(yè)面后臺(tái)(Sign.aspx.cs)    27.6.3 簽證簽名頁(yè)面前臺(tái)(verifySign.aspx)    27.6.4 驗(yàn)證簽名后臺(tái)頁(yè)面(verifySign.aspx.cs)   27.7 小結(jié)  第28章 JSP電子商務(wù)網(wǎng)站應(yīng)用   28.1 配置JSP Web服務(wù)器的SSL證書(shū)    28.1.1 生成證書(shū)請(qǐng)求文件(CSR)    28.1.2 導(dǎo)入證書(shū)    28.1.3 設(shè)置Tomcat支持SSL    28.1.4 使用瀏覽器訪問(wèn)SSL服務(wù)器   28.2 基于數(shù)字證書(shū)的用戶身份認(rèn)證    28.2.1 基于數(shù)字證書(shū)的用戶身份認(rèn)證的方法    28.2.2 JSP頁(yè)面獲取客戶端證書(shū)的方法   28.3 數(shù)據(jù)簽名處理    28.3.1 JSP前臺(tái)提交簽名    28.3.2 JSP后臺(tái)處理簽名   28.4 開(kāi)發(fā)實(shí)例——安全登錄    28.4.1 SSL登錄處理頁(yè)面(login.jsp)    28.4.2 用戶主頁(yè)面(main.jsp)    28.4.3 出錯(cuò)處理頁(yè)面(err.jsp)    28.4.4 測(cè)試代碼   28.5 開(kāi)發(fā)實(shí)例——訂單簽名    28.5.1 簽名頁(yè)面(Sign.jsp)    28.5.2 驗(yàn)證簽名頁(yè)面(verifySign.jsp)  第29章 PHP電子商務(wù)網(wǎng)站應(yīng)用   29.1 配置Apache的SSL證書(shū)    29.1.1 安裝Apache+PHP+SSL    29.1.2 配置Apache的SSL證書(shū)   29.2 基于數(shù)字證書(shū)的用戶身份認(rèn)證    29.2.1 基于數(shù)字證書(shū)的用戶身份認(rèn)證的方法    29.2.2 PHP頁(yè)面獲取客戶端證書(shū)的方法   29.3 數(shù)據(jù)簽名處理    29.3.1 PHP前臺(tái)提交簽名    29.3.2 PHP后臺(tái)處理簽名   29.4 開(kāi)發(fā)實(shí)例——安全登錄    29.4.1 登錄頁(yè)面(login.php)    29.4.2 用戶主頁(yè)面(main.php)    29.4.3 出錯(cuò)處理頁(yè)面(err.php)    29.4.4 測(cè)試代碼  29.5 開(kāi)發(fā)實(shí)例——訂單簽名   29.5.1 簽名頁(yè)面(Sign.php)   29.5.2 驗(yàn)證簽名頁(yè)面(verifySign.php)   29.5.3 測(cè)試代碼 第6篇 其他PKI技術(shù)應(yīng)用 第30章 頒發(fā)和獲取數(shù)字證書(shū)   30.1 利用OpenSSL頒發(fā)數(shù)字證書(shū)    30.1.1 準(zhǔn)備工作    30.1.2 建立根證書(shū)    30.1.3 頒發(fā)用戶證書(shū)   30.2 利用Windows證書(shū)服務(wù)頒發(fā)   數(shù)字證書(shū)    30.2.1 準(zhǔn)備工作    30.2.2 安裝證書(shū)服務(wù)并設(shè)置CA    30.2.3 提交證書(shū)請(qǐng)求    30.2.4 證書(shū)頒發(fā)機(jī)構(gòu)處理請(qǐng)求    30.2.5 下載證書(shū)   30.3 通過(guò)CA機(jī)構(gòu)獲取數(shù)字證書(shū)  第31章 安全電子郵件應(yīng)用指南   31.1 Foxmail安全電子郵件應(yīng)用    31.1.1 為Foxmail郵箱賬戶配置證書(shū)    31.1.2 發(fā)送和閱讀安全電子郵件   31.2 Outlook安全電子郵件應(yīng)用    31.2.1 為Outlook郵箱賬戶配置證書(shū)    31.2.2 發(fā)送和閱讀安全電子郵件  第32章 代碼簽名應(yīng)用指南   32.1 什么是代碼簽名   32.2 Windows應(yīng)用程序代碼簽名    32.2.1 申請(qǐng)代碼簽名證書(shū)    32.2.2 使用SignCode.exe對(duì)代碼簽名    32.2.3 查看代碼簽名證書(shū)   32.3 Java代碼簽名    32.3.1 下載簽名工具    32.3.2 申請(qǐng)簽名證書(shū)    32.3.3 執(zhí)行代碼簽名    32.3.4 驗(yàn)證Java代碼簽名   32.4 移動(dòng)代碼簽名    32.4.1 主流移動(dòng)操作系統(tǒng)對(duì)代碼簽名的要求    32.4.2 代碼簽名的操作方法

章節(jié)摘錄

  第1篇 PKI技術(shù)概述  第1章 PKI基礎(chǔ)知識(shí)  本章將介紹PKI的基礎(chǔ)知識(shí)、PKI的用途、數(shù)字證書(shū)等技術(shù),并介紹一下PKI常用術(shù)語(yǔ)。由于本書(shū)專注實(shí)戰(zhàn),所以這里對(duì)密碼理論知識(shí)不做深入介紹?! ?.1 PKI概述  PKI是Public Key Infrastructure的縮寫,即公開(kāi)密鑰基礎(chǔ)設(shè)施,它是國(guó)際上解決開(kāi)放式互聯(lián)網(wǎng)絡(luò)信息安全需求的一套體系。PKI體系支持身份認(rèn)證,信息傳輸、存儲(chǔ)的完整性,消息傳輸、存儲(chǔ)的機(jī)密性,以及操作的不可否認(rèn)性?!盎A(chǔ)設(shè)施”的作用,就是只要遵從必要的原則,不同的實(shí)體都可以方便地使用基礎(chǔ)設(shè)施提供的服務(wù)。使用PKI安全基礎(chǔ)設(shè)施就像將電器接通電源一樣簡(jiǎn)單?! KI的核心是認(rèn)證中心(cA)。CA就像公安局發(fā)放身份證一樣,發(fā)放一個(gè)叫“數(shù)字證書(shū)”的身份證明。這個(gè)數(shù)字證書(shū)包含了用戶身份的部分信息,以及用戶持有的公鑰。像公安局對(duì)身份證蓋章一樣,CA利用本身的私鑰為數(shù)字證書(shū)加上了數(shù)字簽名。PKI的核心技術(shù)基礎(chǔ)是公鑰密碼學(xué)的“加密”和“簽名”技術(shù)。  1.2 什么是數(shù)字證書(shū)  數(shù)字證書(shū)就是網(wǎng)絡(luò)通信中標(biāo)志通信各方身份信息的一系列數(shù)據(jù),其作用類似于現(xiàn)實(shí)生活中的身份證。它是由一個(gè)權(quán)威機(jī)構(gòu)發(fā)行的,人們可以在交往中用它來(lái)識(shí)別對(duì)方的身份?! ∽詈?jiǎn)單的證書(shū)包含一個(gè)公開(kāi)密鑰、名稱以及證書(shū)授權(quán)中心的數(shù)字簽名。一般情況下證書(shū)中還包括密鑰的有效時(shí)間、發(fā)證機(jī)關(guān)(證書(shū)授權(quán)中心)的名稱、該證書(shū)的序列號(hào)等信息,證書(shū)的格式遵循ITUTX.509國(guó)際標(biāo)準(zhǔn),如圖1.1所示?! ∫粋€(gè)標(biāo)準(zhǔn)的X.509數(shù)字證書(shū)包含以下一些內(nèi)容?! ∽C書(shū)的版本號(hào)?! ∽C書(shū)的序列號(hào)。每個(gè)證書(shū)對(duì)于特定的CA來(lái)說(shuō)都有一個(gè)唯一的證書(shū)序列號(hào)?! ∽C書(shū)所使用的簽名算法。  證書(shū)的發(fā)行機(jī)構(gòu)名稱,命名規(guī)則一般采用X.500格式。  證書(shū)的有效期?,F(xiàn)在通用的證書(shū)一般采用UTC時(shí)間格式,它的計(jì)時(shí)范圍為l950~2049?! ∽C書(shū)所有人的名稱,命名規(guī)則一般采用X.500格式。  證書(shū)所有人的公開(kāi)密鑰?! ∽C書(shū)發(fā)行者對(duì)證書(shū)的簽名。在Windows下可以方便地查看證書(shū),打開(kāi)證書(shū)可以看到類似圖l.2所示的證書(shū)內(nèi)容?! ?.2.1 數(shù)字認(rèn)證的原理  數(shù)字證書(shū)采用公鑰體制,即利用一對(duì)互相匹配的密鑰進(jìn)行加密、解密。每個(gè)用戶可以設(shè)定一把特定的僅為本人所知的私有密鑰(私鑰),用它進(jìn)行解密和簽名;同時(shí)設(shè)定一把公共密鑰(公鑰)并由本人公開(kāi),為一組用戶所共享,用于加密和驗(yàn)證簽名。當(dāng)發(fā)送一份保密文件時(shí),發(fā)送方使用接收方的公鑰對(duì)數(shù)據(jù)加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無(wú)誤地到達(dá)目的地了。通過(guò)數(shù)字的手段保證加密過(guò)程是一個(gè)不可逆過(guò)程,即只有用私有密鑰才能解密。  在公開(kāi)密鑰密碼體制中,常用的一種是RSA加密算法。其數(shù)學(xué)原理是將一個(gè)大數(shù)分解成兩個(gè)質(zhì)數(shù)的乘積,加密和解密用的是兩個(gè)不同的密鑰。即使已知明文、密文和加密密鑰(公鑰),想要推導(dǎo)出解密密鑰(私鑰),在計(jì)算上是不可能的。按現(xiàn)在的計(jì)算機(jī)技術(shù)水平,要破解目前采用的1024位RSA密鑰,需要上千年的計(jì)算時(shí)間。公開(kāi)密鑰技術(shù)解決了密鑰發(fā)布的管理問(wèn)題,商家可以公開(kāi)其公開(kāi)密鑰,而保留其私有密鑰。購(gòu)物者可以用人人皆知的公開(kāi)密鑰對(duì)發(fā)送的信息進(jìn)行加密,安全地傳送給商家,然后由商家用自己的私有密鑰進(jìn)行解密。  如果用戶需要發(fā)送加密數(shù)據(jù),則需要使用接收方的數(shù)字證書(shū)(公鑰)對(duì)數(shù)據(jù)進(jìn)行加密,而接收方則使用自己的私鑰進(jìn)行解密,從而保證數(shù)據(jù)的安全保密性?! ×硗?,用戶可以通過(guò)數(shù)字簽名實(shí)現(xiàn)數(shù)據(jù)的完整性和有效性,只需采用私鑰對(duì)數(shù)據(jù)進(jìn)行加密處理,由于私鑰僅為用戶個(gè)人擁有,因此能夠保證簽名文件的唯一性,即保證數(shù)據(jù)由簽名者自己簽名發(fā)送,簽名者不能否認(rèn)或難以否認(rèn);數(shù)據(jù)自簽發(fā)到接收這段過(guò)程中未曾作過(guò)任何修改,簽發(fā)的文件是真實(shí)的?! ?.2.2 數(shù)字認(rèn)證是如何頒發(fā)的  數(shù)字證書(shū)是由認(rèn)證中心頒發(fā)的,該證書(shū)是認(rèn)證中心與用戶建立信任關(guān)系的基礎(chǔ)。在用戶使用數(shù)字證書(shū)之前必須首先下載和安裝?! ≌J(rèn)證中心是一家能向用戶簽發(fā)數(shù)字證書(shū)以確認(rèn)用戶身份的管理機(jī)構(gòu)。為了防止數(shù)字憑證的偽造,認(rèn)證中心的公鑰必須是可靠的。認(rèn)證中心必須公布其公鑰,或由更高級(jí)別的認(rèn)證中心提供一個(gè)電子憑證來(lái)證明其公鑰的有效性。后一種方法導(dǎo)致了多級(jí)別認(rèn)證中心的出現(xiàn)?! ?shù)字證書(shū)頒發(fā)過(guò)程如下:用戶產(chǎn)生了自己的密鑰對(duì),并將公鑰及部分個(gè)人身份信息傳送給認(rèn)證中心。認(rèn)證中心在核實(shí)身份后,將執(zhí)行一些必要的步驟,以確信請(qǐng)求確實(shí)由用戶發(fā)送而來(lái)。然后,認(rèn)證中心將發(fā)給用戶一個(gè)數(shù)字證書(shū)。該證書(shū)內(nèi)附有用戶和他的密鑰等信息,還附有對(duì)認(rèn)證中心公鑰加以確認(rèn)的數(shù)字證書(shū)。當(dāng)用戶想證明其公鑰的合法性時(shí),就可以提供該數(shù)字證書(shū)?! ?.3 為什么要使用數(shù)字證書(shū)  雖然因特網(wǎng)電子商務(wù)系統(tǒng)技術(shù)可以使在網(wǎng)上購(gòu)物的顧客能夠極其方便地獲得商家和企業(yè)的信息,但同時(shí)也增加了對(duì)某些敏感或有價(jià)值的數(shù)據(jù)被濫用的風(fēng)險(xiǎn)。買方和賣方都必須保證在因特網(wǎng)上進(jìn)行的一切金融交易運(yùn)作都是真實(shí)可靠的,并且顧客、商家和企業(yè)等交易各方都具有絕對(duì)的信心,因而因特網(wǎng)電子商務(wù)系統(tǒng)必須保證具有十分可靠的安全保密技術(shù),也就是說(shuō),必須保證網(wǎng)絡(luò)安全的四大要素,即信息傳輸?shù)谋C苄浴?shù)據(jù)交換的完整性、發(fā)送信息的不可否認(rèn)性、交易者身份的確定性。  1.3.1 信息傳輸?shù)谋C苄浴 〗灰字械纳虅?wù)信息均有保密的要求。例如,若信用卡的賬號(hào)和用戶名被人知悉,就可能被盜用;訂貨和付款的信息被競(jìng)爭(zhēng)對(duì)手獲悉,就可能喪失商機(jī)。因此,在電子商務(wù)的信息傳播中,數(shù)據(jù)一般均有加密的要求?! ?.3.2 交易者身份的確定性  網(wǎng)上交易的雙方很可能素昧平生,相隔千里。要使交易成功,首先要確認(rèn)對(duì)方的身份。商家要考慮客戶端是不是騙子,而客戶也會(huì)擔(dān)心網(wǎng)上的商店是一個(gè)欺騙消費(fèi)者的黑店。因此,能方便而可靠地確認(rèn)對(duì)方身份是交易的前提條件?! ?.3.3 發(fā)送信息的不可否認(rèn)性  由于商情的千變?nèi)f化,交易一旦達(dá)成是不能被取消的,否則必然會(huì)損害一方的利益。例如,訂購(gòu)黃金時(shí),訂貨時(shí)金價(jià)較低,但收到訂單后金價(jià)上漲了。這時(shí),如果收單方否認(rèn)收到訂單的實(shí)際時(shí)間,甚至否認(rèn)收到訂單的事實(shí),則訂貨方就會(huì)蒙受損失。因此,電子交易通信過(guò)程的各個(gè)環(huán)節(jié)都必須是不可否認(rèn)的。

編輯推薦

  PKI,利用公鑰加密技術(shù),解決電子商務(wù)信息安全需求的成熟體系。  內(nèi)容充實(shí),技術(shù)全面,覆蓋了常見(jiàn)的PKI應(yīng)用開(kāi)發(fā)技術(shù)注重應(yīng)用。強(qiáng)調(diào)實(shí)戰(zhàn),填補(bǔ)了PKI類書(shū)籍只重理論沒(méi)有實(shí)戰(zhàn)的空白。  以“步驟+代碼”的方式進(jìn)行講解,讓初學(xué)者快速入門實(shí)例典型、代碼豐富,有極大的應(yīng)用價(jià)值博客專欄支持,解惑答疑,深入交流?! ”緯?shū)直接從實(shí)戰(zhàn)出發(fā),介紹了PKI應(yīng)用開(kāi)發(fā)過(guò)程和細(xì)節(jié)。 本書(shū)介紹了PKI應(yīng)用開(kāi)發(fā)常用的技術(shù),包括OpenSSL開(kāi)發(fā)、CrytoAPI開(kāi)發(fā)、Java Security開(kāi)發(fā)、電子商務(wù)網(wǎng)站應(yīng)用、PKI相關(guān)技術(shù)應(yīng)用等,涉及C語(yǔ)言、Java語(yǔ)言、Web開(kāi)發(fā)語(yǔ)言(JSP、ASP/ASP.NET、PHP),每個(gè)系列都是按照先原理、再講解、再實(shí)戰(zhàn)的方式進(jìn)行。力求讀者學(xué)完本書(shū)后,可進(jìn)行項(xiàng)目實(shí)踐。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    精通PKI網(wǎng)絡(luò)安全認(rèn)證技術(shù)與編程實(shí)現(xiàn) PDF格式下載


用戶評(píng)論 (總計(jì)22條)

 
 

  •   如果徹底不懂得pki又想快速寫出代碼的話,可以參考一下
  •   書(shū)的作者給了我很多的幫助。唯一的缺陷在于,書(shū)中對(duì)于私鑰的相關(guān)操作沒(méi)有提到
  •   很實(shí)用,適合初學(xué)者,簡(jiǎn)單易懂。
  •   內(nèi)容易懂,有基礎(chǔ)的人很容易上手
  •   就像作者說(shuō)的,很多例子可以拿來(lái)就用。
  •   此書(shū)對(duì)于初學(xué)PKI的程序員來(lái)說(shuō),是本難得的好書(shū)。她的實(shí)例能讓你很快就能掌握PKI編程技術(shù)。
  •   學(xué)PKI這本書(shū)很不錯(cuò),懂得了很多底層的現(xiàn)實(shí)過(guò)程。比單純的操作要好得多,其實(shí)這個(gè)挺不錯(cuò)的。
  •   挺好的這本書(shū)講得比較詳細(xì)是一本經(jīng)典的PKI的教程
  •   直接可以用這本書(shū)作vc++下的開(kāi)發(fā)
  •   適合搞開(kāi)發(fā)的人使用就是里邊平臺(tái)太多專業(yè)知識(shí)反倒不夠全面
  •   雖然講的都是基礎(chǔ)和應(yīng)用,但是確實(shí)是讓我對(duì)加密應(yīng)用入門了
  •   這本書(shū)很不錯(cuò),能夠幫你快速入門。
  •   很經(jīng)典,很適合我們初學(xué)者學(xué)
  •   雖然知識(shí)點(diǎn)是比較淺,但是體系很完善,是本打基礎(chǔ)的好書(shū)
  •   但有一點(diǎn)沒(méi)有講清楚,即瀏覽器對(duì)SLL是如何支持的,沒(méi)有講清楚。比如IE什么時(shí)候會(huì)彈出SLL證書(shū)框,
  •   還是比較不錯(cuò)的一本書(shū),當(dāng)然,更適合搞C/C++方面的安全開(kāi)發(fā)工作者。從另一個(gè)角度來(lái)講,很適合OpenSSL的實(shí)踐!
  •   實(shí)現(xiàn)更多一些,有ejbca的就好了.可是講的openssl.各類語(yǔ)言包括的太多
  •   函數(shù)使用不是問(wèn)題,關(guān)鍵是對(duì)安全原理的過(guò)程理解。。。
  •   暈,,我收到書(shū)看后才知道印刷有問(wèn)題,,我的書(shū)共有四頁(yè)面無(wú)字情況。

    你能把P26,P27,P30,P31傳電子版本給我吧! 本人郵箱為290467588@qq.com

    把書(shū)發(fā)回去再又發(fā)回來(lái)太麻煩了! 謝謝
  •   可以作為參考書(shū)放在桌子上隨手翻一翻,但講的不深入;想深入研究不要買此書(shū)
  •   我收到書(shū)后,發(fā)現(xiàn)光盤已經(jīng)破碎了,請(qǐng)問(wèn)怎么獲取新的光盤?
  •   很一般的書(shū),有點(diǎn)作用
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7