目录
一、设计方案及可行性分析 2
1、任务要求 2
2、设计方案 2
二、详细设计思路 4
1、系统体系结构及技术选择 4
2、关键数据类型的定义 6
3、关键程序流程图 7
1)发送方流程: 7
2)接收方流程: 7
三、设计特色 8
1、国密算法 8
2、数字签名 10
3、数字证书 11
4、证书生成 12
1)生成自签证书和对应私钥的指令 12
2)将DER格式证书转换为PEM格式指令 12
3)将私钥和X509证书合并生PFX证书指令 12
5、QT 12
1)Qt事件 12
2)信号和槽 13
四、源代码及注释 13
代码链接: 14
1、发送端 14
2、接收端 23
五、使用流程 34
1、建立连接 34
2、选择证书 35
3、发送报文 36
4、接收报文 38
5、进行验签 40
6、密码正误判断 40
六、总结报告 41
1、小组贡献排序及依据: 41
2、个人报告20191313戴君熹: 41
1)个人贡献 41
2)遇到的问题及解决办法 41
3)体会及收获 42
4)参考资料 43
3、个人报告20191315郝嘉乐: 43
1)个人贡献 43
2)遇到的问题及解决方法 43
3)体会收获 46
4)参考资料 46
4、个人报告20191323王予涵: 47
1)个人贡献 47
2)遇到的问题及解决办法 47
3)设计体会及收获 48
4)参考资料 48
一、设计方案及可行性分析
1、任务要求
SSL协议解决了通信通道的安全问题。在实际的电子商务中,双方进行通信,不但要求通道安全,还要确保只有接收方才能阅读报文,而且报文要有发送方的签名。这就是典型的签名数字信封的应用。签名数字信封既解决了防抵赖问题又解决了数据保密问题。这次课程设计实现一个安全报文发送和接收的程序。在签名和数字信封之前,需要把私钥和证书准备好。并且使用QT语言为程序设计前端界面。
2、设计方案
安全报文的发送程序主要实现了对数据报文的数字信封和数字签名。假设A向B发送安全报文,其处理过程如下:
1)A生成一随机的对称密钥,即会话密钥;
2)A用会话密钥加密明文;
3)A用B的公钥加密会话密钥;
4)A对原文签名;
5)A将密文及加密后的会话密钥以及签名信息传递给B。