2020课程设计——个人报告
2020课程设计——个人报告
课程设计项目:基于Gmssl的CA系统构建及应用
姓名:张一凡
学号:20181210
指导老师:娄嘉鹏
一、个人贡献
1、 学习OpenSSL中相关的命令
详见:https://www.cnblogs.com/you-knows/p/13811723.html
2、实践过程
1)、安装并学习tomcat的配置方法,
2)、与组员配合,完成模拟AB端实现CA证书的签发过程以及完成证书吊销(A,B两端均实现)
3)、在自己的网页上完成HTTPS的实现
4)、研究内网映射方法,利用花生壳实现内网穿透并自诊断成功
3、实践具体过程
详见:https://www.cnblogs.com/1812huiyi/p/13970124.html
二、设计中遇到的问题及解决方法
1、无法安装gmssl
在使用官方教程前下载GmSSL-v1.zip
wget https://github.com/guanzhi/GmSSL/archive/GmSSL-v1.zip
始终无法下载成功,在接下来的解压环节自然而然失败

在与同学交流沟通的过程中了解到openssl与gmssl同时安装可能会导致某些功能无法使用,甚至出现虚拟机崩坏的问题。(查阅资料理论上使用交叉编译,或者将两者放置不同文件夹下可以避免此问题,但由于openssl已经能够实现项目目的,故在考虑后使用openssl进行操作。
2、tomcat安装完成后无法实现再启动

解决方法:
能造成此种现象的原因有很多,网络上解决方法大多是server.xml配置出现了问题。但我使用相同配置修改他人tomcat中server.xml后并未出现这种情况。并且在反复安装tomcat后无果后,排除了端口占用等问题,判断是jdk发生了错误。在重新需要安装jdk后解决了此问题。
三、调试过程中遇到的主要问题以及其解决方法
1、 作为A端无法签署
1)、提示无法读取cakey.pem内的内容,但其实文件夹已经客观存在

解决方法:该命令需要调用openssl.cnf,使用前应返回openssl.cnf所在目录下
2)、在签署过程中显示无法确认签署

出现问题原因:缺少底层系统文件/crypto/bio,需要将我们下载的openssl附带的bio文件夹下的系统文件复制以进行添加。
解决办法:
在系统盘内进行操作,需要先获得root权限。再在最底层目录新建/crypto/bio文件夹,并将同apps文件下的crypto下bio目录的文件使用mv命令复制过去。



再次签署,显示成功

检查

2、 导入证书后显示不安全
问题产生原因:在同一网段下他人打开本机网址,未经过入站允许,需要在防火墙中之新建8443端口的入站许可。
解决方法:打开防火墙高级设置,新建入站规则

再次打开网站,显示成功
3、 花生壳实现内网映射时自诊断失败

解决方法:打开cmd,通过ipconfig查看内网ip

再通过如下命令查看相应开放端口(查询到内网对应端口为139)
netstat -an

进入花生壳进行相应配置

自诊断显示安全

自诊断显示安全
三、设计体会及收获
完成课题历时四周。
第一周主要完成openssl的学习,实践过程十分曲折。其中最令人困扰第一是openssl不同版本所附带的命令功能使用方法也不尽相同,部分命令的功能即使查阅手册也以及求助互联网也无法找到相应的用法示例。第二是部分命令下的二级命令过多,例如c_slient进程实现了一个通用的SSL/TLS客户端,用来对服务器端进行测试,二级命令多达百条,无法将-help一一解释。
之后三周我的任务主要参与小组间成员的互相证书颁发以及证书查看的实现,过程中也遇到了很多的问题。这方面的知识虽然对于信息安全专业的学生是重要的,但对于刚刚接触的我们来说也是陌生的。通过组员间的相互帮助以及大量时间精力的投入,总体实现过程明显比第一周独自解决命令学习的体验感更好。最终本小组也顺利完成了证书的模拟颁发。
虽然个人也在实现内网映射上花费了大量时间,但在实践过程中,受益匪浅。
四、参考资料

浙公网安备 33010602011771号