File: exceptions.py

package info (click to toggle)
python-pkcs11 0.7.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 804 kB
  • sloc: python: 3,844; ansic: 1,981; sh: 33; makefile: 24
file content (408 lines) | stat: -rw-r--r-- 8,516 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
"""
PKCS#11 return codes are exposed as Python exceptions inheriting from
:class:`PKCS11Error`.
"""


class PKCS11Error(RuntimeError):
    """
    Base exception for all PKCS#11 exceptions.
    """


class AlreadyInitialized(PKCS11Error):
    """
    pkcs11 was already initialized with another library.
    """


class AnotherUserAlreadyLoggedIn(PKCS11Error):
    pass


class AttributeTypeInvalid(PKCS11Error):
    pass


class AttributeValueInvalid(PKCS11Error):
    pass


class AttributeReadOnly(PKCS11Error):
    """
    An attempt was made to set a value for an attribute which may not be set by
    the application, or which may not be modified by the application.
    """


class AttributeSensitive(PKCS11Error):
    """
    An attempt was made to obtain the value of an attribute of an object which
    cannot be satisfied because the object is either sensitive or
    un-extractable.
    """


class ArgumentsBad(PKCS11Error):
    """
    Bad arguments were passed into PKCS#11.

    This can indicate missing parameters to a mechanism or some other issue.
    Consult your PKCS#11 vendor documentation.
    """


class DataInvalid(PKCS11Error):
    """
    The plaintext input data to a cryptographic operation is invalid.
    """


class DataLenRange(PKCS11Error):
    """
    The plaintext input data to a cryptographic operation has a bad length.
    Depending on the operation’s mechanism, this could mean that the plaintext
    data is too short, too long, or is not a multiple of some particular block
    size.
    """


class DomainParamsInvalid(PKCS11Error):
    """
    Invalid or unsupported domain parameters were supplied to the function.
    Which representation methods of domain parameters are supported by a given
    mechanism can vary from token to token.
    """


class DeviceError(PKCS11Error):
    pass


class DeviceMemory(PKCS11Error):
    """
    The token does not have sufficient memory to perform the requested
    function.
    """


class DeviceRemoved(PKCS11Error):
    """
    The token was removed from its slot during the execution of the function.
    """


class EncryptedDataInvalid(PKCS11Error):
    """
    The encrypted input to a decryption operation has been determined to be
    invalid ciphertext.
    """


class EncryptedDataLenRange(PKCS11Error):
    """
    The ciphertext input to a decryption operation has been determined to be
    invalid ciphertext solely on the basis of its length.  Depending on the
    operation’s mechanism, this could mean that the ciphertext is too short,
    too long, or is not a multiple of some particular block size.
    """


class ExceededMaxIterations(PKCS11Error):
    """
    An iterative algorithm (for key pair generation, domain parameter
    generation etc.) failed because we have exceeded the maximum number of
    iterations.
    """


class FunctionCancelled(PKCS11Error):
    pass


class FunctionFailed(PKCS11Error):
    pass


class FunctionRejected(PKCS11Error):
    pass


class FunctionNotSupported(PKCS11Error):
    pass


class KeyHandleInvalid(PKCS11Error):
    pass


class KeyIndigestible(PKCS11Error):
    pass


class KeyNeeded(PKCS11Error):
    pass


class KeyNotNeeded(PKCS11Error):
    pass


class KeyNotWrappable(PKCS11Error):
    pass


class KeySizeRange(PKCS11Error):
    pass


class KeyTypeInconsistent(PKCS11Error):
    pass


class KeyUnextractable(PKCS11Error):
    pass


class GeneralError(PKCS11Error):
    """
     In unusual (and extremely unpleasant!) circumstances, a function can fail
     with the return value CKR_GENERAL_ERROR.  When this happens, the token
     and/or host computer may be in an inconsistent state, and the goals of the
     function may have been partially achieved.
     """


class HostMemory(PKCS11Error):
    """
    The computer that the Cryptoki library is running on has insufficient
    memory to perform the requested function.
    """


class MechanismInvalid(PKCS11Error):
    """
    Mechanism can not be used with requested operation.
    """


class MechanismParamInvalid(PKCS11Error):
    pass


class MultipleObjectsReturned(PKCS11Error):
    """
    Multiple objects matched the search parameters.
    """


class MultipleTokensReturned(PKCS11Error):
    """
    Multiple tokens matched the search parameters.
    """


class NoSuchKey(PKCS11Error):
    """
    No key matching the parameters was found.
    """


class NoSuchToken(PKCS11Error):
    """
    No token matching the parameters was found.
    """


class ObjectHandleInvalid(PKCS11Error):
    pass


class OperationActive(PKCS11Error):
    """
    There is already an active operation (or combination of active operations)
    which prevents Cryptoki from activating the specified operation.  For
    example, an active object-searching operation would prevent Cryptoki from
    activating an encryption operation with C_EncryptInit.  Or, an active
    digesting operation and an active encryption operation would prevent
    Cryptoki from activating a signature operation.  Or, on a token which
    doesn’t support simultaneous dual cryptographic operations in a session
    (see the description of the CKF_DUAL_CRYPTO_OPERATIONS flag in the
    CK_TOKEN_INFO structure), an active signature operation would prevent
    Cryptoki from activating an encryption operation.
    """


class OperationNotInitialized(PKCS11Error):
    pass


class PinExpired(PKCS11Error):
    pass


class PinIncorrect(PKCS11Error):
    pass


class PinInvalid(PKCS11Error):
    pass


class PinLenRange(PKCS11Error):
    """The specified PIN is too long or too short."""


class PinLocked(PKCS11Error):
    pass


class PinTooWeak(PKCS11Error):
    pass


class PublicKeyInvalid(PKCS11Error):
    pass


class RandomNoRNG(PKCS11Error):
    pass


class RandomSeedNotSupported(PKCS11Error):
    pass


class SessionClosed(PKCS11Error):
    """
    The session was closed during the execution of the function.
    """


class SessionCount(PKCS11Error):
    """
    An attempt to open a session which does not succeed because there are too
    many existing sessions.
    """


class SessionExists(PKCS11Error):
    pass


class SessionHandleInvalid(PKCS11Error):
    """
    The session handle was invalid. This is usually caused by using an
    old session object that is not known to PKCS#11.
    """


class SessionReadOnly(PKCS11Error):
    """Attempted to write to a read-only session."""


class SessionReadOnlyExists(PKCS11Error):
    pass


class SessionReadWriteSOExists(PKCS11Error):
    """
    If the application calling :meth:`Token.open` already has a R/W SO
    session open with the token, then any attempt to open a R/O session with
    the token fails with this exception.
    """


class SignatureLenRange(PKCS11Error):
    pass


class SignatureInvalid(PKCS11Error):
    pass


class SlotIDInvalid(PKCS11Error):
    pass


class TemplateIncomplete(PKCS11Error):
    """
    Required attributes to create the object were missing.
    """


class TemplateInconsistent(PKCS11Error):
    """
    Template values (including vendor defaults) are contradictory.
    """


class TokenNotPresent(PKCS11Error):
    """
    The token was not present in its slot at the time that the function was
    invoked.
    """


class TokenNotRecognised(PKCS11Error):
    pass


class TokenWriteProtected(PKCS11Error):
    pass


class UnwrappingKeyHandleInvalid(PKCS11Error):
    pass


class UnwrappingKeySizeRange(PKCS11Error):
    pass


class UnwrappingKeyTypeInconsistent(PKCS11Error):
    pass


class UserAlreadyLoggedIn(PKCS11Error):
    pass


class UserNotLoggedIn(PKCS11Error):
    pass


class UserPinNotInitialized(PKCS11Error):
    pass


class UserTooManyTypes(PKCS11Error):
    """
    An attempt was made to have more distinct users simultaneously logged into
    the token than the token and/or library permits.  For example, if some
    application has an open SO session, and another application attempts to log
    the normal user into a session, the attempt may return this error.  It is
    not required to, however.  Only if the simultaneous distinct users cannot
    be supported does C_Login have to return this value.  Note that this error
    code generalizes to true multi-user tokens.
    """


class WrappedKeyInvalid(PKCS11Error):
    pass


class WrappedKeyLenRange(PKCS11Error):
    pass


class WrappingKeyHandleInvalid(PKCS11Error):
    pass


class WrappingKeySizeRange(PKCS11Error):
    pass


class WrappingKeyTypeInconsistent(PKCS11Error):
    pass