快速业务通道

用Kerberos为J2ME应用程序上锁,第2部分 - 生成一个Kerberos票据请求 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
  };    //Parity values for all possible combinations    //256 entries    private byte parityValues[] = {      1, 1, 2, 2, 4, 4, 7, 7, 8, 8,      11, 11, 13, 13, 14, 14, 16, 16, 19, 19,      21, 21, 22, 22, 25, 25, 26, 26, 28, 28,      31, 31, 32, 32, 35, 35, 37, 37, 38, 38,      41, 41, 42, 42, 44, 44, 47, 47, 49, 49,      50, 50, 52, 52, 55, 55, 56, 56, 59, 59,      61, 61, 62, 62, 64, 64, 67, 67, 69, 69,      70, 70, 73, 73, 74, 74, 76, 76, 79, 79,      81, 81, 82, 82, 84, 84, 87, 87, 88, 88,      91, 91, 93, 93, 94, 94, 97, 97, 98, 98,      100, 100, 103, 103, 104, 104, 107, 107, 109, 109,      110, 110, 112, 112, 115, 115, 117, 117, 118, 118,      121, 121, 122, 122, 124, 124, 127, 127, -128, -128,      -125, -125, -123, -123, -122, -122, -119, -119, -118, -118,      -116, -116, -113, -113, -111, -111, -110, -110, -108, -108,      -105, -105, -104, -104, -101, -101, -99, -99, -98, -98,      -95, -95, -94, -94, -92, -92, -89, -89, -88, -88,      -85, -85, -83, -83, -82, -82, -80, -80, -77, -77,      -75, -75, -74, -74, -71, -71, -70, -70, -68, -68,      -65, -65, -63, -63, -62, -62, -60, -60, -57, -57,      -56, -56, -53, -53, -51, -51, -50, -50, -48, -48,      -45, -45, -43, -43, -42, -42, -39, -39, -38, -38,      -36, -36, -33, -33, -32, -32, -29, -29, -27, -27,      -26, -26, -23, -23, -22, -22, -20, -20, -17, -17,      -15, -15, -14, -14, -12, -12, -9, -9, -8, -8,      -5, -5, -3, -3, -2, -2    }; }//KerberosKey class

用Kerberos为J2ME应用程序上锁,第2部分 - 生成一个Kerberos票据请求(11)

时间:2011-08-05 IBM Faheem Khan

我已经用注释标记了清单 11 中 generateKey() 方法中那些代码行,以帮助您将算法的各个步骤与 J2ME 代码中的相应行对应起来。编码细节中真正需要解释的一点是第 9 步,在这里我实际执行了 DES- CBC 加密。

看一下清单 11 中 generateKey() 方法中的那些行代码,它们用注释标记为第 9 步。它是一个对名 为 getFinalKey() 的方法的调用,这个方法实现了第九步并取两个参数。第一个参数( data )是第 3 步的附加操作得到的字节数组,而第二个参数( key )是作为第 8 步的结果得到的临时密钥。

DESEngine 和 CBCBlockCipher 类进行实际的加密操作。这些类是 Bouncy Castle 组的 J2ME 平台开 放源代码加密实现的一部分。Bouncy Castle 的实现可以免费得到,并可用于任何目的,只要您在发布时 加入许可证信息。您将需要下载 Bouncy Castle 类并遵照它所附带的设置指示才能使用本文的示例代码 。清单 11 中的 KerberosKey 类包含在 Kerberos 类中使用 Bouncy Castle 类时需要的所有 import 语 句。

现在看一下在清单 11 中的 getFinalKey() 方法中发生了什么事情。我首先实例化了 DESEngine 类 ,这个类实现了 DES 加密算法。然后,我将这个 DESEngine 对象传递给构造函数 CBCBlockCipher 以创 建一个名为 cipher 的 CBCBlockCipher 对象。这个 cipher 对象将执行实际

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号