欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机应用 > 带SSL的Web服务器实现与应用研究

带SSL的Web服务器实现与应用研究

日期:2023-01-24 阅读量:0 所属栏目:计算机应用


摘 要:探索带SSL的Web服务器的实现方案,力图提高客户与服务器通信的安全性,使之在应用中能更加方便快捷。

关键词:SSL;创建密钥库;设计SSL服务程序
引言
  SSL能确保客户机连接到可信的服务器,并确保连接之后客户机与服务器之间的通信是安全的。SSL服务器上需要有专门的SSL服务程序和包含安全证书的密钥库。客户机通过浏览器向服务器发送SSL连接请求后,接收服务器返回的安全证书,用户可以根据安全证书的有效性决定是否连接,当用户选择连接之后,客户机和服务器之间的通信将受到加密保护。
1.程序说明
  SSL(Security Socket Link Layer Protocol)即安全套接层协议,用于在服务器上建立指定端口的HTTPS协议服务,SSL能确保客户机连接到可信的服务器,并确保连接之后客户机与服务器之间的通信是安全的。
  客户机通过浏览器向服务器发送SSL连接请求后,接收服务器返回的安全证书,用户可以根据安全证书的有效性决定是否连接,当用户选择连接之后,客户机和服务器之间的通信将受到加密保护。
  访问带SSL的Web服务器不需要专门的客户端程序,通过浏览器使用HTTPS协议即可访问;而服务器端则需要专门的服务程序以及包含安全证书的密钥库。  
2实现方案
  2.1. 创建密钥库文件
  服务器上的SSL服务程序需要使用密钥库文件(sslKeyStore),密钥库文件中包含返回给客户端的安全证书和用于加密的算法等。创建密钥库文件时需要声明在密钥库中生成证书,并指定加密算法、证书名、密钥库名、密钥库的密码、证书的密码,以及其他一些用户信息。Java只支持不对称密钥加密算法,所以只能在DSA和RSA中选择一个;证书名必须与服务器名一致(本例服务器名为bmwang);证书的密码可以与密钥库的密码相同。本例密钥库的设计如表1所示。
  表1 密钥库设计
加密算法RSA证书名bmwang密钥库名sslKeyStore密钥库的密码1234567证书的密码1234567  
  创建密钥库文件是在DOS控制台上进行的,为方便起见,制作一个批处理文件,批处理命令如下:
  c:JBuilder9jdk1.4binkeytool -genkey -v -keyalg RSA -alias bmwang -keystore sslKeyStore
  其中:
  keytool —— 调用Java JDK提供的密钥库管理工具,本例采用JBuilder自带的JDK,默认安装时路径为c:JBuilder9jdk1.4,keytool工具在bin子目录下,若安装时指定了其他的路径或采用独立发行的JDK,则修改为相应的路径。
  -genkey —— keytool工具的运行参数,要求生成密钥库。
  -v —— keytool工具的运行参数,要求生成证书。
  -keyalg RSA —— keytool工具的运行参数,指定加密算法。
  -alias bmwang —— keytool工具的运行参数,指定证书名。
  -keystore sslKeyStore —— keytool工具的运行参数,指定密钥库名。
  新建文件夹“Java”,打开记事本,输入上面的批处理命令,保存时,选择文件位置为“Java”文件夹,文件类型为“所有文件(*.*)”,文件名为“”,文件主名可以随意,但扩展名必须是.bat。查看“Java”文件夹,其中应有“”批处理文件。
  双击运行“”,输入密钥库密码(1234567)以及其他一些用户信息,当系统提示“输入的主密码”即证书密码时,由于设计为与密钥库密码相同,直接按回车即可,如图1所示。
  
  图1 生成密钥库
  
  完成后,查看“Java”文件夹,看到系统生成了密钥库文件(sslKeyStore)。至此,创建密钥库文件已完成。  
  2.2 网页准备
  设计一个简单的问候网页(),当用户信任服务器的安全证书并连接和访问服务器时,服务器向客户机发送该网页。网页代码如下:
  
     
     
      <br />       HTTPS Server Example<br />      
     
     
     

Hello, welcome here!


     
     
  打开JCreator(也可使用其他的HTML代码编辑器或可视化设计器),单击工具栏的【New】按钮,在出现的对话框上,选择Files选项卡,在该选项卡上选择HTML File选项,输入网页文件名exHTTPS,并选择工作位置为“Java”文件夹,单击【确定】后进入编辑器。
  输入上述代码,检查无误后单击工具栏的【Save】按钮保存,在Java文件夹中将出现文件,网页制作完成。  
  2.3  设计SSL服务程序
  由于服务程序只在后台运行,不需要提供方便用户操作的图形界面,所以设计成使用DOS控制台的Application程序,并且为简化起见,程序中直接使用网页文件的文件名()。程序整体框架如下:
  
      import .*;
      import .*;
      import .*;
      import ty.*;
      public class HTTPSServerExample
      {
        public static void main(String args[]) throws IOException
        {
        //创建SSL服务
        while(true)
        {
          try
          {
          //提供SSL服务
          }
          catch(Exception e)
          {
          n(""程序出现运行错误。"");//显示出错信息
          }
        }
        }
      }
  
  程序由引入声明和主类构成。在Java的SSL服务编程中,要用到包、包和ty包中的系统预定义类,在引入声明部分显式引入。创建SSL服务的代码、提供SSL服务可能出现运行时错误(异常,如端口不可用、找不到文件等),需要使用进行异常处理,对创建SSL服务的代码采用在代码所在的方法(main)头上声明抛出异常的方法处理,对提供SSL服务的代码采用try—catch语句处理。由于需要满足大量客户机的多次访问,提供SSL服务的代码要放在一个永久循环中,用条件为true的while语句实现
  程序整体框架中的创建SSL服务代码的编程要点如下:
* 创建SSL套接服务生成器
* 建立SSL套接服务(HTTPS连接服务)
程序整体框架中的提供SSL服务代码的编程要点如下:
* 捕捉客户机的连接请求、建立连接通道、发送证书
* 创建输入流、接收确认信息
* 创建输出流、发送网页文件
* 关闭输出流、关闭输入流、关闭连接
  打开JCreator(也可使用其他的Java代码编辑器或集成开发工具),单击工具栏的【New】按钮,在出现的对话框上,选择Files选项卡,在该选项卡上选择Java File选项,输入程序名HTTPSServerExample,并选择工作位置为“Java”文件夹,单 击【确定】后进入编辑器。
  输入前面的程序整体框架,其中的创建SSL服务代码和提供SSL服务代码按照上述的编程要点设计,全部代码输入完成并检查无误后单击工具栏的【Save】按钮保存。选择【Builde】【Compile File】菜单命令进行编译,如有错误,可按照编译提示信息进行修改,然后保存并重新编译,直到提示“Process completed”,编译成功。
  在DOS控制台进入“Java”目录后使用如下命令运行(输入时不主动换行):
  c:JBuilder9jdk1.4binjava -re=sslKeyStore
   -rePassword=1234567 HTTPSServerExample
  命令行参数中:
  -re=sslKeyStore —— 指定密钥库名。
  -rePassword —— 指定密码。
  为方便运行,可将该DOS命令做到一个批处理文件中(设为),保存在“Java”文件夹。
  SSL服务程序运行后,在IE浏览器的地址栏输入HTTPS协议名和服务器的地址访问服务器了。
3.结语
    将采用上述方案的程序嵌入网络上,客户与服务器的连接过程的安全性大大加强,而且客户端操作简单方便,当用户选择连接之后,客户机和服务器之间的通信将受到加密保护,安全性起到了很好的保驾效果。
    除了应用于一般的实时通信外,本案更适用于现在流行商务交易信息。目前网络交易普遍存在信息安全隐患,尤其是在网络上有多种方法窃取和盗取信息内容,使用户感到信息不安全问题,本系统能很好的解决客户与服务器连接过程的安全保障,从而给信息安全带来了护驾功能。   
参考文献:
.计算机研究与发展2004 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/242830.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学