zoukankan      html  css  js  c++  java
  • 课程设计个人报告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

  • 相关阅读:
    HihoCoder1105 题外话·堆(基础二叉搜索树)
    HihoCoder1080 更为复杂的买卖房屋姿势(线段树+多重lazy)
    HihoCoder1078线段树的区间修改(线段树+lazy)
    HihoCoder1070 区间最小值(简单线段树)
    HDU3577Fast Arrangement(线段树+lazy)
    POJ2985 The k-th Largest Group (并查集+treap)
    HihoCoder1337 动态第k大(treap)
    STL的erase函数和lower_bound
    HihoCoder1329 平衡树·Splay(附STL版)
    etcd 在超大规模数据场景下的性能优化
  • 原文地址:https://www.cnblogs.com/qbll/p/13945580.html
Copyright © 2011-2022 走看看