从内部,模块可分为初始化、SSL 连接,认证和数据传输。初始化为 SSL 连接,包括 初始化 SSL 库,加载错误的定义,选择协议,创设情境,加载证书和私钥文件。初始化 后,系统首先会进行 TCP 连接。然后申请一个 SSL 套接字和债券的 SSL Socket TCP 套接 字。当这样做时,系统将执行 SSL 连接。认证证书包括证书验证证书。客户端将匹配的 钙链中的服务和 CA 的信任。如果结果良好,则服务器证书有效。相反,服务器还将验证 客户端证书的验证。在 SSL 连接建立成功,通道将客户端和服务之间建立起来,加载或 写入数据。
根据所介绍的相关背景与相关技术,针对上述问题与现状设计并实现了一个基于 OpenSSL 的证书管理系统,主要包含了界面的设计,服务端对客户端的服务,最终实现了 用户的注册于管理,证书的生成、吊销等功能,从未完成整个程序的完成。
本科毕业设计说明书 第 5 页
2 相关技术与开发工具
2。1 相关技术
2。1。1 OpenSSL
OpenSSL 简介:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常 用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
OpenSSL 的相关特性: (1)数据保密性:信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数
据的保密。加密的过程需要用到密钥来加密数据然后再解密。没有了密钥,就无法解开加密 的数据。数据加密之后,只有密钥要用一个安全的方法传送。加密过的数据可以公开地传送。
(2)数据完整性:加密也能保证数据的一致性。例如:消息验证码(MAC),能够校验用户 提供的加密信息,接收者可以用 MAC 来校验加密数据,保证数据在传输过程中没有被篡改过。
(3)安全验证:加密的另外一个用途是用来作为个人的标识,用户的密钥可以作为他的安 全验证的标识。SSL 是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密 资料时的加密通讯协定。OpenSSL 包含一个命令行工具用来完成 OpenSSL 库中的所有功能, 更好的是,它可能已经安装到你的系统中了。OpenSSL 是一个强大的安全套接字层密码库, Apache 使用它加密 HTTPS,OpenSSH 使用它加密 SSH,但是,你不应该只将其作为一个库来使 用,它还是一个多用途的、跨平台的密码工具。论文网
OpenSSL 整个软件包大概可以分成三个主要的功能部分:SSL 协议库、应用程序以及密码 算法库。OpenSSL 的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码 学的安全开发包,OpenSSL 提供的功能相当强大和全面,囊括了主要的密码算法、常用的密 钥和证书封装管理功能以及 SSL 协议,并提供了丰富的应用程序供测试或其它目的使用。
2。1。2 Java 技术
Java 是一种跨平台应用程序的面向对象的可编写程序设计语言。Java 技术有着通用性、 高效性、平台移植性和安全性的显著特点,其中 java 广泛应用于 PC、数据中心、游戏控制
第 6 页 本科毕业设计说明书
台、科学超级计算机、移动电话和互联网,由此就产生了大量的技术开发人群。Java 是一个 纯粹的面向对象的程序设计语言,在 Java 1。5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
2。1。3 Servlet 技术