• 课程设计个人报告


    小组贡献排序及依据(每个人的工作量)

    排序 学号 工作量 工作内容
    1 20175210 35% ruby解析asn1、最终软件的GUI部分、软件测试
    2 20175211 35% 整体规划分工、python解析asn1、openssl API学习使用、实现最终软件的解析部分、软件测试
    3 20175219 30% c解析asn1、openssl API学习使用、实现最终软件的解析部分、软件测试

    个人报告(20175211)

    列出自己的贡献

    • 整体规划、分工
    • 第二周学习asn1格式互转时,实现python解析asn1
    • 查找资料、研究openssl中关于asn1解析的API
    • 实现最终软件的解析部分
    • 软件测试

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

    • 问题:最大的问题是openssl文档中里没有找到直接解析asn1的API。在官方文档中只有上层一点的解析API,比如X509证书的解析,但是这样就无法解析非证书文件,比如我们自己生成的der文件。

    • 解决方法:我想到openssl自带了asn1parse的功能,所以肯定是用了相关的接口的,所以用ltrace命令看看
      ltrace openssl asn1parse -inform der -in test.der

    成功找到调用的函数是ASN1_parse_dump,接下来就可以去网上查找有关这个函数的资料。可惜官方文档上还是没有关于这个接口的信息,所以之后只能靠自己分析。

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

    ASN1_parse_dump函数内部调用了很多其他辅助函数,而且数据的交互主要依靠BIO类型实现,我们最后决定还是直接调用这个函数而不是重构API来和GUI交互。
    在最后软件实现过程中,我主要负责解析部分的代码,比较简单,所以没有什么问题。

    设计体会及收获

    ASN1格式和JSON差不多是一类东西,但是要复杂的多。通过这次课程设计,我学习了ASN1的格式,openssl和python对ASN1数据的编解码操作以及openssl的c语言API。我的编程能力、分析设计能力和查找资料的能力都得到了提升。

    参考资料

    https://www.openssl.org/docs/man1.0.2/man3/
    https://gearyyoung.gitbooks.io/openssl-program/ASN1库/ASN1库.html
    https://docs.huihoo.com/doxygen/openssl/1.0.1c/asn1__par_8c_source.html

  • 相关阅读:
    ASP计算周开始和一年有多少周及某年第一周开始日期
    http://www.lancen.net/
    JSP的对象
    两个SQL语句
    sql 分頁
    网页特效制作汇总
    存储过程 解密
    一个计算周次和本周时间范围的代码(c#)
    Java试题
    如何在 VS 2005 里调试 Javascript
  • 原文地址:https://www.cnblogs.com/20175211lyz/p/12827980.html
Copyright © 2020-2023  润新知