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