WEB开发网
开发学院软件开发Java 用 Kerberos 为 J2ME 应用程序上锁,第 3 部分: 建... 阅读

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

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: getContents()清单 8 中显示的 getContents() 方法取 ASN1Structure 字节数组并返回一个包含 ASN1Structure 内容的字节数组, getContents() 方法假定所提供的字节数组是一个有效的 ASN1 结构,用 Kerberos 为 J2ME

getContents()

清单 8 中显示的 getContents() 方法取 ASN1Structure 字节数组并返回一个包含 ASN1Structure 内容的字节数组。

getContents() 方法假定所提供的字节数组是一个有效的 ASN1 结构,所以它忽略结构中表示标签字节的第一个字节。它将第二个字节(即第一个长度字节)传递给 getNumberOfLengthBytes() 方法,这个方法返回 ASN1Structure 输入字节数组中的长度字节数。

然后它构建一个名为 contentBytes 的新字节数组,并将 ASN1Structure 的内容拷贝到 contentBytes 数组中(去掉标签和长度字节)。

清单 8. getContents() 方法

  public byte[] getContents (byte[] ASN1Structure) 
  { 
   int numberOfLengthBytes = getNumberOfLengthBytes(ASN1Structure [1]); 
   byte[] contentBytes = new byte[ASN1Structure.length - (numberOfLengthBytes + 1)]; 
   for (int x =0; x < contentBytes.length; x++) 
     contentBytes[x]= ASN1Structure [x + numberOfLengthBytes + 1]; 
   return contentBytes; 
  }//getContents 

一些低层加密支持方法

除了前面描述的低层处理方法,还需要一些低层加密支持方法以处理一个票据响应。这就是为什么在解释票据响应的处理之前,我要讨论以下这些为 Kerberos 客户机提供加密支持的方法:

encrypt()

decrypt()

getMD5DigestValue()

decryptAndVerifyDigest()

这些方法是 KerberosClient 类的组成部分,可以在 KerberosClient.java 文件中找到它们,本文的 源代码下载中可以找到这个文件。下面是对这几个方法的说明:

上一页  5 6 7 8 9 10 

Tags:Kerberos JME 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接