Create a pkcs#10 request directly from a card.
[gnupg.git] / NEWS
1 Noteworthy changes in version 2.0.13
2 -------------------------------------------------
3
4  This is a BETA version!
5
6  * Minor bug fixes.
7
8  * gpgsm --gen-key implements a --batch mode.
9
10  * gpgsm --gen-key implements all features of gpgsm-gencert.sh.
11
12
13 Noteworthy changes in version 2.0.12 (2009-06-17)
14 -------------------------------------------------
15
16  * GPGSM now always lists ephemeral certificates if specified by
17    fingerprint or keygrip.
18
19  * New command "KEYINFO" for GPG_AGENT.  GPGSM now also returns
20    information about smartcards.
21
22  * Made sure not to leak file descriptors if running gpg-agent with a
23    command.  Restore the signal mask to solve a problem in Mono.
24
25  * Changed order of the confirmation questions for root certificates
26    and store negative answers in trustlist.txt.
27
28  * Better synchronization of concurrent smartcard sessions.
29
30  * Support 2048 bit OpenPGP cards.
31
32  * Support Telesec Netkey 3 cards.
33
34  * The gpg-protect-tool now uses gpg-agent via libassuan.  Under
35    Windows the Pinentry will now be put into the foreground.
36
37  * Changed code to avoid a possible Mac OS X system freeze.
38
39
40 Noteworthy changes in version 2.0.11 (2009-03-03)
41 -------------------------------------------------
42
43  * Fixed a problem in SCDAEMON which caused unexpected card resets.
44
45  * SCDAEMON is now aware of the Geldkarte.
46
47  * The SCDAEMON option --allow-admin is now used by default.
48
49  * GPGCONF now restarts SCdaemon if necessary.
50
51  * The default cipher algorithm in GPGSM is now again 3DES.  This is
52    due to interoperability problems with Outlook 2003 which still
53    can't cope with AES.
54
55
56 Noteworthy changes in version 2.0.10 (2009-01-12)
57 -------------------------------------------------
58
59  * [gpg] New keyserver helper gpg2keys_kdns as generic DNS CERT
60    lookup.  Run with --help for a short description.  Requires the
61    ADNS library.
62
63  * [gpg] New mechanisms "local" and "nodefault" for --auto-key-locate.
64    Fixed a few problems with this option.
65
66  * [gpg] New command --locate-keys.
67
68  * [gpg] New options --with-sig-list and --with-sig-check.
69
70  * [gpg] The option "-sat" is no longer an alias for --clearsign.
71
72  * [gpg] The option --fixed-list-mode is now implicitly used and obsolete.
73
74  * [gpg] New control statement %ask-passphrase for the unattended key
75    generation.
76
77  * [gpg] The algorithm to compute the SIG_ID status has been changed.
78
79  * [gpgsm] Now uses AES by default.
80
81  * [gpgsm] Made --output option work with --export-secret-key-p12.
82
83  * [gpg-agent] Terminate process if the own listening socket is not
84    anymore served by ourself.
85
86  * [scdaemon] Made it more robust on W32.
87
88  * [gpg-connect-agent] Accept commands given as command line arguments.
89
90  * [w32] Initialized the socket subsystem for all keyserver helpers.
91
92  * [w32] The sysconf directory has been moved from a subdirectory of
93    the installation directory to %CSIDL_COMMON_APPDATA%/GNU/etc/gnupg.
94
95  * [w32] The gnupg2.nls directory is not anymore used.  The standard
96    locale directory is now used.  
97
98  * [w32] Fixed a race condition between gpg and gpgsm in the use of
99    temporary file names.
100
101  * The gpg-preset-passphrase mechanism works again.  An arbitrary
102    string may now be used for a custom cache ID.
103
104  * Admin PINs are cached again (bug in 2.0.9).
105
106  * Support for version 2 OpenPGP cards.
107
108  * Libgcrypt 1.4 is now required.
109
110
111 Noteworthy changes in version 2.0.9 (2008-03-26)
112 ------------------------------------------------
113
114  * Gpgsm always tries to locate missing certificates from a running
115    Dirmngr's cache.
116
117  * Tweaks for Windows.
118
119  * The Admin PIN for OpenPGP cards may now be entered with the pinpad.
120
121  * Improved certificate chain construction.
122
123  * Extended the PKITS framework.
124
125  * Fixed a bug in the ambigious name detection.
126
127  * Fixed possible memory corruption while importing OpenPGP keys (bug
128    introduced with 2.0.8). [CVE-2008-1530]
129
130  * Minor bug fixes.
131
132
133 Noteworthy changes in version 2.0.8 (2007-12-20)
134 ------------------------------------------------
135
136  * Enhanced gpg-connect-agent with a small scripting language.
137
138  * New option --list-config for gpgconf.
139
140  * Fixed a crash in gpgconf.
141
142  * Gpg-agent now supports the passphrase quality bar of the latest
143    Pinentry.
144
145  * The envvars XAUTHORITY and PINENTRY_USER_DATA are now passed to the
146    Pinentry.
147
148  * Fixed the auto creation of the key stub for smartcards.  
149
150  * Fixed a rare bug in decryption using the OpenPGP card.
151
152  * Creating DSA2 keys is now possible.
153
154  * New option --extra-digest-algo for gpgsm to allow verification of
155    broken signatures.
156
157  * Allow encryption with legacy Elgamal sign+encrypt keys with option
158    --rfc2440.
159
160  * Windows is now a supported platform.
161
162  * Made sure that under Windows the file permissions of the socket are
163    taken into account.  This required a change of our socket emulation
164    code and changed the IPC protocol under Windows.
165
166
167 Noteworthy changes in version 2.0.7 (2007-09-10)
168 ------------------------------------------------
169
170  * Fixed encryption problem if duplicate certificates are in the
171    keybox.
172
173  * Made it work on Windows Vista.  Note that the entire Windows port
174    is still considered Beta.
175
176  * Add new options min-passphrase-nonalpha, check-passphrase-pattern,
177    enforce-passphrase-constraints and max-passphrase-days to
178    gpg-agent.
179
180  * Add command --check-components to gpgconf.  Gpgconf now uses the
181    installed versions of the programs and does not anymore search via
182    PATH for them.
183
184
185 Noteworthy changes in version 2.0.6 (2007-08-16)
186 ------------------------------------------------
187
188  * GPGSM does now grok --default-key.
189
190  * GPGCONF is now aware of --default-key and --encrypt-to. 
191
192  * GPGSM does again correctly print the serial number as well the the
193    various keyids.  This was broken since 2.0.4.
194
195  * New option --validation-model and support for the chain-model.
196
197  * Improved Windows support.
198
199  
200 Noteworthy changes in version 2.0.5 (2007-07-05)
201 ------------------------------------------------
202
203  * Switched license to GPLv3.
204
205  * Basic support for Windows.  Run "./autogen.sh --build-w32" to build
206    it.  As usual the mingw cross compiling toolchain is required.
207
208  * Fixed bug when using the --p12-charset without --armor.
209
210  * The command --gen-key may now be used instead of the
211    gpgsm-gencert.sh script.
212
213  * Changed key generation to reveal less information about the
214    machine.  Bug fixes for gpg2's card key generation.
215
216
217 Noteworthy changes in version 2.0.4 (2007-05-09)
218 ------------------------------------------------
219
220  * The server mode key listing commands are now also working for
221    systems without the funopen/fopencookie API.
222
223  * PKCS#12 import now tries several encodings in case the passphrase
224    was not utf-8 encoded.  New option --p12-charset for gpgsm.
225
226  * Improved the libgcrypt logging support in all modules.
227
228
229 Noteworthy changes in version 2.0.3 (2007-03-08)
230 ------------------------------------------------
231
232  * By default, do not allow processing multiple plaintexts in a single
233    stream.  Many programs that called GnuPG were assuming that GnuPG
234    did not permit this, and were thus not using the plaintext boundary
235    status tags that GnuPG provides.  This change makes GnuPG reject
236    such messages by default which makes those programs safe again.
237    --allow-multiple-messages returns to the old behavior. [CVE-2007-1263].
238
239  * New --verify-option show-primary-uid-only. 
240
241  * gpgconf may now reads a global configuration file to select which
242    options are changeable by a frontend.  The new applygnupgdefaults
243    tool may be used by an admin to set default options for all users.
244
245  * The PIN pad of the Cherry XX44 keyboard is now supported.  The
246    DINSIG and the NKS applications are now also aware of PIN pads.
247
248
249 Noteworthy changes in version 2.0.2 (2007-01-31)
250 ------------------------------------------------
251
252  * Fixed a serious and exploitable bug in processing encrypted
253    packages. [CVE-2006-6235].
254
255  * Added --passphrase-repeat to set the number of times GPG will
256    prompt for a new passphrase to be repeated.  This is useful to help
257    memorize a new passphrase.  The default is 1 repetition.
258
259  * Using a PIN pad does now also work for the signing key.
260
261  * A warning is displayed by gpg-agent if a new passphrase is too
262    short.  New option --min-passphrase-len defaults to 8.
263
264  * The status code BEGIN_SIGNING now shows the used hash algorithms.
265
266
267 Noteworthy changes in version 2.0.1 (2006-11-28)
268 ------------------------------------------------
269
270  * Experimental support for the PIN pads of the SPR 532 and the Kaan
271    Advanced card readers.  Add "disable-keypad" scdaemon.conf if you
272    don't want it.  Does currently only work for the OpenPGP card and
273    its authentication and decrypt keys.
274
275  * Fixed build problems on some some platforms and crashes on amd64.
276
277  * Fixed a buffer overflow in gpg2. [bug#728,CVE-2006-6169]
278
279
280 Noteworthy changes in version 2.0.0 (2006-11-11)
281 ------------------------------------------------
282
283  * First stable version of a GnuPG integrating OpenPGP and S/MIME.
284
285
286 Noteworthy changes in version 1.9.95 (2006-11-06)
287 -------------------------------------------------
288
289  * Minor bug fixes.
290
291
292 Noteworthy changes in version 1.9.94 (2006-10-24)
293 -------------------------------------------------
294
295  * Keys for gpgsm may now be specified using a keygrip.  A keygrip is
296    indicated by a prefixing it with an ampersand.
297
298  * gpgconf now supports switching the CMS cipher algo (e.g. to AES).
299
300  * New command --gpgconf-test for all major tools. This may be used to
301    check whether the configuration file is sane.
302
303
304 Noteworthy changes in version 1.9.93 (2006-10-18)
305 -------------------------------------------------
306
307  * In --with-validation mode gpgsm will now also ask whether a root
308    certificate should be trusted.
309
310  * Link to Pth only if really necessary.
311
312  * Fixed a pubring corruption bug in gpg2 occurring when importing
313    signatures or keys with insane lengths.
314
315  * Fixed v3 keyID calculation bug in gpg2.
316
317  * More tweaks for certificates without extensions.
318
319
320 Noteworthy changes in version 1.9.92 (2006-10-11)
321 -------------------------------------------------
322
323  * Bug fixes.
324
325
326 Noteworthy changes in version 1.9.91 (2006-10-04)
327 -------------------------------------------------
328
329  * New "relax" flag for trustlist.txt to allow root CA certificates
330    without BasicContraints.
331
332  * [gpg2] Removed the -k PGP 2 compatibility hack.  -k is now an
333    alias for --list-keys.
334
335  * [gpg2] Print a warning if "-sat" is used instead of "--clearsign".
336
337
338 Noteworthy changes in version 1.9.90 (2006-09-25)
339 -------------------------------------------------
340
341  * Made readline work for gpg.
342
343  * Cleanups und minor bug fixes.
344
345  * Included translations from gnupg 1.4.5.
346
347
348 Noteworthy changes in version 1.9.23 (2006-09-18)
349 -------------------------------------------------
350
351  * Regular man pages for most tools are now build directly from the
352    Texinfo source.
353
354  * The gpg code from 1.4.5 has been fully merged into this release.
355    The configure option --enable-gpg is still required to build this
356    gpg part.  For production use of OpenPGP the gpg version 1.4.5 is
357    still recommended.  Note, that gpg will be installed under the name
358    gpg2 to allow coexisting with an 1.4.x gpg.
359
360  * API change in gpg-agent's pkdecrypt command.  Thus an older gpgsm
361    may not be used with the current gpg-agent.
362
363  * The scdaemon will now call a script on reader status changes.
364
365  * gpgsm now allows file descriptor passing for "INPUT", "OUTPUT" and
366    "MESSAGE".
367
368  * The gpgsm server may now output a key listing to the output file
369    handle. This needs to be enabled using "OPTION list-to-output=1".
370
371  * The --output option of gpgsm has now an effect on list-keys.
372
373  * New gpgsm commands --dump-chain and list-chain.
374
375  * gpg-connect-agent has new options to utilize descriptor passing.
376
377  * A global trustlist may now be used.  See doc/examples/trustlist.txt.
378
379  * When creating a new pubring.kbx keybox common certificates are
380    imported.
381
382
383 Noteworthy changes in version 1.9.22 (2006-07-27)
384 -------------------------------------------------
385
386  * Enhanced pkcs#12 support to allow import from simple keyBags.
387
388  * Exporting to pkcs#12 now create bag attributes so that Mozilla is
389    able to import the files.
390
391  * Fixed uploading of certain keys to the smart card.
392
393
394 Noteworthy changes in version 1.9.21 (2006-06-20)
395 -------------------------------------------------
396
397  * New command APDU for scdaemon to allow using it for general card
398    access.  Might be used through gpg-connect-agent by using the SCD
399    prefix command.
400
401  * Support for the CardMan 4040 PCMCIA reader (Linux 2.6.15 required).
402
403  * Scdaemon does not anymore reset cards at the end of a connection. 
404
405  * Kludge to allow use of Bundesnetzagentur issued X.509 certificates.
406
407  * Added --hash=xxx option to scdaemon's PKSIGN command.
408
409  * Pkcs#12 files are now created with a MAC.  This is for better
410    interoperability.
411
412  * Collected bug fixes and minor other changes.
413
414
415 Noteworthy changes in version 1.9.20 (2005-12-20)
416 -------------------------------------------------
417
418  * Importing pkcs#12 files created be recent versions of Mozilla works
419    again.
420
421  * Basic support for qualified signatures.
422
423  * New debug tool gpgparsemail. 
424
425
426 Noteworthy changes in version 1.9.19 (2005-09-12)
427 -------------------------------------------------
428
429  * The Belgian eID card is now supported for signatures and ssh.
430    Other pkcs#15 cards should work as well.
431
432  * Fixed bug in --export-secret-key-p12 so that certificates are again
433    included.
434
435
436 Noteworthy changes in version 1.9.18 (2005-08-01)
437 -------------------------------------------------
438
439  * [gpgsm] Now allows for more than one email address as well as URIs
440    and dnsNames in certificate request generation.  A keygrip may be
441    given to create a request from an existing key.
442
443  * A couple of minor bug fixes.
444
445
446 Noteworthy changes in version 1.9.17 (2005-06-20)
447 -------------------------------------------------
448
449  * gpg-connect-agent has now features to handle Assuan INQUIRE
450    commands.
451
452  * Internal changes for OpenPGP cards. New Assuan command WRITEKEY.
453
454  * GNU Pth is now a hard requirement.
455
456  * [scdaemon] Support for OpenSC has been removed.  Instead a new and
457    straightforward pkcs#15 modules has been written.  As of now it
458    does allows only signing using TCOS cards but we are going to
459    enhance it to match all the old capabilities.
460
461  * [gpg-agent] New option --write-env-file and Assuan command
462    UPDATESTARTUPTTY.
463
464  * [gpg-agent] New option --default-cache-ttl-ssh to set the TTL for
465    SSH passphrase caching independent from the other passphrases.
466
467
468 Noteworthy changes in version 1.9.16 (2005-04-21)
469 -------------------------------------------------
470
471  * gpg-agent does now support the ssh-agent protocol and thus allows
472    to use the pinentry as well as the OpenPGP smartcard with ssh.
473
474  * New tool gpg-connect-agent as a general client for the gpg-agent.
475
476  * New tool symcryptrun as a wrapper for certain encryption tools.
477
478  * The gpg tool is not anymore build by default because those gpg
479    versions available in the gnupg 1.4 series are far more matured.
480
481
482 Noteworthy changes in version 1.9.15 (2005-01-13)
483 -------------------------------------------------
484
485  * Fixed passphrase caching bug.
486
487  * Better support for CCID readers; the reader from Cherry RS 6700 USB
488    does now work.
489
490
491 Noteworthy changes in version 1.9.14 (2004-12-22)
492 -------------------------------------------------
493
494  * [gpg-agent] New option --use-standard-socket to allow the use of a
495    fixed socket.  gpgsm falls back to this socket if GPG_AGENT_INFO
496    has not been set.
497
498  * Ported to MS Windows with some functional limitations.
499
500  * New tool gpg-preset-passphrase.
501
502
503 Noteworthy changes in version 1.9.13 (2004-12-03)
504 -------------------------------------------------
505
506  * [gpgsm] New option --prefer-system-dirmngr.
507
508  * Minor cleanups and debugging aids.
509
510
511 Noteworthy changes in version 1.9.12 (2004-10-22)
512 -------------------------------------------------
513
514  * [scdaemon] Partly rewrote the PC/SC code.
515
516  * Removed the sc-investigate tool.  It is now in a separate package
517    available at ftp://ftp.g10code.com/g10code/gscutils/ .
518
519  * [gpg-agent] Fixed logging problem.
520
521
522 Noteworthy changes in version 1.9.11 (2004-10-01)
523 -------------------------------------------------
524
525  * When using --import along with --with-validation, the imported
526    certificates are validated and only imported if they are fully
527    valid.
528
529  * [gpg-agent] New option --max-cache-ttl.
530
531  * [gpg-agent] When used without --daemon or --server, gpg-agent now
532    check whether a agent is already running and usable.
533
534  * Fixed some i18n problems.
535
536
537 Noteworthy changes in version 1.9.10 (2004-07-22)
538 -------------------------------------------------
539
540  * Fixed a serious bug in the checking of trusted root certificates.
541
542  * New configure option --enable-agent-pnly allows to build and
543    install just the agent.
544
545  * Fixed a problem with the log file handling.
546
547
548 Noteworthy changes in version 1.9.9 (2004-06-08)
549 ------------------------------------------------
550
551  * [gpg-agent] The new option --allow-mark-trusted is now required to
552    allow gpg-agent to add a key to the trustlist.txt after user
553    confirmation.
554
555  * Creating PKCS#10 requests does now honor the key usage.
556
557
558 Noteworthy changes in version 1.9.8 (2004-04-29)
559 ------------------------------------------------
560
561  * [scdaemon] Overhauled the internal CCID driver.
562
563  * [scdaemon] Status files named ~/.gnupg/reader_<n>.status are now
564    written when using the internal CCID driver.
565
566  * [gpgsm] New commands --dump-{,secret,external}-keys to show a very
567    detailed view of the certificates.
568
569  * The keybox gets now compressed after 3 hours and ephemeral
570    stored certificates are deleted after about a day.
571
572  * [gpg] Usability fixes for --card-edit.  Note, that this has already
573    been ported back to gnupg-1.3
574
575
576 Noteworthy changes in version 1.9.7 (2004-04-06)
577 ------------------------------------------------
578
579  * Instrumented the modules for gpgconf.
580
581  * Added support for DINSIG card applications.
582
583  * Include the smimeCapabilities attribute with signed messages.
584
585  * Now uses the gettext domain "gnupg2" to avoid conflicts with gnupg
586    versions < 1.9.
587
588
589 Noteworthy changes in version 1.9.6 (2004-03-06)
590 ------------------------------------------------
591
592  * Code cleanups and bug fixes.
593
594
595 Noteworthy changes in version 1.9.5 (2004-02-21)
596 ------------------------------------------------
597
598  * gpg-protect-tool gets now installed into libexec as it ought to be.
599    Cleaned up the build system to better comply with the coding
600    standards.
601
602  * [gpgsm] The --import command is now able to autodetect pkcs#12
603    files and import secret and private keys from this file format.
604    A new command --export-secret-key-p12 is provided to allow
605    exporting of secret keys in PKCS\#12 format.
606
607  * [gpgsm] The pinentry will now present a description of the key for
608    whom the passphrase is requested.
609
610  * [gpgsm] New option --with-validation to check the validity of key
611    while listing it.
612
613  * New option --debug-level={none,basic,advanced,expert,guru} to map
614    the debug flags to sensitive levels on a per program base.
615
616
617 Noteworthy changes in version 1.9.4 (2004-01-30)
618 ------------------------------------------------
619
620  * Added support for the Telesec NKS 2.0 card application.
621
622  * Added simple tool addgnupghome to create .gnupg directories from
623    /etc/skel/.gnupg.
624
625  * Various minor bug fixes and cleanups; mainly gpgsm and gpg-agent
626    related.
627
628
629 Noteworthy changes in version 1.9.3 (2003-12-23)
630 ------------------------------------------------
631
632  * New gpgsm options --{enable,disable}-ocsp to validate keys using
633    OCSP. This option requires a not yet released DirMngr version.
634    Default is disabled.
635
636  * The --log-file option may now be used to print logs to a socket.
637    Prefix the socket name with "socket://" to enable this.  This does
638    not work on all systems and falls back to stderr if there is a
639    problem with the socket.
640
641  * The options --encrypt-to and --no-encrypt-to now work the same in
642    gpgsm as in gpg.  Note, they are also used in server mode.
643
644  * Duplicated recipients are now silently removed in gpgsm.
645
646
647 Noteworthy changes in version 1.9.2 (2003-11-17)
648 ------------------------------------------------
649
650  * On card key generation is no longer done using the --gen-key
651    command but from the menu provided by the new --card-edit command.
652
653  * PINs are now properly cached and there are only 2 PINs visible.
654    The 3rd PIN (CHV2) is internally syncronized with the regular PIN.
655
656  * All kind of other internal stuff.
657
658
659 Noteworthy changes in version 1.9.1 (2003-09-06)
660 ------------------------------------------------
661
662  * Support for OpenSC is back. scdaemon supports a --disable-opensc to
663    disable OpenSC use at runtime, so that PC/SC or ct-API can still be
664    used directly.
665
666  * Rudimentary support for the SCR335 smartcard reader using an
667    internal driver.  Requires current libusb from CVS.
668
669  * Bug fixes.
670
671
672 Noteworthy changes in version 1.9.0 (2003-08-05)
673 ------------------------------------------------
674
675       ====== PLEASE SEE README-alpha =======
676
677  * gpg has been renamed to gpg2 and gpgv to gpgv2.  This is a
678    temporary change to allow co-existing with stable gpg versions.
679
680  * ~/.gnupg/gpg.conf-1.9.0 is fist tried as config file before the
681    usual gpg.conf.
682
683  * Removed the -k, -kv and -kvv commands.  -k is now an alias to
684    --list-keys.  New command -K as alias for --list-secret-keys.
685
686  * Removed --run-as-shm-coprocess feature.
687
688  * gpg does now also use libgcrypt, libgpg-error is required.
689
690  * New gpgsm commands --call-dirmngr and --call-protect-tool.
691
692  * Changing a passphrase is now possible using "gpgsm --passwd"
693
694  * The content-type attribute is now recognized and created.
695
696  * The agent does now reread certain options on receiving a HUP.
697
698  * The pinentry is now forked for each request so that clients with
699    different environments are supported.  When running in daemon mode
700    and --keep-display is not used the DISPLAY variable is ignored.
701
702  * Merged stuff from the newpg branch and started this new
703    development branch.
704
705
706  Copyright 2002, 2003, 2004, 2005, 2006, 2007,
707            2008, 2009  Free Software Foundation, Inc.
708
709  This file is free software; as a special exception the author gives
710  unlimited permission to copy and/or distribute it, with or without
711  modifications, as long as this notice is preserved.
712
713  This file is distributed in the hope that it will be useful, but
714  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
715  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.