Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_PKCS5_PBKD2_PARAMS.java
41921 views
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_PKCS5_PBKD2_PARAMS provides the parameters to the CKM_PKCS5_PBKD2
54
* mechanism.<p>
55
* <B>PKCS#11 structure:</B>
56
* <PRE>
57
* typedef struct CK_PKCS5_PBKD2_PARAMS {
58
* CK_PKCS5_PBKD2_SALT_SOURCE_TYPE saltSource;
59
* CK_VOID_PTR pSaltSourceData;
60
* CK_ULONG ulSaltSourceDataLen;
61
* CK_ULONG iterations;
62
* CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf;
63
* CK_VOID_PTR pPrfData;
64
* CK_ULONG ulPrfDataLen;
65
* } CK_PKCS5_PBKD2_PARAMS;
66
* </PRE>
67
*
68
* @author Karl Scheibelhofer <[email protected]>
69
* @author Martin Schlaeffer <[email protected]>
70
*/
71
public class CK_PKCS5_PBKD2_PARAMS {
72
73
/**
74
* <B>PKCS#11:</B>
75
* <PRE>
76
* CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource;
77
* </PRE>
78
*/
79
public long saltSource;
80
81
/**
82
* <B>PKCS#11:</B>
83
* <PRE>
84
* CK_VOID_PTR pSaltSourceData;
85
* CK_ULONG ulSaltSourceDataLen;
86
* </PRE>
87
*/
88
public byte[] pSaltSourceData;
89
90
/**
91
* <B>PKCS#11:</B>
92
* <PRE>
93
* CK_ULONG iterations;
94
* </PRE>
95
*/
96
public long iterations;
97
98
/**
99
* <B>PKCS#11:</B>
100
* <PRE>
101
* CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf;
102
* </PRE>
103
*/
104
public long prf;
105
106
/**
107
* <B>PKCS#11:</B>
108
* <PRE>
109
* CK_VOID_PTR pPrfData;
110
* CK_ULONG ulPrfDataLen;
111
* </PRE>
112
*/
113
public byte[] pPrfData;
114
115
/**
116
* Returns the string representation of CK_PKCS5_PBKD2_PARAMS.
117
*
118
* @return the string representation of CK_PKCS5_PBKD2_PARAMS
119
*/
120
public String toString() {
121
StringBuilder sb = new StringBuilder();
122
123
sb.append(Constants.INDENT);
124
sb.append("saltSource: ");
125
sb.append(saltSource);
126
sb.append(Constants.NEWLINE);
127
128
sb.append(Constants.INDENT);
129
sb.append("pSaltSourceData: ");
130
sb.append(Functions.toHexString(pSaltSourceData));
131
sb.append(Constants.NEWLINE);
132
133
sb.append(Constants.INDENT);
134
sb.append("ulSaltSourceDataLen: ");
135
sb.append(pSaltSourceData.length);
136
sb.append(Constants.NEWLINE);
137
138
sb.append(Constants.INDENT);
139
sb.append("iterations: ");
140
sb.append(iterations);
141
sb.append(Constants.NEWLINE);
142
143
sb.append(Constants.INDENT);
144
sb.append("prf: ");
145
sb.append(prf);
146
sb.append(Constants.NEWLINE);
147
148
sb.append(Constants.INDENT);
149
sb.append("pPrfData: ");
150
sb.append(Functions.toHexString(pPrfData));
151
sb.append(Constants.NEWLINE);
152
153
sb.append(Constants.INDENT);
154
sb.append("ulPrfDataLen: ");
155
sb.append(pPrfData.length);
156
//buffer.append(Constants.NEWLINE);
157
158
return sb.toString();
159
}
160
161
}
162
163