Line data Source code
1 : /*
2 : * gnome-keyring
3 : *
4 : * Copyright (C) 2008 Stefan Walter
5 : *
6 : * This program is free software; you can redistribute it and/or modify
7 : * it under the terms of the GNU Lesser General Public License as
8 : * published by the Free Software Foundation; either version 2.1 of
9 : * the License, or (at your option) any later version.
10 : *
11 : * This program is distributed in the hope that it will be useful, but
12 : * WITHOUT ANY WARRANTY; without even the implied warranty of
13 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 : * Lesser General Public License for more details.
15 : *
16 : * You should have received a copy of the GNU Lesser General Public
17 : * License along with this program; if not, see
18 : * <http://www.gnu.org/licenses/>.
19 : */
20 :
21 : #include "config.h"
22 :
23 : #include "gkm-log.h"
24 :
25 : #include "pkcs11/pkcs11.h"
26 : #include "pkcs11/pkcs11i.h"
27 : #include "pkcs11/pkcs11n.h"
28 : #include "pkcs11/pkcs11x.h"
29 :
30 : const gchar*
31 0 : gkm_log_rv (CK_RV rv)
32 : {
33 0 : const gchar *string = NULL;
34 :
35 0 : switch (rv) {
36 : #define X(x) case x: string = #x; break;
37 0 : X (CKR_OK)
38 0 : X (CKR_NO_EVENT)
39 0 : X (CKR_FUNCTION_NOT_PARALLEL)
40 0 : X (CKR_SESSION_PARALLEL_NOT_SUPPORTED)
41 0 : X (CKR_CANCEL)
42 0 : X (CKR_FUNCTION_CANCELED)
43 0 : X (CKR_HOST_MEMORY)
44 0 : X (CKR_SLOT_ID_INVALID)
45 0 : X (CKR_GENERAL_ERROR)
46 0 : X (CKR_FUNCTION_FAILED)
47 0 : X (CKR_ARGUMENTS_BAD)
48 0 : X (CKR_NEED_TO_CREATE_THREADS)
49 0 : X (CKR_CANT_LOCK)
50 0 : X (CKR_ATTRIBUTE_READ_ONLY)
51 0 : X (CKR_ATTRIBUTE_SENSITIVE)
52 0 : X (CKR_ATTRIBUTE_TYPE_INVALID)
53 0 : X (CKR_ATTRIBUTE_VALUE_INVALID)
54 0 : X (CKR_DATA_INVALID)
55 0 : X (CKR_DATA_LEN_RANGE)
56 0 : X (CKR_DEVICE_ERROR)
57 0 : X (CKR_DEVICE_MEMORY)
58 0 : X (CKR_DEVICE_REMOVED)
59 0 : X (CKR_ENCRYPTED_DATA_INVALID)
60 0 : X (CKR_ENCRYPTED_DATA_LEN_RANGE)
61 0 : X (CKR_FUNCTION_NOT_SUPPORTED)
62 0 : X (CKR_KEY_HANDLE_INVALID)
63 0 : X (CKR_KEY_SIZE_RANGE)
64 0 : X (CKR_KEY_TYPE_INCONSISTENT)
65 0 : X (CKR_KEY_NOT_NEEDED)
66 0 : X (CKR_KEY_CHANGED)
67 0 : X (CKR_KEY_NEEDED)
68 0 : X (CKR_KEY_INDIGESTIBLE)
69 0 : X (CKR_KEY_FUNCTION_NOT_PERMITTED)
70 0 : X (CKR_KEY_NOT_WRAPPABLE)
71 0 : X (CKR_KEY_UNEXTRACTABLE)
72 0 : X (CKR_MECHANISM_INVALID)
73 0 : X (CKR_MECHANISM_PARAM_INVALID)
74 0 : X (CKR_OBJECT_HANDLE_INVALID)
75 0 : X (CKR_OPERATION_ACTIVE)
76 0 : X (CKR_OPERATION_NOT_INITIALIZED)
77 0 : X (CKR_PIN_INCORRECT)
78 0 : X (CKR_PIN_INVALID)
79 0 : X (CKR_PIN_LEN_RANGE)
80 0 : X (CKR_PIN_EXPIRED)
81 0 : X (CKR_PIN_LOCKED)
82 0 : X (CKR_SESSION_CLOSED)
83 0 : X (CKR_SESSION_COUNT)
84 0 : X (CKR_SESSION_HANDLE_INVALID)
85 0 : X (CKR_SESSION_READ_ONLY)
86 0 : X (CKR_SESSION_EXISTS)
87 0 : X (CKR_SESSION_READ_ONLY_EXISTS)
88 0 : X (CKR_SESSION_READ_WRITE_SO_EXISTS)
89 0 : X (CKR_SIGNATURE_INVALID)
90 0 : X (CKR_SIGNATURE_LEN_RANGE)
91 0 : X (CKR_TEMPLATE_INCOMPLETE)
92 0 : X (CKR_TEMPLATE_INCONSISTENT)
93 0 : X (CKR_TOKEN_NOT_PRESENT)
94 0 : X (CKR_TOKEN_NOT_RECOGNIZED)
95 0 : X (CKR_TOKEN_WRITE_PROTECTED)
96 0 : X (CKR_UNWRAPPING_KEY_HANDLE_INVALID)
97 0 : X (CKR_UNWRAPPING_KEY_SIZE_RANGE)
98 0 : X (CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT)
99 0 : X (CKR_USER_ALREADY_LOGGED_IN)
100 0 : X (CKR_USER_NOT_LOGGED_IN)
101 0 : X (CKR_USER_PIN_NOT_INITIALIZED)
102 0 : X (CKR_USER_TYPE_INVALID)
103 0 : X (CKR_USER_ANOTHER_ALREADY_LOGGED_IN)
104 0 : X (CKR_USER_TOO_MANY_TYPES)
105 0 : X (CKR_WRAPPED_KEY_INVALID)
106 0 : X (CKR_WRAPPED_KEY_LEN_RANGE)
107 0 : X (CKR_WRAPPING_KEY_HANDLE_INVALID)
108 0 : X (CKR_WRAPPING_KEY_SIZE_RANGE)
109 0 : X (CKR_WRAPPING_KEY_TYPE_INCONSISTENT)
110 0 : X (CKR_RANDOM_SEED_NOT_SUPPORTED)
111 0 : X (CKR_RANDOM_NO_RNG)
112 0 : X (CKR_DOMAIN_PARAMS_INVALID)
113 0 : X (CKR_BUFFER_TOO_SMALL)
114 0 : X (CKR_SAVED_STATE_INVALID)
115 0 : X (CKR_INFORMATION_SENSITIVE)
116 0 : X (CKR_STATE_UNSAVEABLE)
117 0 : X (CKR_CRYPTOKI_NOT_INITIALIZED)
118 0 : X (CKR_CRYPTOKI_ALREADY_INITIALIZED)
119 0 : X (CKR_MUTEX_BAD)
120 0 : X (CKR_MUTEX_NOT_LOCKED)
121 0 : X (CKR_FUNCTION_REJECTED)
122 : #undef X
123 : }
124 :
125 0 : if (string == NULL) {
126 : gchar buffer[64];
127 0 : g_snprintf (buffer, sizeof (buffer), "CKR_0x%08lX", rv);
128 0 : string = g_intern_string (buffer);
129 : }
130 :
131 0 : return string;
132 : }
133 :
134 : const gchar*
135 508 : gkm_log_attr_type (CK_ATTRIBUTE_TYPE type)
136 : {
137 508 : const gchar *string = NULL;
138 :
139 508 : switch (type) {
140 : #define X(x) case x: string = #x; break;
141 0 : X (CKA_CLASS)
142 0 : X (CKA_TOKEN)
143 0 : X (CKA_PRIVATE)
144 2 : X (CKA_LABEL)
145 2 : X (CKA_APPLICATION)
146 0 : X (CKA_VALUE)
147 0 : X (CKA_OBJECT_ID)
148 2 : X (CKA_CERTIFICATE_TYPE)
149 9 : X (CKA_ISSUER)
150 9 : X (CKA_SERIAL_NUMBER)
151 0 : X (CKA_AC_ISSUER)
152 0 : X (CKA_OWNER)
153 0 : X (CKA_ATTR_TYPES)
154 0 : X (CKA_TRUSTED)
155 0 : X (CKA_CERTIFICATE_CATEGORY)
156 0 : X (CKA_JAVA_MIDP_SECURITY_DOMAIN)
157 0 : X (CKA_URL)
158 0 : X (CKA_HASH_OF_SUBJECT_PUBLIC_KEY)
159 0 : X (CKA_HASH_OF_ISSUER_PUBLIC_KEY)
160 0 : X (CKA_CHECK_VALUE)
161 0 : X (CKA_KEY_TYPE)
162 1 : X (CKA_SUBJECT)
163 421 : X (CKA_ID)
164 0 : X (CKA_SENSITIVE)
165 0 : X (CKA_ENCRYPT)
166 0 : X (CKA_DECRYPT)
167 0 : X (CKA_WRAP)
168 0 : X (CKA_UNWRAP)
169 0 : X (CKA_SIGN)
170 0 : X (CKA_SIGN_RECOVER)
171 0 : X (CKA_VERIFY)
172 0 : X (CKA_VERIFY_RECOVER)
173 0 : X (CKA_DERIVE)
174 0 : X (CKA_START_DATE)
175 0 : X (CKA_END_DATE)
176 0 : X (CKA_MODULUS)
177 0 : X (CKA_MODULUS_BITS)
178 0 : X (CKA_PUBLIC_EXPONENT)
179 0 : X (CKA_PRIVATE_EXPONENT)
180 0 : X (CKA_PRIME_1)
181 0 : X (CKA_PRIME_2)
182 0 : X (CKA_EXPONENT_1)
183 0 : X (CKA_EXPONENT_2)
184 0 : X (CKA_COEFFICIENT)
185 0 : X (CKA_PRIME)
186 0 : X (CKA_SUBPRIME)
187 0 : X (CKA_BASE)
188 0 : X (CKA_PRIME_BITS)
189 : /* X (CKA_SUBPRIME_BITS) */
190 : /* X (CKA_SUB_PRIME_BITS) */
191 0 : X (CKA_VALUE_BITS)
192 0 : X (CKA_VALUE_LEN)
193 0 : X (CKA_EXTRACTABLE)
194 0 : X (CKA_LOCAL)
195 0 : X (CKA_NEVER_EXTRACTABLE)
196 0 : X (CKA_ALWAYS_SENSITIVE)
197 0 : X (CKA_KEY_GEN_MECHANISM)
198 0 : X (CKA_MODIFIABLE)
199 0 : X (CKA_ECDSA_PARAMS)
200 : /* X (CKA_EC_PARAMS) */
201 0 : X (CKA_EC_POINT)
202 0 : X (CKA_SECONDARY_AUTH)
203 0 : X (CKA_AUTH_PIN_FLAGS)
204 0 : X (CKA_ALWAYS_AUTHENTICATE)
205 0 : X (CKA_WRAP_WITH_TRUSTED)
206 0 : X (CKA_WRAP_TEMPLATE)
207 0 : X (CKA_UNWRAP_TEMPLATE)
208 0 : X (CKA_HW_FEATURE_TYPE)
209 0 : X (CKA_RESET_ON_INIT)
210 0 : X (CKA_HAS_RESET)
211 0 : X (CKA_PIXEL_X)
212 0 : X (CKA_PIXEL_Y)
213 0 : X (CKA_RESOLUTION)
214 0 : X (CKA_CHAR_ROWS)
215 0 : X (CKA_CHAR_COLUMNS)
216 0 : X (CKA_COLOR)
217 5 : X (CKA_BITS_PER_PIXEL)
218 0 : X (CKA_CHAR_SETS)
219 0 : X (CKA_ENCODING_METHODS)
220 0 : X (CKA_MIME_TYPES)
221 0 : X (CKA_MECHANISM_TYPE)
222 0 : X (CKA_REQUIRED_CMS_ATTRIBUTES)
223 0 : X (CKA_DEFAULT_CMS_ATTRIBUTES)
224 0 : X (CKA_SUPPORTED_CMS_ATTRIBUTES)
225 0 : X (CKA_ALLOWED_MECHANISMS)
226 3 : X (CKA_X_ASSERTION_TYPE)
227 9 : X (CKA_X_CERTIFICATE_VALUE)
228 0 : X (CKA_X_PURPOSE)
229 1 : X (CKA_X_PEER)
230 0 : X (CKA_NETSCAPE_URL)
231 0 : X (CKA_NETSCAPE_EMAIL)
232 0 : X (CKA_NETSCAPE_SMIME_INFO)
233 0 : X (CKA_NETSCAPE_SMIME_TIMESTAMP)
234 0 : X (CKA_NETSCAPE_PKCS8_SALT)
235 0 : X (CKA_NETSCAPE_PASSWORD_CHECK)
236 0 : X (CKA_NETSCAPE_EXPIRES)
237 0 : X (CKA_NETSCAPE_KRL)
238 0 : X (CKA_NETSCAPE_PQG_COUNTER)
239 0 : X (CKA_NETSCAPE_PQG_SEED)
240 0 : X (CKA_NETSCAPE_PQG_H)
241 0 : X (CKA_NETSCAPE_PQG_SEED_BITS)
242 0 : X (CKA_NETSCAPE_MODULE_SPEC)
243 0 : X (CKA_TRUST_DIGITAL_SIGNATURE)
244 0 : X (CKA_TRUST_NON_REPUDIATION)
245 0 : X (CKA_TRUST_KEY_ENCIPHERMENT)
246 0 : X (CKA_TRUST_DATA_ENCIPHERMENT)
247 0 : X (CKA_TRUST_KEY_AGREEMENT)
248 0 : X (CKA_TRUST_KEY_CERT_SIGN)
249 0 : X (CKA_TRUST_CRL_SIGN)
250 0 : X (CKA_TRUST_SERVER_AUTH)
251 0 : X (CKA_TRUST_CLIENT_AUTH)
252 0 : X (CKA_TRUST_CODE_SIGNING)
253 0 : X (CKA_TRUST_EMAIL_PROTECTION)
254 0 : X (CKA_TRUST_IPSEC_END_SYSTEM)
255 0 : X (CKA_TRUST_IPSEC_TUNNEL)
256 0 : X (CKA_TRUST_IPSEC_USER)
257 0 : X (CKA_TRUST_TIME_STAMPING)
258 0 : X (CKA_TRUST_STEP_UP_APPROVED)
259 5 : X (CKA_CERT_SHA1_HASH)
260 5 : X (CKA_CERT_MD5_HASH)
261 0 : X (CKA_NETSCAPE_DB)
262 0 : X (CKA_NETSCAPE_TRUST)
263 0 : X (CKA_GNOME_UNIQUE)
264 0 : X (CKA_GNOME_TRANSIENT)
265 8 : X (CKA_GNOME_INTERNAL_SHA1)
266 0 : X (CKA_G_LOCKED)
267 0 : X (CKA_G_CREATED)
268 0 : X (CKA_G_MODIFIED)
269 0 : X (CKA_G_FIELDS)
270 18 : X (CKA_G_COLLECTION)
271 0 : X (CKA_G_MATCHED)
272 0 : X (CKA_G_SCHEMA)
273 8 : X (CKA_G_LOGIN_COLLECTION)
274 0 : X (CKA_G_DESTRUCT_IDLE)
275 0 : X (CKA_G_DESTRUCT_AFTER)
276 0 : X (CKA_G_DESTRUCT_USES)
277 0 : X (CKA_G_OBJECT)
278 0 : X (CKA_G_CREDENTIAL)
279 0 : X (CKA_G_CREDENTIAL_TEMPLATE)
280 : #undef X
281 : }
282 :
283 508 : if (string == NULL) {
284 : gchar buffer[64];
285 0 : g_snprintf (buffer, sizeof (buffer), "CKA_0x%08lX", type);
286 0 : string = g_intern_string (buffer);
287 : }
288 :
289 508 : return string;
290 : }
|