Version 1.2.3.
[gnuk/gnuk.git] / NEWS
1 Gnuk NEWS - User visible changes
2
3 * Major changes in Gnuk 1.2.3
4
5   Released 2017-02-02, by NIIBE Yutaka
6
7 ** ECC key generation on the device
8 Bug fixed.
9
10 ** Upgrade of Chopstx
11 We use Chopstx 1.3.
12
13
14 * Major changes in Gnuk 1.2.2
15
16   Released 2016-10-15, by NIIBE Yutaka
17
18 ** Change of SELECT FILE behavior 
19 Gnuk used to reply AID upon SELECT FILE command.  Now, to be compatible
20 to original OpenPGP card, it returns nothing but status code of 9000.
21
22 ** Added feature of Factory Reset as compile time option
23 Original OpenPGP card has the feature, and Gnuk is now configurable to
24 support the feature.
25
26 ** Upgrade of Chopstx
27 We use Chopstx 1.2.
28
29
30 * Major changes in Gnuk 1.2.1
31
32   Released 2016-07-11, by NIIBE Yutaka
33
34 ** Upgrade of Chopstx
35 We use Chopstx 1.1.
36
37
38 * Major changes in Gnuk 1.2.0
39
40   Released 2016-05-20, by NIIBE Yutaka
41
42 ** Upgrade of Chopstx
43 We use Chopstx 0.11.
44
45 ** Support authentication status reset by VERIFY command.
46 This feature is described in the OpenPGPcard specification V2.2 and
47 V3.1, which allow user to reset authentication status.
48
49 ** S2K algorithm tweak to defeat "copycat" service of MCU.
50 Even if the existence of some services copying MCU, your private key
51 will not be controled by others, in some cases.
52
53 ** Bug fix for secp256k1 and NIST P-256.
54 Bugs in basic computation were fixed.
55
56 ** Bug fix for bignum routines.
57 Bignum routine update from upstream (failure doesn't occur for our RSA
58 computation, though).  Another fix for mpi_exp_mod.
59
60
61 * Major changes in Gnuk 1.1.9
62
63   Released 2015-09-18, by NIIBE Yutaka
64
65 ** Bug fix for Ed25519 and Curve25519
66 When registering key, wrong operations were not detected correctly.
67 This is fixed.
68
69
70 * Major changes in Gnuk 1.1.8
71
72   Released 2015-09-17, by NIIBE Yutaka
73
74 ** Upgrade of Chopstx
75 We use Chopstx 0.10, which supports Nitrokey-Start.
76
77 ** Card serial number
78 The way to determine a serial number of Gnuk Token for card has been
79 changed.  It uses the 96-bit unique bits of MCU, but the portion for
80 use is changed.
81
82 ** USB Reset handling
83 USB reset lets Gnuk Token restart.  It would not be perfect, when it's
84 during computation of some function, but most parts are protected by
85 Chopstx's feature of cancellation.
86
87
88 * Major changes in Gnuk 1.1.7
89
90   Released 2015-08-05, by NIIBE Yutaka
91
92 ** Upgrade of Chopstx
93 We use Chopstx 0.08, which supports STM32 Nucleo and ST Dongle.
94
95
96 * Major changes in Gnuk 1.1.6
97
98   Released 2015-07-21, by NIIBE Yutaka
99
100 ** USB SerialNumber String
101 The way to determine a serial number of Gnuk Token has been changed.
102 It uses the 96-bit unique bits of MCU, but the portion for use is
103 changed.
104
105 ** Upgrade of Chopstx
106 We use Chopstx 0.07, which supports STM32 Primer2 and CQ STARM, too.
107
108 ** Experimental Curve25519 support.
109
110 Gnuk can support Curve25519 (for decryption).  Note that this is
111 pretty much experimental, and subjects to change.  The low level code
112 is somehow stable, but there are no consensus in higer level.
113 Especially, OID in the key attribute would be changed in future.
114
115 ** No --enable-keygen option
116 It is now standard feature included always.  Note that it doesn't mean
117 this feature is stable now.  It is becoming stable, hopefully.
118
119
120 * Major changes in Gnuk 1.1.5
121
122   Released 2015-06-03, by NIIBE Yutaka
123
124 ** upgrade_by_passwd.py is not so noisy any more.
125 Since it's getting stable, no debug output any more.
126
127 ** Maple mini support.
128 Although its random number generation is not tested, Maple mini
129 support is added.
130
131 ** Windows interoperability fix.
132 1.1.x (0 to 4) didn't work with Windows because of INTERRUPT transfer.
133 It's fixed and it works now.
134
135 ** OpenPGPcard specification v3.0 compatibility.
136 OpenPGPcard specification v3.0 now include NIST curves (and other
137 curves) and ECDSA and ECDH operations are defined.  Gnuk follows
138 this specification.
139
140
141 * Major changes in Gnuk 1.1.4
142
143   Released 2014-12-15, by NIIBE Yutaka
144
145 ** Experimental RSA-4096 support.
146 Although it takes too long (more than 8.7 second), RSA-4096
147 is now implemented.
148
149 ** ECDH support.
150 ECDH is now supported.  You need development branch (master)
151 of GnuPG to use this feature.
152
153 ** ECDSA and EdDSA is not that experimental.
154 You don't need to edit DEFS variable in src/Makefile.
155
156 ** STM8S_DISCOVERY is not supported any more.
157 It's flash ROM size (64KiB) is a bit small to have all features of
158 Gnuk now.  If you manually edit code to limit the size of executable,
159 it still could run Gnuk, though.
160
161 ** configure's default target is now FST-01.
162 Receiving reports from those who complain default target, I
163 reconsidered.  Those who has Olimex STM32 H103 usually has JTAG
164 debugger, while FST-01 users don't.  So, to be safe, the default
165 target is now FST-01, instead of Olimex STM32 H103.
166
167
168 * Major changes in Gnuk 1.1.3
169
170   Released 2014-04-16, by NIIBE Yutaka
171
172 ** Experimental EdDSA support.
173 After configure, you can edit the DEFS variable in src/Makefile, so
174 that Gnuk can support EdDSA with Ed25519 (for authentication).  Note
175 that this is pretty much experimental, and subjects to change.
176
177
178 * Major changes in Gnuk 1.1.2
179
180   Released 2014-03-07, by NIIBE Yutaka
181
182 ** Experimental ECC support for secp256k1.
183 After configure, you can edit the DEFS variable in src/Makefile, so
184 that Gnuk can support ECDSA with NIST P256 (for authentication), and
185 ECDSA with secp256k1 (for signature).  Note that this is pretty much
186 experimental, and subjects to change.
187
188
189 * Major changes in Gnuk 1.1.1
190
191   Released 2013-12-25, by NIIBE Yutaka
192
193 ** Tools and test suite now work with PyUSB 1.0, too.
194 It only worked with PyUSB 0.4.3, but it works with PyUSB 1.0 too.
195
196 ** Improved RSA routine
197 Working memory for RSA computation is taken from stack instead of
198 malloc (mostly).
199
200
201 * Major changes in Gnuk 1.1.0
202
203   Released 2013-12-20, by NIIBE Yutaka
204
205 ** Overriding key import / generation (Incompatible Change)
206 Gnuk supports overriding key import or key generation even if keys are
207 already installed.  Note that it will result password reset of user.
208
209 ** RSA key generation improvement
210 Prime number generation is done by Fouque-Tibouchi method.
211
212 ** Security fix for RSA computation 
213 PolarSSL had a vulnerability against timing attack.  For detail,
214 please see:
215
216   http://www.gniibe.org/memo/development/gnuk/polarssl/polarssl-rsa-blinding
217
218 ** Improved RSA routine
219 RSA computation has been improved using MPI square routine.  Note that
220 you should not adopt this modification for general purpose computer,
221 as this change is weak against the Yarom/Falkner flush+reload cache
222 side-channel attack.
223
224 ** Upgrade of NeuG
225 The true random number generator was upgraded to the one of NeuG 1.0.
226
227 ** Replacement of kernel (thread library)
228 Instead of ChibiOS/RT, we now use Chopstx.
229
230 ** Removal of obsolete features
231 The feature named pin-dial, which is pin input with hardware
232 enhancement (with rotary encoder) is removed.
233
234
235 * Major changes in Gnuk 1.0.4
236
237   Released 2013-03-15, by NIIBE Yutaka
238
239 ** Relocatable reGNUal, really 
240 In 1.0.3, reGNUal was not fully relocatable.  It worked loaded on higher
241 address, but didn't work for lower address.  This was fixed.
242
243
244 * Major changes in Gnuk 1.0.3
245
246   Released 2013-03-14, by NIIBE Yutaka
247
248 ** Relocatable reGNUal
249 The upgrade helper, reGNUal, is now relocatable (other than the first
250 vector table).  It runs well when loaded at different address.  This
251 makes the upgrade procedure more stable.
252
253 ** Compilation by newer GNU Toolchain
254 Now, Gnuk can be compiled with newer GNU Toolchain, specifically GCC
255 4.7.x and GNU Binutils 2.22.  Old versions of Gnuk had problem for
256 ChibiOS_2.0.8/os/ports/GCC/ARMCMx/cmsis/core_cm3.c, which was fixed.
257
258 ** Data object 0x0073
259 Data object 0x0073 is now available.
260
261
262 * Major changes in Gnuk 1.0.2
263
264   Released 2013-02-15, by NIIBE Yutaka
265
266 ** Product string is now "Gnuk Token" (was: "FSIJ USB Token")
267 Since the USB ID Repository suggests not including vendor name
268 in product string, we changed the product string.
269
270 ** New tool (experimental): test/upgrade_by_passwd.py
271 This is the tool to install new firmware to Gnuk Token, provided
272 that it's just shipped from factory (and nothing changed).  It
273 authenticate as admin by factory setting, register a public key
274 for firmware upgrade, and then, does firmware upgrade.
275
276 ** tool/gnuk_upgrade.py supports '-k' option
277 It now supports RSA key on the host PC (not the one on the Token).
278
279 ** New tool: tool/get_raw_public_key.py
280 This is a script to dump raw data of RSA public key, which is useful
281 to register to Gnuk Token as a firmware upgrade key.
282
283 ** New tool: tool/gnuk_remove_keys_libusb.py
284 This tool is libusb version of gnuk_remove_keys.py.  Besides, a bug in
285 gnuk_remove_keys.py was fixed.
286
287 ** CCID protocol fix
288 When time extension is requested by Gnuk Token to host PC, argument
289 field was 0, which was wrong (but it works for most PC/SC
290 implementations and GnuPG internal driver).  Now it's 1, which means
291 1*BWT.
292
293 ** OpenPGP card protocol enhancement
294 Now, VERIFY command accepts empty data and returns remaining trial
295 counts, or 0x9000 (OK) when it's already authenticated.  This is
296 useful for application to synchronize card's authentication status.
297
298
299 * Major changes in Gnuk 1.0.1
300
301   Released 2012-08-03, by NIIBE Yutaka
302
303 ** USB SerialNumber String
304 In 1.0, it has a bug for USB SerialNumber String.  It has been fixed
305 in 1.0.1.
306
307
308 * Major changes in Gnuk 1.0
309
310   Released 2012-07-21, by NIIBE Yutaka
311
312 This is bug fixes only release.
313
314
315 * Major changes in Gnuk 0.21
316
317   Released 2012-07-06, by NIIBE Yutaka
318
319 ** Test suite
320 A functinality test suite is added under test/ directory.
321
322 ** New tool: stlinkv2.py
323 This tool is SWD flash ROM writer with ST-Link/V2.
324
325 ** New tool: usb_strings.py
326 This tool is to dump USB strings, which include revision detail and config
327 options.
328
329 ** Protection improvement (even when internal data is disclosed)
330 Even if PW1 and PW3 is same, content of encrypted DEK is different
331 now.
332
333
334 * Major changes in Gnuk 0.20
335
336   Released 2012-06-19, by NIIBE Yutaka
337
338 ** Key generation feature added
339 Finally, key generation is supported.  Note that it may be very slow.
340 It may take a few minutes (or more) to generate two or three keys,
341 when you are unlucky.
342
343 ** DnD pinentry support is deprecated
344 Once, DnD pinentry was considered a great feature, but it found that
345 it is difficult to remember moves of folders.
346
347 ** gnuk_upgrade.py assumes using another token for authentication
348 Use of another token for authentication is assumed now.  This is
349 incompatible change.  Note that when you upgrade a token of version
350 0.19 to 0.20 (or later), you need gnuk_upgrade.py of version 0.19.
351
352 ** KDF (Key Derivation Function) is now SHA-256
353 Keystring is now computed by SHA-256 (it was SHA1 before).
354
355 ** Protection improvements (even when internal data is disclosed)
356 Three improvements.  (1) Even if PW1 and Reset-code is same, content
357 of encrypted DEK is different now.  (2) DEK is now encrypted and
358 decrypted by keystring in ECB mode (it was just a kind of xor by
359 single block CFB mode).  (3) Key data plus checksum are encrypted in
360 CFB mode with initial vector (it will be able to switch OCB mode
361 easily).
362
363 ** LED display output change
364 LED display output by Gnuk is now more reactive.  It shows status code
365 when it gets GET_STATUS message of CCID.  When you communicate Gnuk by
366 internal CCID driver of GnuPG (instead of PC/SC), and enable
367 'debug-disable-ticker' option in .gnupg/scdaemon.conf, it is more
368 silent now.
369
370
371 * Major changes in Gnuk 0.19
372
373   Released 2012-06-06, by NIIBE Yutaka
374
375 ** Firmware upgrade feature
376 Firmware upgrade is now possible after the public key authentication
377 using EXTERNAL AUTHENTICATE command of ISO 7816.  Firmware upgrade is
378 done together with reGNUal, the firmware upgrade program.
379
380 ** System service blocks at the beginning of flash ROM.
381 Once flash ROM is protected, first 4-KiB cannot be modified.  Gnuk
382 use this area for "system service".  Note that this area will not
383 be able to be modified by firmware upgrade (or by any method).
384
385 ** New tool: gnuk_upgrade.py
386 The tool gnuk_upgrade.py is to do public key authentication using
387 gpg-agent and send reGNUal to Gnuk.  Then, we put new Gnuk binary
388 into the device with reGNUal.
389
390 ** USB strings for revision detail, configure options, and system service.
391 USB strings now have more information.  There are revision detail
392 string, configure options string, system service version string, as
393 well as vendor string and product string.  These strings could be
394 examined to check Gnuk Token.
395
396
397 * Major changes in Gnuk 0.18
398
399   Released 2012-05-15, by NIIBE Yutaka
400
401 ** New mandatory option '--vidpid' for configure
402 You must specify USB vendor ID and product ID for Gnuk.
403 The file GNUK_USB_DEVICE_ID lists valid USB device IDs.
404
405 ** New tool: gnuk_remove_keys.py
406 The tool gnuk_remove_keys.py is to remove all keys in Gnuk Token
407 and reset PW1 and RC (if any).
408
409 ** New USB stack
410 Gnuk used to use USB stack of USB-FS-Device_Lib by ST.  Now, it has
411 original implementation.  Hopefully, size and quality are improved.
412
413
414 * Major changes in Gnuk 0.17
415
416   Released 2012-02-02, by NIIBE Yutaka
417
418 ** USB CCID/ICCD protocol implementation change
419 Gnuk now only supports short APDU level exchange, not supporting
420 extended APDU level exchange.  Thus, Gnuk could be compatible to older
421 host side software implementation.
422
423 ** ISO 7816 SELECT command behavior is somewhat strict now
424 Old implementations do not check DF name for SELECT command.
425 This causes some trouble when Gnuk Token is identified as if it were
426 different card/token.  Now, DF name of OpenPGP card is checked.
427
428 ** USB CCID/ICCD low-level bug is fixed
429 When the size of command APDU data is just 49, the lower level packet
430 size is 64.  This is maximum size of BULK-OUT transfer packet, and
431 caused trouble in the past implementations.  Example is setting url
432 (0x5f50) as: http://www.gniibe.org/adpu-string-size-is-just-49
433 This is because the past implementations expect ZLP (zero length
434 packet).  Now, it has been fixed.  You can use any size of string.
435
436 ** CERT.3 Data Object (0x7f21) is now optional
437 As there's no valid use case for this data object and it does not
438 work as current version of GnuPG, this is now optional feature.
439 You can enable this data object by specifying --enable-certdo at
440 configure time.
441
442 ** With DnD pinentry, user can cancel pin input
443 Now, user can cancel pin input by unmounting device before finishing
444 DnD.
445
446 ** New tool: pinpadtest.py
447 The tool pinpadtest.py is PC/SC test tool for pinentry of pinpad with
448 OpenPGP card v2.
449
450
451 * Major changes in Gnuk 0.16
452
453   Released 2011-12-14, by NIIBE Yutaka
454
455 ** DnD pinentry support is added and it's default to pinentry support
456 DnD pinentry support doesn't require any hardware extension, but
457 emulates mass storage class device of USB.  User inputs pass phrase
458 by "drag and drop"-ing folders using file manager or something.
459
460 ** Bug fix for VERIFY for CHV2
461 With no keys, VERIFY command for CHV2 used to fail even if pass phrase
462 is correct.  It was intentional, because CHV2 verification would be
463 useless with no keys.  But there is a corner case for PRIVATE-DOs,
464 which may requires CHV2 verification.  Even though Gnuk doesn't
465 support any PRIVATE-DOs, it is good to be fixed.
466
467 ** Changed bcdUSB = 1.1
468 Gnuk device conforms to USB 2.0 full speed device, but when it was
469 2.0, some OS informs users, "you can connect the device to 2.0
470 compliant hub so that it can have better bandwidth", which is not
471 the case for full speed device.
472
473
474 * Major changes in Gnuk 0.15
475
476   Released 2011-11-24, by NIIBE Yutaka
477
478 ** New targets: FST_01 and FST_01_00
479 Flying Stone Technology's open hardware, Flying Stone Tiny 01 is
480 supported.
481
482 ** Flash writing tool for "DfuSe" is improved
483 Now, it supports holes and unaligned blocks in hex file.
484
485 ** Experimental PIN-pad support (by TV controller) change
486 Now, Gnuk has codetables for conversion from CIR code to ASCII code.
487 Note that only four controllers (of Dell, Sharp, Sony, and Toshiba)
488 are supported and tested.
489
490 ** It is possible for users to keep using OPENPGP_CARD_INITIAL_PW1
491 With a bug fix of verify_user_0, it's now possible.  Although it's not
492 recommended.
493
494 ** Important bug fix and a workaround
495 In version 0.14, __main_stack_size__ (for interrupt handler) was too
496 small for some cases.  This is fixed in 0.15.
497
498 In src/Makefile.in, added -mfix-cortex-m3-ldrd for correctly linking C
499 library for thumb2.  This is needed for newer summon-arm-toolchain.
500
501
502 * Major changes in Gnuk 0.14
503
504   Released 2011-10-07, by NIIBE Yutaka
505
506 ** Random number generator change
507 NeuG, Gniibe's True RNG implementation for STM32F103, has been
508 integrated to Gnuk.  It is not needed to put random number bytes
509 (generated by host) to Token any more.
510
511
512 * Major changes in Gnuk 0.13
513
514   Released 2011-06-15, by NIIBE Yutaka
515
516 ** Improved RSA routine.
517 About 20% speed improvement.
518
519 ** New tool: hub_ctrl.
520 It is a Python implementation ported from original C implementation.
521 It is useful for development of USB target if you have a good hub.
522 You can power off/on the port to reset Gnuk Token.
523
524
525 * Major changes in Gnuk 0.12
526
527   Released 2011-05-13, by NIIBE Yutaka
528
529 ** Admin-less mode is supported.
530 The OpenPGP card specification assumes existence of a security officer
531 (admin), who has privilege to manage the card.  On the other hand,
532 many use cases of Gnuk are admin == user.
533
534 Thus, Gnuk now supports "admin-less" mode.  In this mode, user can get
535 privilege with the password of PW1.
536
537 At the initialization of the card, Gnuk becomes compatible mode by
538 setting PW3.  Without setting PW3, it becomes "admin-less" mode
539 by setting PW1.
540
541 ** Important two bug fixes.
542 Gnuk (<= 0.11) has a bug which makes possible for attacker to change
543 user password to unknown state without knowing original password (when
544 no keys are loaded yet).  No, attacker could not steal your identity
545 (cannot sign or decrypt), but it would be possible to disturb you.
546
547 Gnuk (<= 0.11) has a bug which makes possible for attacker to guess
548 admin password easily.  When admin password is not set (the default
549 value of factory setting), failure of VERIFY doesn't increment error
550 counter in older versions.  Observing no increment of error counter,
551 attacker could know that admin password is the one of factory setting.
552
553 ** tool/gnuk_put_binary.py now uses pyscard.
554 Instead of PyUSB, it uses Python binding of PC/SC.  PyUSB version is
555 still available as tool/gnuk_put_binary_libusb.py.
556
557 ** Logo for Gnuk is updated.
558
559 ** Gnuk Sticker SVG is available.
560
561
562 * Major changes in Gnuk 0.11
563
564   Released 2011-04-15, by NIIBE Yutaka
565
566 This is bug fixes only release.
567
568
569 * Major changes in Gnuk 0.10
570
571   Released 2011-02-10, by NIIBE Yutaka
572
573 ** The executable can be installed to multiple devices.
574 So far, users of Gnuk should have not shared single executable among
575 multiple devices because the executable includes random bits (or
576 fixed serial number).  Now, random_bits and fixed serial number are
577 configured *after* compilation, we can install single executable image
578 to multiple devices.  Note that we need to configure random_bits for
579 each device.
580
581 ** Removed configure option: --with-fixed-serial
582 It is not compile time option any more.  After installation, we can
583 modify serial number in AID by tool/gnuk_put_binary.py.  Modification
584 is possible only once.  If you don't modify, Gnuk uses unique chip ID
585 of STM32 processor for AID.
586
587
588 * Major changes in Gnuk 0.9
589
590   Released 2011-02-01, by NIIBE Yutaka
591
592 ** Card Holder Certificate is supported (still this is experimental).
593 Gnuk can support card holder certificate now.  Note that GnuPG is not
594 ready yet.  The tool/gnuk_update_binary.py is for writing card holder
595 certificate to Gnuk Token.
596
597 ** Better interoperability to OpenSC.
598 Gnuk is not yet supported by OpenSC, but it could be.  With the
599 changes in Gnuk, it could be relatively easily possible to support
600 Gnuk Token by OpenSC with a few changes to libopensc/card-openpgp.c,
601 and libopensc/pkcs15-openpgp.c.
602
603 ** New board support "STBee"
604 STBee is a board by Strawberry Linux Co., Ltd., and it has
605 STM32F103VET6 on the board.  The chip is High Density CPU with 512KB
606 flash memory and many I/O.  If you want to connect sensor, display,
607 etc., this board would be a good candidate.
608
609 ** Experimental PIN-pad modification(unblock) support is added.
610 PIN-pad modification(unblock) is supported.
611
612
613 * Major changes in Gnuk 0.8
614
615   Released 2011-01-19, by NIIBE Yutaka
616
617 ** Experimental PIN-pad modification support is added.
618 PIN input using rotally encoder and push switch is tested with STBee
619 Mini.  By this hardware, PIN-pad modification is supported.
620
621
622 * Major changes in Gnuk 0.7
623
624   Released 2011-01-15, by NIIBE Yutaka
625
626 ** Bug fix only.
627 In version 0.6, a severe bug was introduced in usb-icc.c when adding a
628 work around for libccid 1.3.11.  The fix is one-liner, but it is worth
629 to release newer version.
630
631
632 * Major changes in Gnuk 0.6
633
634   Released 2011-01-14, by NIIBE Yutaka
635
636 ** Experimental PIN-pad support is added.
637 Local PIN-pad input is suppored for boards which have input hardware.
638 PIN input using consumer IR receive module is tested with STBee Mini
639 and STM8S Discovery.
640
641 ** USB device serial number is virtually unique now.
642 STM32F103 has 96-bit unique chip identifier.  We take advantage of
643 this, Gnuk Token has virtually unique USB serial number.
644
645 ** Card serial number is determined at run time by chip identifier.
646 Until version 0.5, card serial number was compile time option.  If we
647 used same binary for different devices, card serial number was same.
648 Now, we use STM32F103's 96-bit unique chip identifier for card serial
649 number (when you don't use --with-fixed-serial option).
650
651 ** More improved USB-CCID/ICCD implementation.
652 The changes in 0.5 was not that good for libccid 1.3.11, which has
653 small buffer (only 262-byte APDU).  Workaround for libccid 1.3.11 is
654 implemented.
655
656
657 * Major changes in Gnuk 0.5
658
659   Released 2010-12-13, by NIIBE Yutaka
660
661 ** LED blink
662 LED blink now shows status output of the card.  It shows the status of
663 CHV3, CHV2, and CHV1 when GPG is accessing the card.
664
665 ** New board support "STM8S Discovery"
666 ST-Link part (with STM32F103C8T6) of STM8S Discovery board is now supported.
667
668 ** Digital signing for SHA224/SHA256/SHA384/SHA512 digestInfo is now possible.
669
670 ** Fixes for password management
671 Now, you can allow the token to do digital signing multiple times with
672 single authentication.  You can use "forcesig" subcommand in card-edit
673 of GnuPG to enable the feature.
674
675 ** Key management changes
676 If you remove all keys, it is possible to import keys again.
677
678 ** More improved USB-CCID/ICCD implementation.
679 Gnuk works better with GPG's in-stock protocol stack.  You can do
680 digital signing (not decryption, key import, or get_public_key in
681 GPG2).  For decryption, key import and get_public_key, changes are
682 needed for GPG (scd/ccid-driver.c) to support the case of extended
683 APDU.  In short, you can sign with Gnuk by GPG.
684
685 ** Windows support.
686 Gnuk Token could run with GPG4WIN on MS Windows.  GPG4WIN runs with
687 "usbccid" driver and "winscard" driver.
688
689
690 * Major changes in Gnuk 0.4
691
692   Released 2010-11-09, by NIIBE Yutaka
693
694 ** New board support "STBee Mini".
695
696 ** Flash writing tool for "DfuSe" is included now.
697
698 ** Since Flash GC is now implemented, it can be used longer.
699
700
701 * Major changes in Gnuk 0.3
702
703   Released 2010-10-23, by NIIBE Yutaka
704
705 ** Now we have 'configure' script to select target.
706
707 ** Support system with DFU (Device Firmware Upgrade) downloader.
708
709 ** New board support "CQ STARM".
710
711 ** Improved USB-ICCD implementation.  Works fine with GPG's protocol stack.
712
713
714 * Major changes in Gnuk 0.2
715
716   Released 2010-09-13, by NIIBE Yutaka
717
718 ** With DEBUG=1, timeout is more than 3 seconds.
719
720 ** Flash ROM entries for random numbers are cleared after use. 
721
722 ** Board support "STM32 Primer 2" now works.
723  
724
725 * Major changes in Gnuk 0.1
726
727   Released 2010-09-10, by NIIBE Yutaka
728
729 ** Enabled force_chv1 (in the pw_status_bytes), so that the decipher works.
730
731 ** Support both of key for digital signing and key for decryption.
732
733 ** Decipher is supported.
734
735 ** New board support "STM32 Primer 2" is added by Kaz Kojima.
736
737 ** LED behavior is meaningful now.  "ON" during execution.
738
739 ** Fixed bcdCCID revision number.
740
741 ** Logo.
742
743
744 * Major changes in Gnuk 0.0
745
746   Released 2010-09-06, by NIIBE Yutaka
747
748 ** This is initial release.  Only it supports digital signing.
749
750 Local Variables:
751 mode: outline
752 End: