-
-
Notifications
You must be signed in to change notification settings - Fork 35
/
Changes.txt
246 lines (209 loc) · 8.91 KB
/
Changes.txt
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
History
=======
1.5.17 - October 2024, Ludovic Rousseau
- Add AES in counter mode support (CKM_AES_CTR)
- Add simple derivation mechanisms support (CMK_CONCATENATE_*)
- Fix reference counting in PyKCS11Lib.load()
- remove python 2 support from ckbytelist
- minor improvements
1.5.16 - May 2024, Ludovic Rousseau
- add support of CKA_MODIFIABLE and CKA_DESTROYABLE attributes
- minor improvements
1.5.15 - April 2024, Ludovic Rousseau
- fix problems when PYKCS11LIB has incorrect values
- fix a problem with swig and "pip install ..."
- minor improvements
1.5.14 - February 2024, Ludovic Rousseau
- fix build using swig 4.2.0
1.5.13 - January 2024, Ludovic Rousseau
- fix issue between Python 3.12 garbage collector and C_Finalize()
- Modernize use of setup.py
- Check swig is installed
- remove unused files
- minor improvements
1.5.12 - April 2023, Ludovic Rousseau
- add setAttributeValue()
- minor improvements
1.5.11 - Septembre 2022, Ludovic Rousseau
- add deriveKey() with CKM_ECDH1_DERIVE and CK_ECDH1_DERIVE_PARAMS
- support pSourceData in OAEP params
- remove use of (deprecated) distutils
- samples: port to Python 3
- fix code coverage generation
1.5.10 - December 2020, Ludovic Rousseau
- Add CKH_* constants
- CKA_HW_FEATURE_TYPE attribute value is a number
- Makefile: use python3 by default
- minor improvements
1.5.9 - July 2020, Ludovic Rousseau
- call C_GetSlotList() with a NULL parameter to correctly initialize
some PKCS#11 lib conforming to PKCS#11 version 2.40.
1.5.8 - May 2020, Ludovic Rousseau
- CKA_ALWAYS_AUTHENTICATE is boolean
- CKM_VENDOR_DEFINED_...
. Fix name: use CKM_ instead of CKR_ prefix
. Use an explicit hex prefix: CKM_VENDOR_DEFINED_0x45
- Add missing CKM_*, CKA_*, CKF_*, CKD_*, CKK_*, CKN_*, CKO_*, CKR_*
from PKCS#11 v3.0
- fix test_asymetric.py for RSA_PSS_Mechanism
1.5.7 - December 2019, Ludovic Rousseau
- add missing files in the .tar.gz
1.5.6 - December 2019, Ludovic Rousseau
- AppVeyor:
. generate bdist_wheel
. add Python 3.7 and 3.8
- Sample events.py: add a -f/--full argument
- Add support of CKM_AES_GCM mechanism
- CPKCS11Lib::Load(): return different error codes
- minor improvements
1.5.5 - April 2019, Ludovic Rousseau
- fix source package generation
1.5.4 - April 2019, Ludovic Rousseau
- getTokenInfo: replace NUL char by ' ' in utcTime
- dumpit:
. print hardwareVersion and firmwareVersion
. print slot flags
. move to next slot if token not present
- add support of CKA_WRAP_TEMPLATE/CKA_UNWRAP_TEMPLATE
- add samples for ECC key generation and use
- move from distutils to setuptools
- upload of wheels to pypi on "make dist"
1.5.3 - October 2018, Ludovic Rousseau
- Do not fail when converting a UTF-8 string
- Documentation: convert from Epydoc to Sphinx
- some minor improvements
1.5.2 - April 2018, Ludovic Rousseau
- Fix initPin()
- add tests for initPin(), setPin(), initToken()
1.5.1 - March 2018, Ludovic Rousseau
- Fix "pip install"
1.5.0 - March 2018, Ludovic Rousseau
- Python 3: use strings instead of binary buffers for CK_UTF8CHAR
PKCS#11 types. The behavior is now the same as with Python 2
- allow non string PIN values (binary PIN) for login(), initToken(),
initPin(), setPin()
- fix support of RSA PKCS PSS mechanism
The mechanism object now uses a parameter "mechanism" instead of hard
coding the mechanism value to CKM_RSA_PKCS_PSS.
- add support of Python 2.7 on Windows
- add AppVeyor configuration (automatic Windows builds)
- ckbytelist: remove possibility to give a initial size
- samples/getinfo: do not list the mechanisms by default
- samples/events:
. do not list the mechanisms by default
. add support of pinpad readers
- some minor improvements
1.4.4 - October 2017, Ludovic Rousseau
- getAttributeValue(): handle CKR_ARGUMENTS_BAD error
- seedRandom: fix the seed convertion
- Add vendor errors support to PyKCS11Error
- samples/getinfo & dumpit: list only slots with a token present by default
- run_test: add support of OpenSC PKCS#11 spy
- ckbytelist: update __repr__()
- include tests files in the archive
- dumpit: display the error if getAttributeValue() fails
- some minor improvements
1.4.3 - June 2017, Ludovic Rousseau
- Add support of CKM_RSA_PKCS_PSS mechanism
- fix CKM_AES_CBC issue with Python 3
- add Unitary Tests (make tests)
- add tox support (automate and standardize testing in Python)
- add coverage support (measuring code coverage of Python programs)
- add Travis-CI configuration (automatic build and tests)
- some minor improvements
1.4.2 - May 2017, Ludovic Rousseau
- Moved the project from https://bitbucket.org/PyKCS11/pykcs11 to
https://github.com/LudovicRousseau/PyKCS11
- Makefile: use a better default value for PREFIX
- Fix PyKCS11.__del__(): test that every module is accessible
- getSlotList(): add optional tokenPresent parameter
By default the method returns all the slots (like before the change).
- Always call C_Initialize() in ::Load() to work with some bogus
PKCS#11 library (like libCryptoki2 from Safenet Luna SA HSM)
- LowLevel samples: use PYKCS11LIB environment variable
- some minor improvements
1.4.1 - February 2017, Ludovic Rousseau
- fix compilation under Python 3
- add rsa encryption sample program
1.4.0 - February 2017, Ludovic Rousseau
- fix closeAllSessions() and move it Session to PKCS11Lib
- add RSAOAEPMechanism to support RSA Encryption
- add DigestSession which enables multi-part digesting
- add Elliptic curve keypair generating mechanism
- fix bug in Templates using booleans CK_TRUE/CK_FALSE
Templates are used by generateKey(), generateKeyPair(),
findObjects() createObject(), unwrapKey()
- fix dumpit.py sample for Python 3
1.3.3 - November 2016, Ludovic Rousseau
- PKCS#11 definitions: sync with Cryptoki version 2.40
. add missing CKM_* and CKP_* defines
- Add generateKey() with default mechanism CKM_AES_KEY_GEN
- Make sure the PyKCS11Lib is referenced as long as Session object is live
- Fix OverflowError on Windows
- Attribute CKA_WRAP_WITH_TRUSTED is bool
- samples
- dumpit: ask to enter the PIN on the pinpad if needed
- getinfo & dumpit: add --slot= parameter
- some minor improvements
1.3.2 - January 2016, Ludovic Rousseau
- Add wrappers for C_Verify, C_WrapKey, C_UnwrapKey
- PKCS#11 definitions: sync with Cryptoki version 2.30
- Generate CKM[CKM_VENDOR_DEFINED+x] values on the fly
- Fix use of a pinpad reader CKF_PROTECTED_AUTHENTICATION_PATH
- dumpit.py: lots of small fixes
- Setup call make to build pykcs11_wrap.cpp using SWIG
- Fix build on Windows
- Small bugs fixed
1.3.1 - October 2015, Ludovic Rousseau
- PKCS#11 definitions: sync with Cryptoki version 2.30
- Add user type CK_CONTEXT_SPECIFIC
- Fixes #9, incorrect assignment of pParameter for CK_MECHANISMs.
- CKA_DERIVE is a CK_BBOOL and not byte array
- Add digest() and encrypt method to Session class
- Add samples:
- key-pair generation
- key-pair generation + certificate import
- printing public key modulus
- computing signature
- small bugs fixed
1.3.0 - July 2014, Ludovic Rousseau
- add Python3 support
1.2.4 - April 2012, Ludovic Rousseau
- improve epydoc documentation
- add pinpad support in C_Login() using pin=None
- add pinpad support in samples getinfo.py and dumpit.py
- add createObject()
1.2.3 - December 2010, Ludovic Rousseau
- Add new classes CK_SLOT_INFO, CK_INFO, CK_SESSION_INFO,
CK_MECHANISM_INFO and CK_TOKEN_INFO instead of the low level ones
to have a __repr__() method. It is now possible to just print an
object of these classes and have a human readable version.
- Add a new class CK_OBJECT_HANDLE() to replace the low level one
and have a __repr__() method for objects returned by findObjects()
- Move initToken() from class Session to class PyKCS11Lib and add a
slot parameter.
- Add generateKeyPair and destoryObject support in high level
interface
1.2.2 - June 2010, Ludovic Rousseau
- Debug low level C_GenerateRandom
- Add seedRandom() and generateRandom() in the high level API
1.2.1 - November 2008, Ludovic Rousseau
- Use src/opensc/pkcs11.h instead of src/rsaref/* files since the
files from RSA are not free enough (no right to distribute modified
versions for example)
- improve samples/getinfo.py script
- bug fixes
1.2.0 - August 2008, Ludovic Rousseau
- add getMechanismList() and getMechanismInfo()
- add Session().getSessionInfo()
- bug fixes
1.1.1 - December 2006, Giuseppe Amato (Midori)
- bug fixes
1.1.0 - August 2006, Ludovic Rousseau
- Introduce high level API
1.0.2 - July 2006, Ludovic Rousseau
- port to Unix (tested on GNU/Linux only)
- explicit call to SWIG to generate the wrapper
1.0.1 - 2004 Giuseppe Amato (Midori)
- first version
- Windows only