GTK+OpenSSL数字签名算法设计及实现(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

GTK+OpenSSL数字签名算法设计及实现(2)


1.2系统功能需求
1.2.1认证中心
功能模块描述如图1所示。
 
图1 认证中心功能模块图
①功能清单
(1)证书请求管理:显示系统接收到的证书请求;查看证书请求的内容;删除不合法的证书请求;对证书请求进行签发。
(2)已签证书管理:显示系统已经签发且没有被吊销的证书;查看已签发证书的内容;吊销不安全的证书。
(3)吊销列表管理:生成吊销列表;查看生成的吊销列表的内容。
1.2客户端
功能:生成私钥和证书请求:根据用户输入的信息生成用户的私钥和相应的证书请求。
1.3系统性能
时间特性要求:系统接收到证书请求后应在1秒内将证书请求显示在系统的证书请求管理模块中。系统完成底层操作应在数秒内完成,以不使界面出现停顿感[3]。
输入输出要求:客户端的信息输入要符合OpenSSL对数据的要求。
1.4运行环境
操作系统:Fedora 10(Linux verison 2.6.27.5)
开发工具:GCC 4.3.2,GDB 6.8,GTK+-2.0
依赖软件:OpenSSL 0.9.8
2.系统详细设计与实现
2.1程序系统的结构
认证中心模块如图2所示。
 
图2 认证中心模块图
客户端模块如图3所示。
 
图3 客户端模块图
系统对OpenSSL调用的方式:系统使用OpenSSL的应用程序实现各个功能。系统创建一个子进程,子进程执行OpenSSL程序;父进程等待子进程的结束,并根据子进程结束返回值判断功能的完成情况。
在系统程序中,对OpenSSL应用程序的调用存在于各个功能键的回调函数中。当功能键被触发,程序执行回调函数调用OpenSSL应用程序。
2.2认证中心设计
2.2.1初始化模块
功能:初始化系统的工作目录和配置文件。
输入项:用户信息
输出项:工作目录和配置文件
系统配置文件:系统配置文件存放于用户主目录下的.dcs目录下。配置文件保存系统的工作主目录的路径。
系统的工作目录结构:
(1)工作主目录:由用户输入信息决定。
(2)子目录有conf,private,cacert,reqs,newcerts,usercerts,crl,.tmp。各个子目录的作用如下:
    conf:存放认证中心的配置文件。
    private:存放认证中心的私钥。
    cacert:存放认证中心的自签名数字证书。
    reqs:存放认证中心接收到的证书请求。
    newcerts:存放认证中心签发生成的数字证书的备份。
    usercerts:存放认证中心签发生成的数字证书。
    crl:存放数字证书的吊销列表。
    .tmp:存放临时数据。、
    初始化流程逻辑,如图4所示。
 
图4 初始化流程图
初始化模块组成控件如表1所示。
表1 初始化模块控件表
    控件    控件名称    功能
第一页    Label    label    显示信息
第二页    Entry    entry    显示选择的目录
    GtkWidget    filechooser    选择目录
第三页    Entry    entry_on    输入组织名
    Entry    entry_oun    输入组织部门
    Entry    entry_cn    输入通用名
    Entry    entry_email    输入电子邮件
第四页    Entry    entry1    输入密码 (责任编辑:qin)