2019 课程设计个人报告
生活随笔
收集整理的這篇文章主要介紹了
2019 课程设计个人报告
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
課程設計個人報告 20165310 徐雯
一、個人貢獻
- 設計整體框架,整理所需實現功能
- 根據計劃進行程序設計
- 實現程序設計所需代碼,并進行調試
- 尋找實現功能過程中所需參考資料并進行學習
二、設計問題與解決方法
- 調用OpenSSL生成用戶公私鑰依賴于外部環境,我們希望能夠實現代替用戶生成的功能
- 利用bouncycastle封裝的類生成RSA、ECC、SM2的公私鑰對
- 為了用戶與證書正常使用,所生成的公私鑰需要能夠在本地保存
- 應該實現B/S還是C/S架構
- 考慮到密鑰保存方便選擇了C/S架構
- 但是發現參數傳遞B/S架構更加方便,只是時間來不及調整,如果有機會可以加以改進。
三、調試過程問題與解決方法
- 很少有有關ECC與SM2的證書生成的資料,底層開始實現時間不足且編碼過于復雜
- 找到bouncycastle的集成封裝,1.57及更高版本實現了SM2的密鑰生成與證書生成功能。
- 進行bouncycastle的語法學習,實現CA功能。
- 三種類型的密鑰保存在本地并且能夠恢復進行使用
- 利用Base64進行編碼,生成.key文件并保存在本地。
- 利用bouncycastle包的keyFactory進行解碼,publicKeySpec為X509EncodedKeySpec對公鑰進行解碼,利用privateKeySpec為PKCS8EncodedKeySpec對私鑰進行解碼。
- 生成ECC證書失敗,密鑰讀取報錯
- 調試生成密鑰時的代碼未完善時生成的ECC的密鑰對,存在損壞,重新生成密鑰對即可。
- C/S進行Socket傳輸時,連續傳輸字節數組或先傳送再讀取出錯。
- 進行flush阻塞或開啟新的socket進行傳輸
四、設計體會及收獲
- 本次項目還存在很大的不足,由于時間原因有一些細節與功能我們能夠做的更好,但是現在只是基本實現其功能,在安全性、保密性等功能與證書存儲、更新等存在進一步的思考與改進空間。
- 本次項目我的Java自主編程能力有了提高,學會了CA的Java實現方式,對于CA、PKI、socket傳輸等有了更深的了解,對于項目架構、系統總體設計與代碼具體實現的關系也有了新的體會。
五、參考資料
- 密鑰格式轉換與保存:
- java實現RSA的簡單加密解密
- 簡單的RSA秘鑰保存讀取方式
- CSR文件生成
- Java生成CSR創建證書
- CA證書簽發
- 基于BouncyCastle的ECDSA Key, CSR, Certificate Demo
- Java下使用BouncyCastle制作證書
- bouncycastle 產生證書
轉載于:https://www.cnblogs.com/atbaoi/p/10928703.html
總結
以上是生活随笔為你收集整理的2019 课程设计个人报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大专读完大一第一学期,贷款助学但是钱被自
- 下一篇: 14多线程程序设计