快速业务通道

用Kerberos为J2ME应用程序上锁,第3部分 - 建立与电子银行的安全通信(上) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
ateBytes(                          sname,                          concatenateBytes(                           till,                           concatenateBytes                             (nonce, etype)                         )                        )                      )                     )                   )                  )                );      ticketRequest = getTagAndLengthBytes(                ASN1DataTypes.APPLICATION_TYPE,                  10,                  getSequenceBytes(                   concatenateBytes(                     pvno,                     concatenateBytes                       (msg_type, req_body)                   )                  )                );      /****** NEW CODE BEGINS ******/      try {         Datagram dg = dc.newDatagram(ticketRequest, ticketRequest.length);         dc.send(dg);       } catch (IllegalArgumentException il) {         il.printStackTrace();       }       catch (Exception io) {         io.printStackTrace();       }       byte ticketResponse[] = null;       try        {    Datagram dg = dc.newDatagram(700);        dc.receive(dg);       if (dg.getLength() > 0) {       ticketResponse = new byte[dg.getLength()];         System.arraycopy(dg.getData(), 0, ticketResponse, 0, dg.getLength ());       } else          return null;      } catch (IOException ie){       ie.printStackTrace();      }      /****** NEW CODE ENDS ******/      return ticketResponse;    }//getTicketResponse

用Kerberos为J2ME应用程序上锁,第3部分 - 建立与电子银行的安全通信(上)(2)

时间:2011-08-05 IBM Faheem Khan

处理 TGT 响应

既然已经收到了来自 KDC 的 TGT 响应,现在该对响应进行处理以便从响应中提取 票据 和 会话密钥 。

自然,响应处理包括一些低层 ASN.1 处理(就像在本系列第二篇文章中生成票据请求时遇到的低层 ASN.1 生成方法一样)。所以在展示如何使用低层处理方法从票据响应中提取 票据 和 会话密钥 之前, 我将实现并解释一些低层 ASN.1 处理方法以及一些低层加密支持方法。

像以前一样,低层 ASN1 处理方法放在 ASN1DataTypes 类中。下面的方法在本文的 源代码下载 中的 ASN1DataTypes.java 文件中:

isSequence()

getIntegerValue()

isASN1Structure()

getNumberOfLengthBytes()

getLength()

getASN1Structure()

getContents()

下面是上面列出的每一个低层 ASN.1 处理方法的说明。

isSequence()

清单 2 中显示的 isSequence() 方法取单个 字节 作为参数,并检查这个 字节 是否是一个 ASN.1 SEQUENCE 字节。如果 字节 值表示一个 SEQUENCE ,那么它就返回 true,否

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号