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

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

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: publicbyte[]authorDigestAndEncrypt(byte[]key,byte[]data){/**Step1:**/byte[]conFounder=concatenateBytes(getRandomNumber(),getRandomNumber());/**Step2

  public byte[] authorDigestAndEncrypt(byte[] key, byte[] data) 
  { 
   /****** Step 1: ******/ 
   byte[] conFounder = concatenateBytes (getRandomNumber(), getRandomNumber());  
   /****** Step 2: ******/ 
   byte[] zeroedChecksum = new byte[16]; 
   /****** Step 3: ******/ 
   byte[] paddedDataBytes = concatenateBytes (conFounder, 
                concatenateBytes(zeroedChecksum, 
                 getPaddedData(data) 
                ) 
               ); 
   /****** Step 4: ******/ 
   byte[] checksumBytes = getMD5DigestValue(paddedDataBytes); 
   /****** Step 5: ******/ 
   for (int i=8; i < 24; i++) 
    paddedDataBytes[i] = checksumBytes[i-8]; 
   /****** Step 6: ******/ 
   byte[] encryptedData = encrypt(key, paddedDataBytes, null); 
   /****** Step 7: ******/ 
   byte[] etype = getTagAndLengthBytes( 
           ASN1DataTypes.CONTEXT_SPECIFIC, 
           0, getIntegerBytes(3) 
          ); 
   /****** Step 8: ******/ 
   byte[] cipher = getTagAndLengthBytes( 
           ASN1DataTypes.CONTEXT_SPECIFIC, 
           2, getOctetStringBytes(encryptedData) 
          ); 
   /****** Step 9: ******/ 
   byte[] ASN1_encryptedData = getSequenceBytes ( 
                 concatenateBytes(etype,cipher) 
                ); 
   return ASN1_encryptedData; 
  }//authorDigestAndEncrypt 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Kerberos JME 应用程序

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