《數(shù)字證書(shū)的創(chuàng)建》PPT課件.ppt
《《數(shù)字證書(shū)的創(chuàng)建》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)字證書(shū)的創(chuàng)建》PPT課件.ppt(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第五章數(shù)字證書(shū)的創(chuàng)建 主要內(nèi)容 使用keytool工具創(chuàng)建數(shù)字證書(shū)使用keytool工具和JAVA程序讀取并顯示數(shù)字證書(shū)使用keytool工具和JAVA程序維護(hù)密鑰庫(kù)使用JAVA程序簽發(fā)數(shù)字證書(shū)對(duì)單個(gè)數(shù)字證書(shū)進(jìn)行初步檢驗(yàn) 使用默認(rèn)的密鑰庫(kù)和算法創(chuàng)建數(shù)字證書(shū) 創(chuàng)建證書(shū)使用參數(shù)keytool genkey以上生成的公鑰 私鑰和證書(shū)都保存在用戶的主目錄中創(chuàng)建的一個(gè)默認(rèn)文件 keystore 中 該文件一般保存在 c DocumentsandSetting 用戶名 由于 keystore 中包含了私鑰 所以是一個(gè)需要保密的文件 因此上述操作第一次使用需要設(shè)置一個(gè)密碼 下次在使用這個(gè)密鑰庫(kù)時(shí)必須提供這個(gè)密碼才能進(jìn)入 一個(gè)密鑰庫(kù)可以存放多個(gè)密鑰 每個(gè)密鑰以別名作為區(qū)分 若沒(méi)有說(shuō)明 默認(rèn)別名是mytest 每個(gè)別名可以設(shè)置一個(gè)密碼來(lái)保護(hù) 是 使用別名 密鑰庫(kù)可以存放多個(gè)條目 公鑰 私鑰對(duì)和證書(shū) 它們?cè)诿荑€庫(kù)中以別名區(qū)分 在上節(jié)中沒(méi)有指定別名 因此系統(tǒng)使用了默認(rèn)的別名mykey 當(dāng)密鑰庫(kù)中有多個(gè)公鑰 私鑰對(duì)和證書(shū)時(shí) 應(yīng)該使用別名 alias 例 keytool genkey aliasxuyingxiao2 例 使用指定的算法和密鑰庫(kù)和有效期 Keytool中的 keyalg參數(shù)可以指定密鑰的算法 如果需要指定密鑰的長(zhǎng)度 可以再加上 keysize參數(shù) 密鑰長(zhǎng)度默認(rèn)為1024位 使用DSA算法時(shí) 密鑰長(zhǎng)度必須再512 1024之間 并且是64的整數(shù)倍 keystore參數(shù)可以指定密鑰庫(kù)的名稱 密鑰庫(kù)其實(shí)是存放密鑰和證書(shū)的文件 密鑰庫(kù)對(duì)應(yīng)的文件不存在則自動(dòng)創(chuàng)建 validity參數(shù)可以指定所創(chuàng)建的證書(shū)的有效期是多少天 例 使用非交互模式 還可以使用非交互模式來(lái)指定所有信息創(chuàng)建公鑰 私鑰對(duì)和證書(shū) 密鑰庫(kù)的密碼 用 storepass來(lái)指定別名條目的密碼 用 keypass來(lái)指定證書(shū)擁有者的信息 用 dname來(lái)指定 例 keytool genkey dname CN tmp OU NC O ShanghaiUniversity L ZB ST Shanghai C CN aliastmp keyalgRSA keystoremykeystore keypasswshr ut storepasswshr ut validity1000 數(shù)字證書(shū)的顯示 1 使用keytool直接從密鑰庫(kù)顯示條目信息參數(shù) list可以顯示密鑰庫(kù)中的證書(shū)信息2 使用直接從密鑰庫(kù)中顯示證書(shū)詳細(xì)信息 v參數(shù)可以顯示證書(shū)的詳細(xì)信息3 使用keytool將證書(shū)導(dǎo)出到文件使用 export參數(shù)可以將指定別名的證書(shū)導(dǎo)出到文件 文件名通過(guò) file參數(shù)指定 若加 rfc 則可以使用一種可打印的編碼格式來(lái)保存證書(shū) 4 使用keytool從文件中顯示證書(shū)使用keytool的 printcert參數(shù)可以將導(dǎo)出的證書(shū)文件詳細(xì)內(nèi)容顯示出來(lái) 文件名通過(guò) file參數(shù)指定 5 在windows從文件顯示證書(shū) 使用keytool直接從密鑰庫(kù)顯示條目信息 v參數(shù)可以顯示證書(shū)的詳細(xì)信息 使用 export導(dǎo)出證書(shū) 例 使用keytool從文件中顯示證書(shū) JAVA程序從證書(shū)文件讀取證書(shū) 編程思路 1 獲取CertificateFactory類型的對(duì)象 2 獲取證書(shū)文件輸入流 3 生成Certificate類型的對(duì)象 4 顯示證書(shū)內(nèi)容例 javaPrintCertmytest cer將創(chuàng)建文件tmp txt JAVA程序從密鑰庫(kù)中直接讀取證書(shū) 編程思路 1 創(chuàng)建密鑰庫(kù)的文件輸入流 2 創(chuàng)建Keystore對(duì)象 3 加載密鑰庫(kù) 4 獲取密鑰庫(kù)中的證書(shū)例 javaPrintCert2可以使用javaPrintCert2 tmp2 txt將輸出重定向到文件tmp2 txt中 例 JAVA程序顯示證書(shū)指定信息 上節(jié)顯示了證書(shū)的全部信息 這里介紹如何從證書(shū)中只提取所需要的信息 編程思路 1 獲取證書(shū) 2 將證書(shū)轉(zhuǎn)換為X509類型 3 獲取版本號(hào) 4 獲取序列號(hào) 5 獲取主體和簽發(fā)者的全名 6 獲取證書(shū)的有效期 7 獲取證書(shū)的簽名算法 8 獲取證書(shū)的簽名 9 獲取證書(shū)的公鑰javaShowCertInfomytest cer tt txt 例 密鑰庫(kù)的維護(hù) 1 刪除指定條目 delete可以刪除密鑰庫(kù)中的條目先執(zhí)行5 3 1 bat文件 在密鑰庫(kù)mykeystore中創(chuàng)建一個(gè)臨時(shí)條目tmp1 再在mykeystore文件所在的目錄中執(zhí)行 Keytool list keystoremykeystore storepasswshr ut來(lái)顯示所有條目刪除條目用命令 keytool delete aliastmp1 keystoremykeystore 2 修改指定條目的口令 keypasswd可以修改密鑰庫(kù)中指定條目的口令先執(zhí)行5 3 1 bat文件 在密鑰庫(kù)mykeystore中創(chuàng)建一個(gè)臨時(shí)條目tmp1 將原來(lái)的密碼abcdefg改為123456 3 java程序列出密鑰庫(kù)所有條目例 javaShowAlias4 JAVA程序修改密鑰庫(kù)口令例 javaSetStorePasswshr utmynewpass現(xiàn)用下面的命令將mykeystore密鑰庫(kù)文件備份到文件mykeystore bat中 Copymykeystoremykeystore bak對(duì)比改密碼后的文件和原文件內(nèi)容是否相同JavaDigestInputmykeystoreJavaDigestInputmykeystore bak 5 JAVA程序修改密鑰庫(kù)條目的口令及添加條目例 javaSetKeyPassmytestwshr utnewpass 6 JAVA程序檢驗(yàn)?zāi)硞€(gè)別名是否存在于密鑰庫(kù) mykeystore 中 若存在則從密鑰庫(kù)中刪除該條目例 DeleteAlias 數(shù)字證書(shū)的簽發(fā) 和現(xiàn)實(shí)生活中一樣 要有權(quán)威的機(jī)構(gòu)檢查證書(shū)中內(nèi)容的真實(shí)性 然后再簽發(fā)證書(shū) 在證書(shū)上蓋章 在計(jì)算機(jī)的世界中 這個(gè)蓋章的過(guò)程就是數(shù)字簽名 即權(quán)威機(jī)構(gòu)用自己的私鑰對(duì)證書(shū)進(jìn)行數(shù)字簽名用戶要先將CA自身的證書(shū)安裝在計(jì)算機(jī)操作系統(tǒng)中 以便計(jì)算機(jī)自動(dòng)檢驗(yàn)其他證書(shū)是否值得信任 CA可以他哦難過(guò)電子郵件 網(wǎng)頁(yè)或蓋有公章的正式文件確定 并檢查它的認(rèn)證指紋 JAVA程序簽發(fā)數(shù)字證書(shū) 安裝了CA的證書(shū)之后 可以用CA的證書(shū)來(lái)簽發(fā)其他的證書(shū)編程思路 1 從密鑰庫(kù)讀取CA的證書(shū) 2 從密鑰庫(kù)中讀取CA的私鑰 3 從CA的證書(shū)中提取簽發(fā)者信息 4 獲得待簽發(fā)的證書(shū) 5 從待簽發(fā)的證書(shū)提取證書(shū)信息 6 設(shè)置新證書(shū)有效期 7 設(shè)置新證書(shū)序列號(hào) 8 設(shè)置新證書(shū)簽發(fā)者 9 設(shè)置新證書(shū)簽名算法信息 10 創(chuàng)建證書(shū)并使用CA的私鑰對(duì)其簽名 11 將新證書(shū)存入密鑰庫(kù)例 javaSignCertlf cer 1 txt 例 數(shù)字證書(shū)簽名后的發(fā)布 CA對(duì)數(shù)字證書(shū)簽名后可以將其導(dǎo)出到文件 數(shù)字證書(shū)的檢驗(yàn) 1 JAVA程序驗(yàn)證數(shù)字證書(shū)的有效期例 檢驗(yàn)證書(shū)在某個(gè)日期是否有效CheckCertValid編程思路 1 獲取x509Certificate類型的對(duì)象 2 獲取日期 3 檢驗(yàn)證書(shū) 4 處理CertificateExpiredException異常 5 處理CertificateNotYetValidException異常例 javaCheckCertValidmytest cer2002124 例 2 使用Windows查看證書(shū)路徑驗(yàn)證證書(shū)的簽名3 從Windows中卸載證書(shū)4 JAVA程序使用CA公鑰驗(yàn)證已簽名的證書(shū)例 驗(yàn)證某個(gè)證書(shū)是否確實(shí)是某個(gè)CA簽發(fā)的javaCheckCertSignmytest cerlf signed cer編程思路 1 獲取CA的證書(shū) 2 獲取待檢驗(yàn)的證書(shū) 3 獲取CA的公鑰 4 檢驗(yàn)證書(shū) 5 處理異常對(duì)象 例 小結(jié) 本章主要介紹了數(shù)字證書(shū)的概念 以及數(shù)字證書(shū)的創(chuàng)建 讀取 簽發(fā)和初步驗(yàn)證等功能 下一章主要介紹驗(yàn)證數(shù)字證書(shū)的相關(guān)的證書(shū)鏈及其驗(yàn)證- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)字證書(shū)的創(chuàng)建 數(shù)字證書(shū) 創(chuàng)建 PPT 課件
鏈接地址:http://www.hcyjhs8.com/p-8658509.html