1 /* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5 /* Copyright (c) 2002 Graz University of Technology. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are met: 9 * 10 * 1. Redistributions of source code must retain the above copyright notice, 11 * this list of conditions and the following disclaimer. 12 * 13 * 2. Redistributions in binary form must reproduce the above copyright notice, 14 * this list of conditions and the following disclaimer in the documentation 15 * and/or other materials provided with the distribution. 16 * 17 * 3. The end-user documentation included with the redistribution, if any, must 18 * include the following acknowledgment: 19 * 20 * "This product includes software developed by IAIK of Graz University of 21 * Technology." 22 * 23 * Alternately, this acknowledgment may appear in the software itself, if 24 * and wherever such third-party acknowledgments normally appear. 25 * 26 * 4. The names "Graz University of Technology" and "IAIK of Graz University of 27 * Technology" must not be used to endorse or promote products derived from 28 * this software without prior written permission. 29 * 30 * 5. Products derived from this software may not be called 31 * "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior 32 * written permission of Graz University of Technology. 33 * 34 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 35 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 36 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 37 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE 38 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 39 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 40 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 41 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 42 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 43 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 44 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 45 * POSSIBILITY OF SUCH DAMAGE. 46 */ 47 48 package sun.security.pkcs11.wrapper; 49 50 51 52 /** 53 * class CK_RSA_PKCS_OAEP_PARAMS provides the parameters to the 54 * CKM_RSA_PKCS_OAEP mechanism.<p> 55 * <B>PKCS#11 structure:</B> 56 * <PRE> 57 * typedef struct CK_RSA_PKCS_OAEP_PARAMS { 58 * CK_MECHANISM_TYPE hashAlg; 59 * CK_RSA_PKCS_OAEP_MGF_TYPE mgf; 60 * CK_RSA_PKCS_OAEP_SOURCE_TYPE source; 61 * CK_VOID_PTR pSourceData; 62 * CK_ULONG ulSourceDataLen; 63 * } CK_RSA_PKCS_OAEP_PARAMS; 64 * </PRE> 65 * 66 * @author Karl Scheibelhofer <Karl.Scheibelhofer@iaik.at> 67 * @author Martin Schlaeffer <schlaeff@sbox.tugraz.at> 68 */ 69 public class CK_RSA_PKCS_OAEP_PARAMS { 70 71 /** 72 * <B>PKCS#11:</B> 73 * <PRE> 74 * CK_MECHANISM_TYPE hashAlg; 75 * </PRE> 76 */ 77 public long hashAlg; 78 79 /** 80 * <B>PKCS#11:</B> 81 * <PRE> 82 * CK_RSA_PKCS_OAEP_MGF_TYPE mgf; 83 * </PRE> 84 */ 85 public long mgf; 86 87 /** 88 * <B>PKCS#11:</B> 89 * <PRE> 90 * CK_RSA_PKCS_OAEP_SOURCE_TYPE source; 91 * </PRE> 92 */ 93 public long source; 94 95 /** 96 * <B>PKCS#11:</B> 97 * <PRE> 98 * CK_VOID_PTR pSourceData; 99 * CK_ULONG ulSourceDataLen; 100 * </PRE> 101 */ 102 public byte[] pSourceData; 103 104 //CK_ULONG ulSourceDataLen; 105 // ulSourceDataLen == pSourceData.length 106 107 /** 108 * Returns the string representation of CK_RSA_PKCS_OAEP_PARAMS. 109 * 110 * @return the string representation of CK_RSA_PKCS_OAEP_PARAMS 111 */ 112 public String toString() { 113 StringBuilder sb = new StringBuilder(); 114 115 sb.append(Constants.INDENT); 116 sb.append("hashAlg: "); 117 sb.append(hashAlg); 118 sb.append(Constants.NEWLINE); 119 120 sb.append(Constants.INDENT); 121 sb.append("mgf: "); 122 sb.append(mgf); 123 sb.append(Constants.NEWLINE); 124 125 sb.append(Constants.INDENT); 126 sb.append("source: "); 127 sb.append(source); 128 sb.append(Constants.NEWLINE); 129 130 sb.append(Constants.INDENT); 131 sb.append("pSourceData: "); 132 sb.append(pSourceData.toString()); 133 sb.append(Constants.NEWLINE); 134 135 sb.append(Constants.INDENT); 136 sb.append("pSourceDataLen: "); 137 sb.append(Functions.toHexString(pSourceData)); 138 //buffer.append(Constants.NEWLINE); 139 140 return sb.toString() ; 141 } 142 143 }