1 package iaik.pkcs.pkcs11.wrapper; 2 3 /** 4 * class CK_PKCS5_PBKD2_PARAMS provides the parameters to the CKM_PKCS5_PBKD2 5 * mechanism.<p> 6 * <B>PKCS#11 structure:</B> 7 * <PRE> 8 * typedef struct CK_PKCS5_PBKD2_PARAMS { 9 * CK_PKCS5_PBKD2_SALT_SOURCE_TYPE saltSource; 10 * CK_VOID_PTR pSaltSourceData; 11 * CK_ULONG ulSaltSourceDataLen; 12 * CK_ULONG iterations; 13 * CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; 14 * CK_VOID_PTR pPrfData; 15 * CK_ULONG ulPrfDataLen; 16 * } CK_PKCS5_PBKD2_PARAMS; 17 * </PRE> 18 * 19 * @author Karl Scheibelhofer <Karl.Scheibelhofer@iaik.at> 20 * @author Martin Schläffer <schlaeff@sbox.tugraz.at> 21 */ 22 public class CK_PKCS5_PBKD2_PARAMS { 23 24 /** 25 * <B>PKCS#11:</B> 26 * <PRE> 27 * CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; 28 * </PRE> 29 */ 30 public long saltSource; 31 32 /** 33 * <B>PKCS#11:</B> 34 * <PRE> 35 * CK_VOID_PTR pSaltSourceData; 36 * CK_ULONG ulSaltSourceDataLen; 37 * </PRE> 38 */ 39 public byte[] pSaltSourceData; 40 41 /** 42 * <B>PKCS#11:</B> 43 * <PRE> 44 * CK_ULONG iterations; 45 * </PRE> 46 */ 47 public long iterations; 48 49 /** 50 * <B>PKCS#11:</B> 51 * <PRE> 52 * CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; 53 * </PRE> 54 */ 55 public long prf; 56 57 /** 58 * <B>PKCS#11:</B> 59 * <PRE> 60 * CK_VOID_PTR pPrfData; 61 * CK_ULONG ulPrfDataLen; 62 * </PRE> 63 */ 64 public byte[] pPrfData; 65 66 /** 67 * Returns the string representation of CK_PKCS5_PBKD2_PARAMS. 68 * 69 * @return the string representation of CK_PKCS5_PBKD2_PARAMS 70 */ toString()71 public String toString() { 72 StringBuffer buffer = new StringBuffer(); 73 74 buffer.append(Constants.INDENT); 75 buffer.append("saltSource: "); 76 buffer.append(saltSource); 77 buffer.append(Constants.NEWLINE); 78 79 buffer.append(Constants.INDENT); 80 buffer.append("pSaltSourceData: "); 81 buffer.append(Functions.toHexString(pSaltSourceData)); 82 buffer.append(Constants.NEWLINE); 83 84 buffer.append(Constants.INDENT); 85 buffer.append("ulSaltSourceDataLen: "); 86 buffer.append(pSaltSourceData.length); 87 buffer.append(Constants.NEWLINE); 88 89 buffer.append(Constants.INDENT); 90 buffer.append("iterations: "); 91 buffer.append(iterations); 92 buffer.append(Constants.NEWLINE); 93 94 buffer.append(Constants.INDENT); 95 buffer.append("prf: "); 96 buffer.append(prf); 97 buffer.append(Constants.NEWLINE); 98 99 buffer.append(Constants.INDENT); 100 buffer.append("pPrfData: "); 101 buffer.append(Functions.toHexString(pPrfData)); 102 buffer.append(Constants.NEWLINE); 103 104 buffer.append(Constants.INDENT); 105 buffer.append("ulPrfDataLen: "); 106 buffer.append(pPrfData.length); 107 //buffer.append(Constants.NEWLINE); 108 109 return buffer.toString(); 110 } 111 112 } 113