openKylin 動態

NEWS

新闻

了解openKylin最新资讯,关注社区和产品动态。

NEWS

Learn about the latest news.

第十二届“麒麟杯”赛题解析-设计和实现OESV4签章组件和OED打印控制组件

2023-08-02 10:38:01

第十二届“麒麟杯”全国开源应用软件开发大赛在中国软件行业协会、开放原子开源基金会、中国计算机学会开源发展委员会、中国开源软件推进联盟的指导下,由openKylin开源社区、麒麟软件有限公司、国防科技大学、信创海河实验室联合主办。

数科网维作为本届大赛赞助商之一,有幸受邀为大赛出具赛题—设计和实现OESV4签章组件和OED打印控制组件。为了让各位参赛者能更深度的了解本赛题,接下来我们对赛题内容、难点进行一个详细的解析:

赛题说明

基于openKylin操作系统和数科OFD阅读器

1.设计和实现OESV4签章组件,使用国密算法实现计算摘要、签名验签等接口,结合数科OFD阅读器实现盖章验章功能;

2.设计和实现OED打印控制组件,结合数科OFD阅读器实现打印控制功能。


赛题背景

随着电子文档在各个行业的普及,用户对电子文档的安全性有了更高的要求。电子签名作为保护电子文档的一种手段,数字证书在其中发挥了重要的作用,随着《中华人民共和国电子签名法》的实施,对电子签名及数字证书的可信度甄别尤为重要。而电子文档的安全性签名恰好是围绕PKI体系构建的,通过开发一个可以进行签名验签的组件可以更快地了解PKI体系和我国自主密码体系架构。


赛题解析

本次考题旨在考验参赛者在Linux环境下使用c/c++开发动态库的技能和知识。

参赛者将面对一系列关于密码、证书、签名、ASN1等等行业术语和相关知识,需要通过学习PKI中相关标准解决这些问题,在密码学中,各个标准都是相互嵌套、独立的,需要广泛学习构建一个庞大的体系才能熟练使用,甚至提出业内新的解决方案。


赛题难点

  • 参赛者需要掌握c/c++的基础知识,并熟练使用编译器、熟悉编译参数、熟悉使用调试器等。
  • 需要学习数字证书、rsa/sm2相关的算法、数字签名、ASN1标准、usbkey的数据存储等专业知识。
  • 熟悉openssl等密码学套件的接口调用和内存机制。


参赛指引

  • ASN1标准参考:https://obj-sys.com/asn1tutorial/asn1only.html
  • Openssl :https://www.openssl.org/docs/
  • 国标参考:https://std.samr.gov.cn/gb/gbQuery
  • GB/T 20518 信息安全技术 公钥基础设施 数字证书格式
  • GB/T 20520 信息安全技术 公钥基础设施 时间戳规范
  • GB/T 32918(所有部分) 信息安全技术 SM2椭圆曲线公钥密码算法
  • GB/T 35276 信息安全技术 SM2密码算法使用规范
  • GB/T 35291 信息安全技术 智能密码钥匙应用接口规范
  • GB/T 35275-2017 信息安全技术 SM2密码算法加密签名消息语法规范
  • 国密标准参考:http://www.gmbz.org.cn/main/bzlb.html

欢迎各位参赛者一起进行学习分享与交流!


数科网维

北京数科网维技术有限责任公司成立于2006年,2020年被金山办公控股收购,是国内主要的专业版式文档处理产品和技术服务提供商。多年以来,公司致力于版式技术研发和信息化应用,打破国外技术垄断,拥有多项核心技术专利多次承担科技部重大专项、核高基等国家级重点科研课题,并参与制定OFD标准、党政机关电子公文系列标准、电子证照系列标准等国家标准。公司自主研发的数科OFD系列软件产品广泛应用于全国党、政、军及企事业单位,覆盖电子公文、数字档案、电子证照、电子票据等行业和领域,并为WPS、QQ浏览器、360浏览器等互联网应用提供版式技术支持,获得各界用户的广泛认可。