一屑柔、概述
1.我們了解了對(duì)稱加密算法、非對(duì)稱加密算法锈死、數(shù)字簽名算法應(yīng)用贫堰,他們組合起來(lái)使用就是數(shù)字證書
2.對(duì)稱加密算法用來(lái)加解密數(shù)據(jù),非對(duì)稱加密算法常用來(lái)做密鑰交換待牵、數(shù)字簽名算法主要用來(lái)驗(yàn)證數(shù)據(jù)的不可否認(rèn)性
3.數(shù)字證書:對(duì)于我們來(lái)說(shuō)最常見的就是銀行給我們提供的數(shù)字證書其屏,以文件下載的方式保存,或者以u(píng)盾的方式保存
4.數(shù)字證書其實(shí)就是我們非對(duì)稱加密算法中存放了相關(guān)算法的公鑰信息
二缨该、模型分析
我們要制造數(shù)字證書偎行。可以用openssl和java的keytools來(lái)獲得贰拿,openssl開源軟件這個(gè)比keytools功能強(qiáng)大蛤袒。
1.keytools生成數(shù)字證書,并創(chuàng)建本地密鑰庫(kù)壮不。
2.數(shù)字證書(客戶端)給客戶汗盘,本地密鑰庫(kù)配合tomcat這些應(yīng)用服務(wù)器使用。開放服務(wù)器的安全端口询一,用https訪問(wèn)服務(wù)器的時(shí)候隐孽,就是進(jìn)行加密數(shù)據(jù)交互了。那些對(duì)稱加密健蕊、非對(duì)稱加密算法 都被隱藏在交互細(xì)節(jié)中了菱阵,對(duì)我們使用者來(lái)說(shuō)是透明的
3.客戶將數(shù)字證書導(dǎo)入自己的瀏覽器,和tomcat進(jìn)行數(shù)據(jù)傳送缩功。通過(guò)他們內(nèi)部實(shí)現(xiàn)的協(xié)議進(jìn)行數(shù)據(jù)加密傳輸晴及,同時(shí)通過(guò)簽名驗(yàn)證數(shù)據(jù)的真實(shí)性
三、實(shí)現(xiàn)方式
1.證書的產(chǎn)生必須用openssl或者keytools來(lái)完成
2.放到外部使用需要用tomcat的ssl/tls配置作為支持
3.如果需要第三方發(fā)放簽名證書嫡锌,可以將證書的csr文件給第三方公正虑稼,常見的國(guó)際公正三巨頭可以幫我們做這些琳钉。免費(fèi)的第三方只有cacert了。電子商務(wù)常用的就是verisign這個(gè)付費(fèi)的第三方證書發(fā)放機(jī)構(gòu)蛛倦。如果不用第三方歌懒,就是自簽名的了。沒啥法律效力
四溯壶、總結(jié)
1.上述模型只是說(shuō)了單向加密及皂、如果需要雙向加密實(shí)現(xiàn)方式相同。只不過(guò)需要?jiǎng)?chuàng)建客戶端證書且改、服務(wù)器端證書等等...
2.安全的終極裝備就是安全協(xié)議验烧。這個(gè)tomcat的ssl/tls配置是最好的體現(xiàn)
3.常規(guī)的加解密或者數(shù)字證書,核心還是用rsa之類的非對(duì)稱加密算法傳遞密鑰又跛,然后通過(guò)對(duì)稱加密算法進(jìn)行加密數(shù)據(jù)傳輸碍拆。用簽名算法進(jìn)行數(shù)據(jù)校驗(yàn)