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