课程设计个人报告-20181321覃泳龙

个人报告

20181321覃泳龙

时间:2020.11.8

a)、列出自己的贡献

 撰写opnssl指令代码的word文件

 搭建CA系统,提供根证书、服务证书

b)、列出设计中遇到的问题及解决方法

   1、搭建gmssl与系统自带的opnssl发生库冲突

   解决方法:

   ubuntu上交叉编译过openssl-1.1.1h使用脚本:

./config --prefix=/opt/openssl --cross-compile-prefix=arm-linux-gnueabihf- no-asm shared sed -i "s/ -m64//g" Makefile make make install

Configure配置目标平台!新的编译脚本如下

./Configure --prefix=/opt/openssl --cross-compile-prefix=arm-linux-gnueabihf- no-asm shared linux-armv4 make make install

2、安装openssl的过程中1.1.1与1.1.0的冲突

报错:./openssl: relocation error: ./openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference

解决方法

用新生成的libcrypto.so.1.1替换/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1就可以运行openssl了

3、EVE开启虚拟化后,发现failed to start login service

       解决方法:

       升级Vmware的版本,版本过低导致虚拟机管理程序不支持最新内核。

c)、列出调试过程中遇到的主要问题,并说明解决方法;

 

1、在配置Tomacat的过程中,打开网站出现了404界面

解决方法:

访问src路径里的Java文件报错

需要对目标Java文件配置路由,具体配置有两种方式

1)基于注解的方式配置

       Java类里添加

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/logout")   //这里就是路由的配置

public class LogoutServlet extends HttpServlet {
 @Override
 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  req.getSession().removeAttribute("user");
  resp.sendRedirect("/wel");
 }

 @Override
 public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  doGet(req, resp);
 }
}

2)基于xml文件配置方式

点击打开web.xml文件,然后对web.xml代码进行更改,在< /app >前面添加映射

<servlet> 
     <servlet-name>hello</servlet-name> 
     <servlet-class>com.southwind.servlet.HelloServlet</servlet-class>
 </servlet>
<servlet-mapping> 
    <servlet-name>hello</servlet-name> 
    <url-pattern>/demo2</url-pattern> 
</servlet-mapping>

2、在https的配置使用nginx方法

ssl开关

配置语法:listen 443 ssl;  # 1.1版本后这样写

ssl证书文件

    配置语法:ssl_certificate file;
默认状态:-
配置方法:http、server

ssl密码文件

配置语法:ssl_certificate_key file;
默认状态:ssl off;
配置方法:http、server

server模块添加如下配置

最终效果:

C)、设计体会及收获

在这个课程设计的过程中,首先我了解了openssl与gmssl的使用方法,在这个基础上开始搭建一下个简易的CA系统。然后在网站配置https的过程中,我虽然不是负责主要工作的,但在遇到问题时也上网查询很多资料,比如刚刚开始搭建出第一个安全网站的时候,觉得很大的成功,但时在调试的过程中,会发现不同的浏览器的问题还是出现报错,QQ浏览器的报错是证书的格式,然后我们还得通过改变自己证书的生成指令,以及不同的格式输出。这个部分很有意思,在不断的调试中解决问题,但microft浏览器还是不行,我们通过增加openssl.cnf的一个配置,还是不行,后面我们查找资料,用keytool来形成证书是可以进行htpps的加密。

我们组的https的配置,三个人用了不同的方法,第一个就是直接在web里面直接添加端口号的证书信息,用Java调取库来实现https的加密,进行端口配置。然后第二个就是tomcat的配置端口。第三个就是我这个的nginx的配置,其实和tomcat的原理差不多。用后面两种的配置,别人对网站的查看还是不安全的(在同一个局域网内),查找了很多博客,是双向认证的问题,但我参照网上博客的方法,也没有解决到问题。第一种配置就是把所有东西打包在一起,然后用一个程序运行一下,把根证书导入就可以进行浏览我们的网站了。

其实这个课程设计,代码部分其实不是很多,我最大的收获就是懂了如何去学习别人的东西,搭建CA还是htpps的配置,在网找博客,虽然一个个去看,然后试验,没有成功,但还是能学到很多东西的了,比如了解到不是课程,但相近的问题,比如keytool的证书生成...,还有很多其他的东西,作为组长,协调号组员之间的工作分配问题,以及课程报告的分工合作每一个人的部分。

D) 、参考资料(图书、网址…)

https://www.cnblogs.com/will-space/p/11913744.html

http://www.cfca.com.cn/20151124/100000359.html

https://www.jb51.net/article/193916.html

https://blog.csdn.net/weixin_39171105/article/details/109054348?utm_source=app

 

posted @ 2020-11-08 20:15  QBLL  阅读(204)  评论(1编辑  收藏  举报