mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-08-20 21:33:21 -07:00
Updated msys2
This commit is contained in:
parent
6a85995508
commit
f0dc1ea8b0
13308 changed files with 689276 additions and 46605 deletions
29
msys2/usr/share/doc/gnupg/DCO
Normal file
29
msys2/usr/share/doc/gnupg/DCO
Normal file
|
@ -0,0 +1,29 @@
|
|||
GnuPG Developer's Certificate of Origin. Version 1.0
|
||||
=====================================================
|
||||
|
||||
By making a contribution to the GnuPG project, I certify that:
|
||||
|
||||
(a) The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the free software license
|
||||
indicated in the file; or
|
||||
|
||||
(b) The contribution is based upon previous work that, to the
|
||||
best of my knowledge, is covered under an appropriate free
|
||||
software license and I have the right under that license to
|
||||
submit that work with modifications, whether created in whole
|
||||
or in part by me, under the same free software license
|
||||
(unless I am permitted to submit under a different license),
|
||||
as indicated in the file; or
|
||||
|
||||
(c) The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including
|
||||
all personal information I submit with it, including my
|
||||
sign-off) is maintained indefinitely and may be redistributed
|
||||
consistent with this project or the free software license(s)
|
||||
involved.
|
||||
|
||||
Signed-off-by: [Your name and mail address]
|
1574
msys2/usr/share/doc/gnupg/DETAILS
Normal file
1574
msys2/usr/share/doc/gnupg/DETAILS
Normal file
File diff suppressed because it is too large
Load diff
13
msys2/usr/share/doc/gnupg/FAQ
Normal file
13
msys2/usr/share/doc/gnupg/FAQ
Normal file
|
@ -0,0 +1,13 @@
|
|||
GnuPG Frequently Asked Questions
|
||||
|
||||
A FAQ is a fast moving target and thus we don't distribute it anymore
|
||||
with GnuPG. You may retrieve the current FAQ in HTML format at
|
||||
|
||||
https://gnupg.org/faq/gnupg-faq.html
|
||||
|
||||
or in plain text format at
|
||||
|
||||
https://gnupg.org/faq/gnupg-faq.txt
|
||||
|
||||
|
||||
|
433
msys2/usr/share/doc/gnupg/HACKING
Normal file
433
msys2/usr/share/doc/gnupg/HACKING
Normal file
|
@ -0,0 +1,433 @@
|
|||
# HACKING -*- org -*-
|
||||
#+TITLE: A Hacker's Guide to GnuPG
|
||||
#+TEXT: Some notes on GnuPG internals
|
||||
#+STARTUP: showall
|
||||
#+OPTIONS: ^:{}
|
||||
|
||||
* How to contribute
|
||||
|
||||
The following stuff explains some basic procedures you need to
|
||||
follow if you want to contribute code or documentation.
|
||||
|
||||
** No more ChangeLog files
|
||||
|
||||
Do not modify any of the ChangeLog files in GnuPG. Starting on
|
||||
December 1st, 2011 we put change information only in the GIT commit
|
||||
log, and generate a top-level ChangeLog file from logs at "make dist"
|
||||
time. As such, there are strict requirements on the form of the
|
||||
commit log messages. The old ChangeLog files have all be renamed to
|
||||
ChangeLog-2011
|
||||
|
||||
** Commit log requirements
|
||||
|
||||
Your commit log should always start with a one-line summary, the
|
||||
second line should be blank, and the remaining lines are usually
|
||||
ChangeLog-style entries for all affected files. However, it's fine
|
||||
--- even recommended --- to write a few lines of prose describing the
|
||||
change, when the summary and ChangeLog entries don't give enough of
|
||||
the big picture. Omit the leading TABs that you are seeing in a
|
||||
"real" ChangeLog file, but keep the maximum line length at 72 or
|
||||
smaller, so that the generated ChangeLog lines, each with its leading
|
||||
TAB, will not exceed 80 columns. If you want to add text which shall
|
||||
not be copied to the ChangeLog, separate it by a line consisting of
|
||||
two dashes at the begin of a line.
|
||||
|
||||
The one-line summary usually starts with a keyword to identify the
|
||||
mainly affected subsystem. If more than one keyword is required the
|
||||
are delimited by a comma (e.g. =scd,w32:=). Commonly found keywords
|
||||
are
|
||||
|
||||
- agent :: The gpg-agent component
|
||||
- build :: Changes to the build system
|
||||
- ccid :: The CCID driver in scdaemon
|
||||
- common :: Code in common
|
||||
- dirmngr :: The dirmngr component
|
||||
- doc :: Documentation changes
|
||||
- gpg :: The gpg or gpgv components
|
||||
- sm :: The gpgsm component (also "gpgsm")
|
||||
- gpgscm :: The regression test driver
|
||||
- indent :: Indentation and similar changes
|
||||
- iobuf :: The IOBUF system in common
|
||||
- po :: Translations
|
||||
- scd :: The scdaemon component
|
||||
- speedo :: Speedo build system specific changes
|
||||
- ssh :: The ssh-agent part of the agent
|
||||
- tests :: The regressions tests
|
||||
- tools :: Other code in tools
|
||||
- w32 :: Windows related code
|
||||
- wks :: The web key service tools
|
||||
- yat2m :: The yat2m tool.
|
||||
|
||||
Typo fixes and documentation updates don't need a ChangeLog entry;
|
||||
thus you would use a commit message like
|
||||
|
||||
#+begin_example
|
||||
doc: Fix typo in a comment
|
||||
|
||||
--
|
||||
#+end_example
|
||||
|
||||
The marker line here is important; without it the first line would
|
||||
appear in the ChangeLog.
|
||||
|
||||
If you exceptionally need to have longer lines in a commit log you may
|
||||
do this after this scissor line:
|
||||
#+begin_example
|
||||
# ------------------------ >8 ------------------------
|
||||
#+end_example
|
||||
(hash, blank, 24 dashes, blank, scissor, blank, 24 dashes).
|
||||
Note that such a comment will be removed if the git commit option
|
||||
=--cleanup=scissor= is used.
|
||||
|
||||
** License policy
|
||||
|
||||
GnuPG is licensed under the GPLv3+ with some files under a mixed
|
||||
LGPLv3+/GPLv2+ license. It is thus important, that all contributed
|
||||
code allows for an update of the license; for example we can't
|
||||
accept code under the GPLv2(only).
|
||||
|
||||
GnuPG used to have a strict policy of requiring copyright
|
||||
assignments to the FSF. To avoid this major organizational overhead
|
||||
and to allow inclusion of code, not copyrighted by the FSF, this
|
||||
policy has been relaxed on 2013-03-29. It is now also possible to
|
||||
contribute code by asserting that the contribution is in accordance
|
||||
to the "Libgcrypt Developer's Certificate of Origin" as found in the
|
||||
file "DCO". (Except for a slight wording change, this DCO is
|
||||
identical to the one used by the Linux kernel.)
|
||||
|
||||
If you want to contribute code or documentation to GnuPG and you
|
||||
didn't sign a copyright assignment with the FSF in the past, you
|
||||
need to take these simple steps:
|
||||
|
||||
- Decide which mail address you want to use. Please have your real
|
||||
name in the address and not a pseudonym. Anonymous contributions
|
||||
can only be done if you find a proxy who certifies for you.
|
||||
|
||||
- If your employer or school might claim ownership of code written
|
||||
by you; you need to talk to them to make sure that you have the
|
||||
right to contribute under the DCO.
|
||||
|
||||
- Send an OpenPGP signed mail to the gnupg-devel@gnupg.org mailing
|
||||
list from your mail address. Include a copy of the DCO as found
|
||||
in the official master branch. Insert your name and email address
|
||||
into the DCO in the same way you want to use it later. Example:
|
||||
|
||||
Signed-off-by: Joe R. Hacker <joe@example.org>
|
||||
|
||||
(If you really need it, you may perform simple transformations of
|
||||
the mail address: Replacing "@" by " at " or "." by " dot ".)
|
||||
|
||||
- That's it. From now on you only need to add a "Signed-off-by:"
|
||||
line with your name and mail address to the commit message. It is
|
||||
recommended to send the patches using a PGP/MIME signed mail.
|
||||
|
||||
** Coding standards
|
||||
|
||||
Please follow the GNU coding standards. If you are in doubt consult
|
||||
the existing code as an example. Do no re-indent code without a
|
||||
need. If you really need to do it, use a separate commit for such a
|
||||
change.
|
||||
|
||||
- Only certain C99 features may be used (see below); in general
|
||||
stick to C90.
|
||||
- Please do not use C++ =//= style comments.
|
||||
- Do not use comments like:
|
||||
#+begin_src
|
||||
if (foo)
|
||||
/* Now that we know that foo is true we can call bar. */
|
||||
bar ();
|
||||
#+end_src
|
||||
instead write the comment on the if line or before it. You may
|
||||
also use a block and put the comment inside.
|
||||
- Please use asterisks on the left of longer comments. This makes
|
||||
it easier to read without syntax highlighting, on printouts, and
|
||||
for blind people.
|
||||
- Try to fit lines into 80 columns.
|
||||
- Ignore signed/unsigned pointer mismatches
|
||||
- No arithmetic on void pointers; cast to char* first.
|
||||
- Do not use
|
||||
#+begin_src
|
||||
if ( 42 == foo )
|
||||
#+end_src
|
||||
this is harder to read and modern compilers are pretty good in
|
||||
detecing accidential assignments. It is also suggested not to
|
||||
compare to 0 or NULL but to test the value direct or with a '!';
|
||||
this makes it easier to see that a boolean test is done.
|
||||
- We use our own printf style functions like =es_printf=, and
|
||||
=gpgrt_asprintf= (or the =es_asprintf= macro) which implement most
|
||||
C99 features with the exception of =wchar_t= (which should anyway
|
||||
not be used). Please use them always and do not resort to those
|
||||
provided by libc. The rationale for using them is that we know
|
||||
that the format specifiers work on all platforms and that we do
|
||||
not need to chase platform dependent bugs. Note also that in
|
||||
gnupg asprintf is a macro already evaluating to gpgrt_asprintf.
|
||||
- It is common to have a label named "leave" for a function's
|
||||
cleanup and return code. This helps with freeing memory and is a
|
||||
convenient location to set a breakpoint for debugging.
|
||||
- Always use xfree() instead of free(). If it is not easy to see
|
||||
that the freed variable is not anymore used, explicitly set the
|
||||
variable to NULL.
|
||||
- New code shall in general use xtrymalloc or xtrycalloc and check
|
||||
for an error (use gpg_error_from_syserror()).
|
||||
- Init function local variables only if needed so that the compiler
|
||||
can do a better job in detecting uninitialized variables which may
|
||||
indicate a problem with the code.
|
||||
- Never init static or file local variables to 0 to make sure they
|
||||
end up in BSS.
|
||||
- Put extra parenthesis around terms with binary operators to make
|
||||
it clear that the binary operator was indeed intended.
|
||||
- Use --enable-maintainer-mode with configure so that all suitable
|
||||
warnings are enabled.
|
||||
|
||||
** Variable names
|
||||
|
||||
Follow the GNU standards. Here are some conventions you may want to
|
||||
stick to (do not rename existing "wrong" uses without a goog
|
||||
reason).
|
||||
|
||||
- err :: This conveys an error code of type =gpg_error_t= which is
|
||||
compatible to an =int=. To compare such a variable to a
|
||||
GPG_ERR_ constant, it is necessary to map the value like
|
||||
this: =gpg_err_code(err)=.
|
||||
- ec :: This is used for a gpg-error code which has no source part
|
||||
(=gpg_err_code_t=) and will eventually be used as input to
|
||||
=gpg_err_make=.
|
||||
- rc :: Used for all kind of other errors; for example system
|
||||
calls. The value is not compatible with gpg-error.
|
||||
|
||||
|
||||
*** C99 language features
|
||||
|
||||
In GnuPG 2.x, but *not in 1.4* and not in most libraries, a limited
|
||||
set of C99 features may be used:
|
||||
|
||||
- Variadic macros:
|
||||
: #define foo(a,...) bar(a, __VA_ARGS__)
|
||||
|
||||
- The predefined macro =__func__=:
|
||||
: log_debug ("%s: Problem with foo\n", __func__);
|
||||
|
||||
- Variable declaration inside a for():
|
||||
: for (int i = 0; i < 5; ++)
|
||||
: bar (i);
|
||||
|
||||
Although we usually make use of the =u16=, =u32=, and =u64= types,
|
||||
it is also possible to include =<stdint.h>= and use =int16_t=,
|
||||
=int32_t=, =int64_t=, =uint16_t=, =uint32_t=, and =uint64_t=. But do
|
||||
not use =int8_t= or =uint8_t=.
|
||||
|
||||
** Commit log keywords
|
||||
|
||||
- GnuPG-bug-id :: Values are comma or space delimited bug numbers
|
||||
from bug.gnupg.org pertaining to this commit.
|
||||
- Debian-bug-id :: Same as above but from the Debian bug tracker.
|
||||
- CVE-id :: CVE id number pertaining to this commit.
|
||||
- Regression-due-to :: Commit id of the regression fixed by this commit.
|
||||
- Fixes-commit :: Commit id this commit fixes.
|
||||
- Updates-commit :: Commit id this commit updates.
|
||||
- Reported-by :: Value is a name or mail address of a bug reporte.
|
||||
- Suggested-by :: Value is a name or mail address of someone how
|
||||
suggested this change.
|
||||
- Co-authored-by :: Name or mail address of a co-author
|
||||
- Some-comments-by :: Name or mail address of the author of
|
||||
additional comments (commit log or code).
|
||||
- Proofread-by :: Sometimes used by translation commits.
|
||||
- Signed-off-by :: Name or mail address of the developer
|
||||
|
||||
* Windows
|
||||
** How to build an installer for Windows
|
||||
|
||||
Your best bet is to use a decent Debian System for development.
|
||||
You need to install a long list of tools for building. This list
|
||||
still needs to be compiled. However, the build process will stop
|
||||
if a tool is missing. GNU make is required (on non GNU systems
|
||||
often installed as "gmake"). The installer requires a couple of
|
||||
extra software to be available either as tarballs or as local git
|
||||
repositories. In case this file here is part of a gnupg-w32-2.*.xz
|
||||
complete tarball as distributed from the same place as a binary
|
||||
installer, all such tarballs are already included.
|
||||
|
||||
Cd to the GnuPG source directory and use one of one of these
|
||||
command:
|
||||
|
||||
- If sources are included (gnupg-w32-*.tar.xz)
|
||||
|
||||
make -f build-aux/speedo.mk WHAT=this installer
|
||||
|
||||
- To build from tarballs
|
||||
|
||||
make -f build-aux/speedo.mk WHAT=release TARBALLS=TARDIR installer
|
||||
|
||||
- To build from local GIT repos
|
||||
|
||||
make -f build-aux/speedo.mk WHAT=git TARBALLS=TARDIR installer
|
||||
|
||||
Note that also you need to supply tarballs with supporting
|
||||
libraries even if you build from git. The makefile expects only
|
||||
the core GnuPG software to be available as local GIT repositories.
|
||||
speedo.mk has the versions of the tarballs and the branch names of
|
||||
the git repositories. In case of problems, don't hesitate to ask
|
||||
on the gnupg-devel mailing for help.
|
||||
|
||||
* Debug hints
|
||||
|
||||
See the manual for some hints.
|
||||
|
||||
* Standards
|
||||
** RFCs
|
||||
|
||||
1423 Privacy Enhancement for Internet Electronic Mail:
|
||||
Part III: Algorithms, Modes, and Identifiers.
|
||||
|
||||
1489 Registration of a Cyrillic Character Set.
|
||||
|
||||
1750 Randomness Recommendations for Security.
|
||||
|
||||
1991 PGP Message Exchange Formats (obsolete)
|
||||
|
||||
2144 The CAST-128 Encryption Algorithm.
|
||||
|
||||
2279 UTF-8, a transformation format of ISO 10646.
|
||||
|
||||
2440 OpenPGP (obsolete).
|
||||
|
||||
3156 MIME Security with Pretty Good Privacy (PGP).
|
||||
|
||||
4880 Current OpenPGP specification.
|
||||
|
||||
6337 Elliptic Curve Cryptography (ECC) in OpenPGP
|
||||
|
||||
* Various information
|
||||
|
||||
** Directory Layout
|
||||
|
||||
- ./ :: Readme, configure
|
||||
- ./agent :: Gpg-agent and related tools
|
||||
- ./doc :: Documentation
|
||||
- ./g10 :: Gpg program here called gpg2
|
||||
- ./sm :: Gpgsm program
|
||||
- ./jnlib :: Not used (formerly used utility functions)
|
||||
- ./common :: Utility functions
|
||||
- ./kbx :: Keybox library
|
||||
- ./scd :: Smartcard daemon
|
||||
- ./scripts :: Scripts needed by configure and others
|
||||
- ./dirmngr :: The directory manager
|
||||
|
||||
** Detailed Roadmap
|
||||
|
||||
This list of files is not up to date!
|
||||
|
||||
- g10/gpg.c :: Main module with option parsing and all the stuff you
|
||||
have to do on startup. Also has the exit handler and
|
||||
some helper functions.
|
||||
|
||||
- g10/parse-packet.c ::
|
||||
- g10/build-packet.c ::
|
||||
- g10/free-packet.c :: Parsing and creating of OpenPGP message packets.
|
||||
|
||||
- g10/getkey.c :: Key selection code
|
||||
- g10/pkclist.c :: Build a list of public keys
|
||||
- g10/skclist.c :: Build a list of secret keys
|
||||
- g10/keyring.c :: Keyring access functions
|
||||
- g10/keydb.h ::
|
||||
|
||||
- g10/keyid.c :: Helper functions to get the keyid, fingerprint etc.
|
||||
|
||||
- g10/trustdb.c :: Web-of-Trust computations
|
||||
- g10/trustdb.h ::
|
||||
- g10/tdbdump.c :: Export/import/list the trustdb.gpg
|
||||
- g10/tdbio.c :: I/O handling for the trustdb.gpg
|
||||
- g10/tdbio.h ::
|
||||
|
||||
- g10/compress.c :: Filter to handle compression
|
||||
- g10/filter.h :: Declarations for all filter functions
|
||||
- g10/delkey.c :: Delete a key
|
||||
- g10/kbnode.c :: Helper for the kbnode_t linked list
|
||||
- g10/main.h :: Prototypes and some constants
|
||||
- g10/mainproc.c :: Message processing
|
||||
- g10/armor.c :: Ascii armor filter
|
||||
- g10/mdfilter.c :: Filter to calculate hashs
|
||||
- g10/textfilter.c :: Filter to handle CR/LF and trailing white space
|
||||
- g10/cipher.c :: En-/Decryption filter
|
||||
- g10/misc.c :: Utility functions
|
||||
- g10/options.h :: Structure with all the command line options
|
||||
and related constants
|
||||
- g10/openfile.c :: Create/Open Files
|
||||
- g10/keyserver.h :: Keyserver access dispatcher.
|
||||
- g10/packet.h :: Definition of OpenPGP structures.
|
||||
- g10/passphrase.c :: Passphrase handling code
|
||||
|
||||
- g10/pubkey-enc.c :: Process a public key encoded packet.
|
||||
- g10/seckey-cert.c :: Not anymore used
|
||||
- g10/seskey.c :: Make session keys etc.
|
||||
- g10/import.c :: Import keys into our key storage.
|
||||
- g10/export.c :: Export keys to the OpenPGP format.
|
||||
- g10/sign.c :: Create signature and optionally encrypt.
|
||||
- g10/plaintext.c :: Process plaintext packets.
|
||||
- g10/decrypt-data.c :: Decrypt an encrypted data packet
|
||||
- g10/encrypt.c :: Main encryption driver
|
||||
- g10/revoke.c :: Create recovation certificates.
|
||||
- g10/keylist.c :: Print information about OpenPGP keys
|
||||
- g10/sig-check.c :: Check a signature
|
||||
- g10/helptext.c :: Show online help texts
|
||||
- g10/verify.c :: Verify signed data.
|
||||
- g10/decrypt.c :: Decrypt and verify data.
|
||||
- g10/keyedit.c :: Edit properties of a key.
|
||||
- g10/dearmor.c :: Armor utility.
|
||||
- g10/keygen.c :: Generate a key pair
|
||||
|
||||
** Memory allocation
|
||||
|
||||
Use only the functions:
|
||||
|
||||
- xmalloc
|
||||
- xmalloc_secure
|
||||
- xtrymalloc
|
||||
- xtrymalloc_secure
|
||||
- xcalloc
|
||||
- xcalloc_secure
|
||||
- xtrycalloc
|
||||
- xtrycalloc_secure
|
||||
- xrealloc
|
||||
- xtryrealloc
|
||||
- xstrdup
|
||||
- xtrystrdup
|
||||
- xfree
|
||||
|
||||
|
||||
The *secure versions allocate memory in the secure memory. That is,
|
||||
swapping out of this memory is avoided and is gets overwritten on
|
||||
free. Use this for passphrases, session keys and other sensitive
|
||||
material. This memory set aside for secure memory is linited to a few
|
||||
k. In general the function don't print a memeory message and
|
||||
terminate the process if there is not enough memory available. The
|
||||
"try" versions of the functions return NULL instead.
|
||||
|
||||
** Logging
|
||||
|
||||
TODO
|
||||
|
||||
** Option parsing
|
||||
|
||||
GnuPG does not use getopt or GNU getopt but functions of it's own.
|
||||
See util/argparse.c for details. The advantage of these functions is
|
||||
that it is more easy to display and maintain the help texts for the
|
||||
options. The same option table is also used to parse resource files.
|
||||
|
||||
** What is an IOBUF
|
||||
|
||||
This is the data structure used for most I/O of gnupg. It is similar
|
||||
to System V Streams but much simpler. Because OpenPGP messages are
|
||||
nested in different ways; the use of such a system has big advantages.
|
||||
Here is an example, how it works: If the parser sees a packet header
|
||||
with a partial length, it pushes the block_filter onto the IOBUF to
|
||||
handle these partial length packets: from now on you don't have to
|
||||
worry about this. When it sees a compressed packet it pushes the
|
||||
uncompress filter and the next read byte is one which has already been
|
||||
uncompressed by this filter. Same goes for enciphered packet,
|
||||
plaintext packets and so on. The file g10/encode.c might be a good
|
||||
starting point to see how it is used - actually this is the other way:
|
||||
constructing messages using pushed filters but it may be easier to
|
||||
understand.
|
||||
|
||||
|
83
msys2/usr/share/doc/gnupg/KEYSERVER
Normal file
83
msys2/usr/share/doc/gnupg/KEYSERVER
Normal file
|
@ -0,0 +1,83 @@
|
|||
Format of keyserver colon listings
|
||||
==================================
|
||||
|
||||
David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
The machine readable response begins with an optional information
|
||||
line:
|
||||
|
||||
info:<version>:<count>
|
||||
|
||||
<version> = this is the version of this protocol. Currently, this is
|
||||
the number 1.
|
||||
|
||||
<count> = the number of keys returned in this response. Note this is
|
||||
the number of keys, and not the number of lines returned.
|
||||
It should match the number of "pub:" lines returned.
|
||||
|
||||
If this optional line is not included, or the version information is
|
||||
not supplied, the version number is assumed to be 1.
|
||||
|
||||
The key listings are made up of several lines per key. The first line
|
||||
is for the primary key:
|
||||
|
||||
pub:<fingerprint>:<algo>:<keylen>:<creationdate>:<expirationdate>:<flags>
|
||||
|
||||
<fingerprint> = this is either the fingerprint or the keyid of the
|
||||
key. Either the 16-digit or 8-digit keyids are
|
||||
acceptable, but obviously the fingerprint is best.
|
||||
Since it is not possible to calculate the keyid from a
|
||||
V3 key fingerprint, for V3 keys this should be either
|
||||
the 16-digit or 8-digit keyid only.
|
||||
|
||||
<algo> = the algorithm number from RFC-2440. (i.e. 1==RSA, 17==DSA,
|
||||
etc).
|
||||
|
||||
<keylen> = the key length (i.e. 1024, 2048, 4096, etc.)
|
||||
|
||||
<creationdate> = creation date of the key in standard RFC-2440 form
|
||||
(i.e. number of seconds since 1/1/1970 UTC time)
|
||||
|
||||
<expirationdate> = expiration date of the key in standard RFC-2440
|
||||
form (i.e. number of seconds since 1/1/1970 UTC time)
|
||||
|
||||
<flags> = letter codes to indicate details of the key, if any. Flags
|
||||
may be in any order.
|
||||
|
||||
r == revoked
|
||||
d == disabled
|
||||
e == expired
|
||||
|
||||
Following the "pub" line are one or more "uid" lines to indicate user
|
||||
IDs on the key:
|
||||
|
||||
uid:<escaped uid string>:<creationdate>:<expirationdate>:<flags>
|
||||
|
||||
<escaped uid string> == the user ID string, with HTTP %-escaping for
|
||||
anything that isn't 7-bit safe as well as for
|
||||
the ":" character. Any other characters may
|
||||
be escaped, as desired.
|
||||
|
||||
creationdate, expirationdate, and flags mean the same here as before.
|
||||
The information is taken from the self-sig, if any, and applies to the
|
||||
user ID in question, and not to the key as a whole.
|
||||
|
||||
Details:
|
||||
|
||||
* All characters except for the <escaped uid string> are
|
||||
case-insensitive.
|
||||
|
||||
* Obviously, on a keyserver without integrated crypto, many of the
|
||||
items given here are not fully trustworthy until the key is
|
||||
downloaded and signatures checked. For example, the information
|
||||
that a key is flagged "r" for revoked should be treated as
|
||||
untrustworthy information until the key is checked on the client
|
||||
side.
|
||||
|
||||
* Empty fields are allowed. For example, a key with no expiration
|
||||
date would have the <expirationdate> field empty. Also, a keyserver
|
||||
that does not track a particular piece of information may leave that
|
||||
field empty as well. I expect that the creation and expiration
|
||||
dates for user IDs will be left empty in current keyservers. Colons
|
||||
for empty fields on the end of each line may be left off, if
|
||||
desired.
|
116
msys2/usr/share/doc/gnupg/OpenPGP
Normal file
116
msys2/usr/share/doc/gnupg/OpenPGP
Normal file
|
@ -0,0 +1,116 @@
|
|||
GnuPG and OpenPGP
|
||||
=================
|
||||
|
||||
See RFC-4880 for a description of OpenPGP. These notes are older
|
||||
than RFC-4880 and refer to the predecessor of the specs (RFC-2440).
|
||||
|
||||
|
||||
Compatibility Notes
|
||||
===================
|
||||
GnuPG (>=1.0.3) is in compliance with RFC2440 despite these exceptions:
|
||||
|
||||
* With GnuPG >= 2.1.0 all support for version 3 keys has been
|
||||
removed. Thus there is no more compatibility with PGP-2. Users
|
||||
who need to be able to decrypt old PGP 2 messages should use
|
||||
GnuPG 1.4.x along with the option --allow-weak-digest-algos.
|
||||
|
||||
* With GnuPG >= 2.1.0 all signatures (on messages and keys) are
|
||||
created using version 4 signatures. Support for verifying
|
||||
version 3 signature is still available.
|
||||
|
||||
* (9.2) states that IDEA SHOULD be implemented. This is not done
|
||||
due to patent problems.
|
||||
UPDATE: Since version 1.4.13 (or GnuPG 2.x with Libgcrypt 1.6)
|
||||
IDEA support has been added to allow decryption of old
|
||||
PGP-2 encrypted material.
|
||||
|
||||
All MAY features are implemented with this exception:
|
||||
|
||||
* multi-part armored messages are not supported.
|
||||
MIME (rfc2015) should be used instead.
|
||||
|
||||
Most of the OPTIONAL stuff is implemented.
|
||||
|
||||
There are a couple of options which can be used to override some
|
||||
RFC requirements. This is always mentioned with the description
|
||||
of that options.
|
||||
|
||||
A special format of partial packet length exists for v3 packets
|
||||
which can be considered to be in compliance with RFC1991; this
|
||||
format is only created if a special option is active.
|
||||
UPDATE: This support has been removed with version 1.3.6.
|
||||
|
||||
GnuPG uses a S2K mode of 101 for GNU extensions to the secret key
|
||||
protection algorithms. This number is not defined in OpenPGP, but
|
||||
given that this number is in a range which is used at many other
|
||||
places in OpenPGP for private/experimental algorithm identifiers,
|
||||
this should be not a too bad choice. The 3 bytes "GNU" are used to
|
||||
identify this as a GNU extension - see the file DETAILS for a
|
||||
definition of the used data formats.
|
||||
|
||||
|
||||
Some Notes on OpenPGP / PGP Compatibility:
|
||||
==========================================
|
||||
|
||||
* PGP 5.x does not accept V4 signatures for anything other than
|
||||
key material. The GnuPG option --force-v3-sigs mimics this
|
||||
behavior.
|
||||
|
||||
* PGP 5.x does not recognize the "five-octet" lengths in
|
||||
new-format headers or in signature subpacket lengths.
|
||||
|
||||
* PGP 5.0 rejects an encrypted session key if the keylength
|
||||
differs from the S2K symmetric algorithm. This is a bug in its
|
||||
validation function.
|
||||
|
||||
* PGP 5.0 does not handle multiple one-pass signature headers and
|
||||
trailers. Signing one will compress the one-pass signed literal
|
||||
and prefix a V3 signature instead of doing a nested one-pass
|
||||
signature.
|
||||
|
||||
* When exporting a private key, PGP 2.x generates the header
|
||||
"BEGIN PGP SECRET KEY BLOCK" instead of "BEGIN PGP PRIVATE KEY
|
||||
BLOCK". All previous versions ignore the implied data type, and
|
||||
look directly at the packet data type.
|
||||
|
||||
* In a clear-signed signature, PGP 5.0 will figure out the correct
|
||||
hash algorithm if there is no "Hash:" header, but it will reject
|
||||
a mismatch between the header and the actual algorithm used. The
|
||||
"standard" (i.e. Zimmermann/Finney/et al.) version of PGP 2.x
|
||||
rejects the "Hash:" header and assumes MD5. There are a number
|
||||
of enhanced variants of PGP 2.6.x that have been modified for
|
||||
SHA-1 signatures.
|
||||
|
||||
* PGP 5.0 can read an RSA key in V4 format, but can only recognize
|
||||
it with a V3 keyid, and can properly use only a V3 format RSA
|
||||
key.
|
||||
|
||||
* Neither PGP 5.x nor PGP 6.0 recognize ElGamal Encrypt and Sign
|
||||
keys. They only handle ElGamal Encrypt-only keys.
|
||||
|
||||
|
||||
Parts of this document are taken from:
|
||||
======================================
|
||||
|
||||
OpenPGP Message Format
|
||||
draft-ietf-openpgp-formats-07.txt
|
||||
|
||||
|
||||
Copyright 1998 by The Internet Society. All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished to
|
||||
others, and derivative works that comment on or otherwise explain it
|
||||
or assist in its implementation may be prepared, copied, published
|
||||
and distributed, in whole or in part, without restriction of any
|
||||
kind, provided that the above copyright notice and this paragraph
|
||||
are included on all such copies and derivative works. However, this
|
||||
document itself may not be modified in any way, such as by removing
|
||||
the copyright notice or references to the Internet Society or other
|
||||
Internet organizations, except as needed for the purpose of
|
||||
developing Internet standards in which case the procedures for
|
||||
copyrights defined in the Internet Standards process must be
|
||||
followed, or as required to translate it into languages other than
|
||||
English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not be
|
||||
revoked by the Internet Society or its successors or assigns.
|
258
msys2/usr/share/doc/gnupg/README
Normal file
258
msys2/usr/share/doc/gnupg/README
Normal file
|
@ -0,0 +1,258 @@
|
|||
The GNU Privacy Guard 2
|
||||
=========================
|
||||
Version 2.2
|
||||
|
||||
Copyright 1997-2019 Werner Koch
|
||||
Copyright 1998-2019 Free Software Foundation, Inc.
|
||||
|
||||
|
||||
* INTRODUCTION
|
||||
|
||||
GnuPG is a complete and free implementation of the OpenPGP standard
|
||||
as defined by RFC4880 (also known as PGP). GnuPG enables encryption
|
||||
and signing of data and communication, and features a versatile key
|
||||
management system as well as access modules for public key
|
||||
directories.
|
||||
|
||||
GnuPG, also known as GPG, is a command line tool with features for
|
||||
easy integration with other applications. A wealth of frontend
|
||||
applications and libraries are available that make use of GnuPG.
|
||||
Starting with version 2 GnuPG provides support for S/MIME and Secure
|
||||
Shell in addition to OpenPGP.
|
||||
|
||||
GnuPG is Free Software (meaning that it respects your freedom). It
|
||||
can be freely used, modified and distributed under the terms of the
|
||||
GNU General Public License.
|
||||
|
||||
Note that the 2.0 series of GnuPG reached end-of-life on 2017-12-31.
|
||||
It is not possible to install a 2.2.x version along with any 2.0.x
|
||||
version.
|
||||
|
||||
* BUILD INSTRUCTIONS
|
||||
|
||||
GnuPG 2.2 depends on the following GnuPG related packages:
|
||||
|
||||
npth (https://gnupg.org/ftp/gcrypt/npth/)
|
||||
libgpg-error (https://gnupg.org/ftp/gcrypt/libgpg-error/)
|
||||
libgcrypt (https://gnupg.org/ftp/gcrypt/libgcrypt/)
|
||||
libksba (https://gnupg.org/ftp/gcrypt/libksba/)
|
||||
libassuan (https://gnupg.org/ftp/gcrypt/libassuan/)
|
||||
|
||||
You should get the latest versions of course, the GnuPG configure
|
||||
script complains if a version is not sufficient.
|
||||
|
||||
For some advanced features several other libraries are required.
|
||||
The configure script prints diagnostic messages if one of these
|
||||
libraries is not available and a feature will not be available..
|
||||
|
||||
You also need the Pinentry package for most functions of GnuPG;
|
||||
however it is not a build requirement. Pinentry is available at
|
||||
https://gnupg.org/ftp/gcrypt/pinentry/ .
|
||||
|
||||
After building and installing the above packages in the order as
|
||||
given above, you may continue with GnuPG installation (you may also
|
||||
just try to build GnuPG to see whether your already installed
|
||||
versions are sufficient).
|
||||
|
||||
As with all packages, you just have to do
|
||||
|
||||
./configure
|
||||
make
|
||||
make check
|
||||
make install
|
||||
|
||||
The "make check" is optional but highly recommended. To run even
|
||||
more tests you may add "--enable-all-tests" to the configure run.
|
||||
Before running the "make install" you might need to become root.
|
||||
|
||||
If everything succeeds, you have a working GnuPG with support for
|
||||
OpenPGP, S/MIME, ssh-agent, and smartcards. Note that there is no
|
||||
binary gpg but a gpg2 so that this package won't conflict with a
|
||||
GnuPG 1.4 installation. gpg2 behaves just like gpg.
|
||||
|
||||
In case of problem please ask on the gnupg-users@gnupg.org mailing
|
||||
list for advise.
|
||||
|
||||
Instruction on how to build for Windows can be found in the file
|
||||
doc/HACKING in the section "How to build an installer for Windows".
|
||||
This requires some experience as developer.
|
||||
|
||||
Note that the PKITS tests are always skipped unless you copy the
|
||||
PKITS test data file into the tests/pkits directory. There is no
|
||||
need to run these test and some of them may even fail because the
|
||||
test scripts are not yet complete.
|
||||
|
||||
You may run
|
||||
|
||||
gpgconf --list-dirs
|
||||
|
||||
to view the default directories used by GnuPG.
|
||||
|
||||
To quickly build all required software without installing it, the
|
||||
Speedo method may be used:
|
||||
|
||||
make -f build-aux/speedo.mk native
|
||||
|
||||
This method downloads all required libraries and does a native build
|
||||
of GnuPG to PLAY/inst/. GNU make is required and you need to set
|
||||
LD_LIBRARY_PATH to $(pwd)/PLAY/inst/lib to test the binaries.
|
||||
|
||||
** Specific build problems on some machines:
|
||||
|
||||
*** Apple OSX 10.x using XCode
|
||||
|
||||
On some versions the correct location of a header file can't be
|
||||
detected by configure. To fix that you should run configure like
|
||||
this
|
||||
|
||||
./configure gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
Add other options as needed.
|
||||
|
||||
|
||||
*** Systems without a full C99 compiler
|
||||
|
||||
If you run into problems with your compiler complaining about dns.c
|
||||
you may use
|
||||
|
||||
./configure --disable-libdns
|
||||
|
||||
Add other options as needed.
|
||||
|
||||
* MIGRATION from 1.4 or 2.0 to 2.2
|
||||
|
||||
The major change in 2.2 is gpg-agent taking care of the OpenPGP
|
||||
secret keys (those managed by GPG). The former file "secring.gpg"
|
||||
will not be used anymore. Newly generated keys are stored in the
|
||||
agent's key store directory "~/.gnupg/private-keys-v1.d/". The
|
||||
first time gpg needs a secret key it checks whether a "secring.gpg"
|
||||
exists and copies them to the new store. The old secring.gpg is
|
||||
kept for use by older versions of gpg.
|
||||
|
||||
Note that gpg-agent now uses a fixed socket. All tools will start
|
||||
the gpg-agent as needed. The formerly used environment variable
|
||||
GPG_AGENT_INFO is ignored by 2.2. The SSH_AUTH_SOCK environment
|
||||
variable should be set to a fixed value.
|
||||
|
||||
The Dirmngr is now part of GnuPG proper and also used to access
|
||||
OpenPGP keyservers. The directory layout of Dirmngr changed to make
|
||||
use of the GnuPG directories. Dirmngr is started by gpg or gpgsm as
|
||||
needed. There is no more need to install a separate Dirmngr package.
|
||||
|
||||
All changes introduced with GnuPG 2.2 have been developed in the 2.1
|
||||
series of releases. See the respective entries in the file NEWS.
|
||||
|
||||
* RECOMMENDATIONS
|
||||
|
||||
** Socket directory
|
||||
|
||||
GnuPG uses Unix domain sockets to connect its components (on Windows
|
||||
an emulation of these sockets is used). Depending on the type of
|
||||
the file system, it is sometimes not possible to use the GnuPG home
|
||||
directory (i.e. ~/.gnupg) as the location for the sockets. To solve
|
||||
this problem GnuPG prefers the use of a per-user directory below the
|
||||
the /run (or /var/run) hierarchy for the the sockets. It is thus
|
||||
suggested to create per-user directories on system or session
|
||||
startup. For example the following snippet can be used in
|
||||
/etc/rc.local to create these directories:
|
||||
|
||||
[ ! -d /run/user ] && mkdir /run/user
|
||||
awk -F: </etc/passwd '$3 >= 1000 && $3 < 65000 {print $3}' \
|
||||
| ( while read uid rest; do
|
||||
if [ ! -d "/run/user/$uid" ]; then
|
||||
mkdir /run/user/$uid
|
||||
chown $uid /run/user/$uid
|
||||
chmod 700 /run/user/$uid
|
||||
fi
|
||||
done )
|
||||
|
||||
* DOCUMENTATION
|
||||
|
||||
The complete documentation is in the texinfo manual named
|
||||
`gnupg.info'. Run "info gnupg" to read it. If you want a a
|
||||
printable copy of the manual, change to the "doc" directory and
|
||||
enter "make pdf" For a HTML version enter "make html" and point your
|
||||
browser to gnupg.html/index.html. Standard man pages for all
|
||||
components are provided as well. An online version of the manual is
|
||||
available at [[https://gnupg.org/documentation/manuals/gnupg/]] . A
|
||||
version of the manual pertaining to the current development snapshot
|
||||
is at [[https://gnupg.org/documentation/manuals/gnupg-devel/]] .
|
||||
|
||||
* Installing GnuPG 2.2. and GnuPG 1.4
|
||||
|
||||
GnuPG 2.2 is a current version of GnuPG with state of the art
|
||||
security design and many more features. To install both versions
|
||||
alongside, it is suggested to rename the 1.4 version of "gpg" to
|
||||
"gpg1" as well as the corresponding man page. Newer releases of the
|
||||
1.4 branch will likely do this by default. In case this is not
|
||||
possible, the 2.2 version can be installed under the name "gpg2"
|
||||
using the configure option --enable-gpg-is-gpg2.
|
||||
|
||||
* HOW TO GET MORE INFORMATION
|
||||
|
||||
A description of new features and changes since version 2.1 can be
|
||||
found in the file "doc/whats-new-in-2.1.txt" and online at
|
||||
"https://gnupg.org/faq/whats-new-in-2.1.html" .
|
||||
|
||||
The primary WWW page is "https://gnupg.org"
|
||||
or using Tor "http://ic6au7wa3f6naxjq.onion"
|
||||
The primary FTP site is "https://gnupg.org/ftp/gcrypt/"
|
||||
|
||||
See [[https://gnupg.org/download/mirrors.html]] for a list of
|
||||
mirrors and use them if possible. You may also find GnuPG mirrored
|
||||
on some of the regular GNU mirrors.
|
||||
|
||||
We have some mailing lists dedicated to GnuPG:
|
||||
|
||||
gnupg-announce@gnupg.org For important announcements like new
|
||||
versions and such stuff. This is a
|
||||
moderated list and has very low traffic.
|
||||
Do not post to this list.
|
||||
|
||||
gnupg-users@gnupg.org For general user discussion and
|
||||
help (English).
|
||||
|
||||
gnupg-de@gnupg.org German speaking counterpart of
|
||||
gnupg-users.
|
||||
|
||||
gnupg-ru@gnupg.org Russian speaking counterpart of
|
||||
gnupg-users.
|
||||
|
||||
gnupg-devel@gnupg.org GnuPG developers main forum.
|
||||
|
||||
You subscribe to one of the list by sending mail with a subject of
|
||||
"subscribe" to x-request@gnupg.org, where x is the name of the
|
||||
mailing list (gnupg-announce, gnupg-users, etc.). See
|
||||
https://gnupg.org/documentation/mailing-lists.html for archives
|
||||
of the mailing lists.
|
||||
|
||||
Please direct bug reports to [[https://bugs.gnupg.org]] or post them
|
||||
direct to the mailing list <gnupg-devel@gnupg.org>.
|
||||
|
||||
Please direct questions about GnuPG to the users mailing list or one
|
||||
of the PGP newsgroups; please do not direct questions to one of the
|
||||
authors directly as we are busy working on improvements and bug
|
||||
fixes. The English and German mailing lists are watched by the
|
||||
authors and we try to answer questions when time allows us.
|
||||
|
||||
Commercial grade support for GnuPG is available; for a listing of
|
||||
offers see https://gnupg.org/service.html . Maintaining and
|
||||
improving GnuPG requires a lot of time. Since 2001, g10 Code GmbH,
|
||||
a German company owned and headed by GnuPG's principal author Werner
|
||||
Koch, is bearing the majority of these costs. To keep GnuPG in a
|
||||
healthy state, they need your support.
|
||||
|
||||
Please consider to donate at https://gnupg.org/donate/ .
|
||||
|
||||
|
||||
# This file is Free Software; as a special exception the authors gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. For conditions
|
||||
# of the whole package, please see the file COPYING. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# Local Variables:
|
||||
# mode:org
|
||||
# End:
|
61
msys2/usr/share/doc/gnupg/TRANSLATE
Normal file
61
msys2/usr/share/doc/gnupg/TRANSLATE
Normal file
|
@ -0,0 +1,61 @@
|
|||
$Id$
|
||||
|
||||
Note for translators
|
||||
--------------------
|
||||
|
||||
Some strings in GnuPG are for matching user input against. These
|
||||
strings can accept multiple values that mean essentially the same
|
||||
thing.
|
||||
|
||||
For example, the string "yes" in English is "sí" in Spanish. However,
|
||||
some users will type "si" (without the accent). To accommodate both
|
||||
users, you can translate the string "yes" as "sí|si". You can have
|
||||
any number of alternate matches separated by the | character like
|
||||
"sí|si|seguro".
|
||||
|
||||
The strings that can be handled in this way are of the form "yes|yes",
|
||||
(or "no|no", etc.) There should also be a comment in the .po file
|
||||
directing you to this file.
|
||||
|
||||
|
||||
Help files
|
||||
----------
|
||||
|
||||
GnuPG provides a little help feature (entering a ? on a prompt). This
|
||||
help used to be translated the usual way with gettext but it turned
|
||||
out that this is too inflexible and does for example not allow
|
||||
correcting little mistakes in the English text. For some newer features
|
||||
we require editable help files anyway and thus the existing help
|
||||
strings have been moved to plain text files names "help.LL.txt". We
|
||||
distribute these files and allow overriding them by files of that name
|
||||
in /etc/gnupg. The syntax of these files is documented in
|
||||
doc/help.txt. This is also the original we use to describe new
|
||||
possible online help keys. The source files are located in doc/ and
|
||||
need to be in encoded in UTF-8. Strings which require a translation
|
||||
are disabled like this
|
||||
|
||||
.#gpgsm.some.help-item
|
||||
This string is not translated.
|
||||
|
||||
After translation you should remove the hash mark so that the
|
||||
entry looks like.
|
||||
|
||||
.gpgsm.some.help-item
|
||||
This string has been translated.
|
||||
|
||||
The percent sign is not a special character and if there is something
|
||||
to watch out there will be a remark.
|
||||
|
||||
|
||||
|
||||
Sending new or updated translations
|
||||
-----------------------------------
|
||||
|
||||
Please note that we do not use the TP Robot but require that
|
||||
translations are to be send by mail to translations@gnupg.org. We
|
||||
also strongly advise to get subscribed to i18n@gnupg.org and request
|
||||
assistance if it is not clear on how to translate certain strings. A
|
||||
wrongly translated string may lead to a security problem.
|
||||
|
||||
A copyright disclaimer to the FSF is not anymore required since
|
||||
December 2012.
|
11
msys2/usr/share/doc/gnupg/examples/README
Normal file
11
msys2/usr/share/doc/gnupg/examples/README
Normal file
|
@ -0,0 +1,11 @@
|
|||
Files in this directory:
|
||||
|
||||
|
||||
scd-event A handler script used with scdaemon
|
||||
|
||||
trustlist.txt A list of trustworthy root certificates
|
||||
(Please check yourself whether you actually trust them)
|
||||
|
||||
gpgconf.conf A sample configuration file for gpgconf.
|
||||
|
||||
systemd-user Sample files for a Linux-only init system.
|
29
msys2/usr/share/doc/gnupg/examples/debug.prf
Normal file
29
msys2/usr/share/doc/gnupg/examples/debug.prf
Normal file
|
@ -0,0 +1,29 @@
|
|||
# debug.prf - Configure options for easier debugging -*- conf -*-
|
||||
#
|
||||
# Note that the actual debug options for each component need to be set
|
||||
# manually. Running the component with "--debug help" shows a list of
|
||||
# supported values. To watch the logs this command can be used:
|
||||
#
|
||||
# watchgnupg --time-only --force $(gpgconf --list-dirs socketdir)/S.log
|
||||
#
|
||||
|
||||
[gpg]
|
||||
log-file socket://
|
||||
verbose
|
||||
#debug ipc
|
||||
|
||||
[gpgsm]
|
||||
log-file socket://
|
||||
verbose
|
||||
#debug ipc
|
||||
|
||||
[gpg-agent]
|
||||
log-file socket://
|
||||
verbose
|
||||
#debug ipc
|
||||
#debug-pinentry
|
||||
|
||||
[dirmngr]
|
||||
log-file socket://
|
||||
verbose
|
||||
#debug ipc,dns
|
62
msys2/usr/share/doc/gnupg/examples/gpgconf.conf
Normal file
62
msys2/usr/share/doc/gnupg/examples/gpgconf.conf
Normal file
|
@ -0,0 +1,62 @@
|
|||
# gpgconf.conf - configuration for gpgconf
|
||||
#----------------------------------------------------------------------
|
||||
# This file is read by gpgconf(1) to setup defaults for all or
|
||||
# specified users and groups. It may be used to change the hardwired
|
||||
# defaults in gpgconf and to enforce certain values for the various
|
||||
# GnuPG related configuration files.
|
||||
#
|
||||
# Empty lines and comment lines, indicated by a hash mark as first non
|
||||
# white space character, are ignored. The line is separated by white
|
||||
# space into fields. The first field is used to match the user or
|
||||
# group and must start at the first column, the file is processed
|
||||
# sequential until a matching rule is found. A rule may contain
|
||||
# several lines; continuation lines are indicated by a indenting them.
|
||||
#
|
||||
# Syntax of a line:
|
||||
# <key>|WS <component> <option> ["["<flag>"]"] [<value>]
|
||||
#
|
||||
# Examples for the <key> field:
|
||||
# foo - Matches the user "foo".
|
||||
# foo: - Matches the user "foo".
|
||||
# foo:staff - Matches the user "foo" or the group "staff".
|
||||
# :staff - Matches the group "staff".
|
||||
# * - Matches any user.
|
||||
# All other variants are not defined and reserved for future use.
|
||||
#
|
||||
# <component> and <option> are as specified by gpgconf.
|
||||
# <flag> may be one of:
|
||||
# default - Delete the option so that the default is used.
|
||||
# no-change - Mark the field as non changeable by gpgconf.
|
||||
# change - Mark the field as changeable by gpgconf.
|
||||
#
|
||||
# Example file:
|
||||
#==========
|
||||
# :staff gpg-agent min-passphrase-len 6 [change]
|
||||
#
|
||||
# * gpg-agent min-passphrase-len [no-change] 8
|
||||
# gpg-agent min-passphrase-nonalpha [no-change] 1
|
||||
# gpg-agent max-passphrase-days [no-change] 700
|
||||
# gpg-agent enable-passphrase-history [no-change]
|
||||
# gpg-agent enforce-passphrase-constraints [default]
|
||||
# gpg-agent enforce-passphrase-constraints [no-change]
|
||||
# gpg-agent max-cache-ttl [no-change] 10800
|
||||
# gpg-agent max-cache-ttl-ssh [no-change] 10800
|
||||
# gpgsm enable-ocsp
|
||||
# gpg compliance [no-change]
|
||||
# gpgsm compliance [no-change]
|
||||
#===========
|
||||
# All users in the group "staff" are allowed to change the value for
|
||||
# --allow-mark-trusted; gpgconf's default is not to allow a change
|
||||
# through its interface. When "gpgconf --apply-defaults" is used,
|
||||
# "allow-mark-trusted" will get enabled and "min-passphrase-len" set
|
||||
# to 6. All other users are not allowed to change
|
||||
# "min-passphrase-len" and "allow-mark-trusted". When "gpgconf
|
||||
# --apply-defaults" is used for them, "min-passphrase-len" is set to
|
||||
# 8, "allow-mark-trusted" deleted from the config file and
|
||||
# "enable-ocsp" is put into the config file of gpgsm. The latter may
|
||||
# be changed by any user.
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
48
msys2/usr/share/doc/gnupg/examples/pwpattern.list
Normal file
48
msys2/usr/share/doc/gnupg/examples/pwpattern.list
Normal file
|
@ -0,0 +1,48 @@
|
|||
# pwpattern.list -*- default-generic -*-
|
||||
#
|
||||
# This is an example for a pattern file as used by gpg-check-pattern.
|
||||
# The file is line based with comment lines beginning on the *first*
|
||||
# position with a '#'. Empty lines and lines with just spaces are
|
||||
# ignored. The other lines may be verbatim patterns and match as they
|
||||
# are (trailing spaces are ignored) or extended regular expressions
|
||||
# indicated by a / in the first column and terminated by another / or
|
||||
# end of line. All comparisons are case insensitive.
|
||||
|
||||
# Reject the usual metavariables. Usual not required because
|
||||
# gpg-agent can be used to reject all passphrases shorter than 8
|
||||
# charactes.
|
||||
foo
|
||||
bar
|
||||
baz
|
||||
|
||||
# As well as very common passwords. Note that gpg-agent can be used
|
||||
# to reject them due to missing non-alpha characters.
|
||||
password
|
||||
passwort
|
||||
passphrase
|
||||
mantra
|
||||
test
|
||||
abc
|
||||
egal
|
||||
|
||||
# German number plates.
|
||||
/^[A-Z]{1,3}[ ]*-[ ]*[A-Z]{1,2}[ ]*[0-9]+/
|
||||
|
||||
# Dates (very limited, only ISO dates). */
|
||||
/^[012][0-9][0-9][0-9]-[012][0-9]-[0123][0-9]$/
|
||||
|
||||
# Arbitrary strings
|
||||
the quick brown fox jumps over the lazy dogs back
|
||||
no-password
|
||||
no password
|
||||
|
||||
12345678
|
||||
123456789
|
||||
1234567890
|
||||
87654321
|
||||
987654321
|
||||
0987654321
|
||||
qwertyuiop
|
||||
qwertzuiop
|
||||
asdfghjkl
|
||||
zxcvbnm
|
102
msys2/usr/share/doc/gnupg/examples/scd-event
Normal file
102
msys2/usr/share/doc/gnupg/examples/scd-event
Normal file
|
@ -0,0 +1,102 @@
|
|||
#!/bin/sh
|
||||
# Sample script for scdaemon event mechanism.
|
||||
|
||||
#exec >>/tmp/scd-event.log
|
||||
|
||||
PGM=scd-event
|
||||
|
||||
reader_port=
|
||||
old_code=0x0000
|
||||
new_code=0x0000
|
||||
status=
|
||||
|
||||
tick='`'
|
||||
prev=
|
||||
while [ $# -gt 0 ]; do
|
||||
arg="$1"
|
||||
case $arg in
|
||||
-*=*) optarg=$(echo "X$arg" | sed -e '1s/^X//' -e 's/[-_a-zA-Z0-9]*=//')
|
||||
;;
|
||||
*) optarg=
|
||||
;;
|
||||
esac
|
||||
if [ -n "$prev" ]; then
|
||||
eval "$prev=\$arg"
|
||||
prev=
|
||||
shift
|
||||
continue
|
||||
fi
|
||||
case $arg in
|
||||
--help|-h)
|
||||
cat <<EOF
|
||||
Usage: $PGM [options]
|
||||
$PGM is called by scdaemon on card reader status changes
|
||||
|
||||
Options:
|
||||
--reader-port N Reports change for port N
|
||||
--old-code 0xNNNN Previous status code
|
||||
--old-code 0xNNNN Current status code
|
||||
--status USABLE|ACTIVE|PRESENT|NOCARD
|
||||
Human readable status code
|
||||
|
||||
Environment:
|
||||
|
||||
GNUPGHOME=DIR Set to the active homedir
|
||||
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--reader-port)
|
||||
prev=reader_port
|
||||
;;
|
||||
--reader-port=*)
|
||||
reader_port="$optarg"
|
||||
;;
|
||||
--old-code)
|
||||
prev=old_code
|
||||
;;
|
||||
--old-code=*)
|
||||
old_code="$optarg"
|
||||
;;
|
||||
--new-code)
|
||||
prev=new_code
|
||||
;;
|
||||
--new-code=*)
|
||||
new_code="$optarg"
|
||||
;;
|
||||
--status)
|
||||
prev=status
|
||||
;;
|
||||
--new-code=*)
|
||||
status="$optarg"
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo "$PGM: invalid option $tick$arg'" >&2
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
if [ -n "$prev" ]; then
|
||||
echo "$PGM: argument missing for option $tick$prev'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat <<EOF
|
||||
========================
|
||||
port: $reader_port
|
||||
old-code: $old_code
|
||||
new-code: $new_code
|
||||
status: $status
|
||||
EOF
|
||||
|
||||
if [ x$status = xUSABLE ]; then
|
||||
gpg --batch --card-status 2>&1
|
||||
fi
|
||||
|
66
msys2/usr/share/doc/gnupg/examples/systemd-user/README
Normal file
66
msys2/usr/share/doc/gnupg/examples/systemd-user/README
Normal file
|
@ -0,0 +1,66 @@
|
|||
Socket-activated dirmngr and gpg-agent with systemd
|
||||
===================================================
|
||||
|
||||
When used on a GNU/Linux system supervised by systemd, you can ensure
|
||||
that the GnuPG daemons dirmngr and gpg-agent are launched
|
||||
automatically the first time they're needed, and shut down cleanly at
|
||||
session logout. This is done by enabling user services via
|
||||
socket-activation.
|
||||
|
||||
System distributors
|
||||
-------------------
|
||||
|
||||
The *.service and *.socket files (from this directory) should be
|
||||
placed in /usr/lib/systemd/user/ alongside other user-session services
|
||||
and sockets.
|
||||
|
||||
To enable socket-activated dirmngr for all accounts on the system,
|
||||
use:
|
||||
|
||||
systemctl --user --global enable dirmngr.socket
|
||||
|
||||
To enable socket-activated gpg-agent for all accounts on the system,
|
||||
use:
|
||||
|
||||
systemctl --user --global enable gpg-agent.socket
|
||||
|
||||
Additionally, you can enable socket-activated gpg-agent ssh-agent
|
||||
emulation for all accounts on the system with:
|
||||
|
||||
systemctl --user --global enable gpg-agent-ssh.socket
|
||||
|
||||
You can also enable restricted ("--extra-socket"-style) gpg-agent
|
||||
sockets for all accounts on the system with:
|
||||
|
||||
systemctl --user --global enable gpg-agent-extra.socket
|
||||
|
||||
Individual users
|
||||
----------------
|
||||
|
||||
A user on a system with systemd where this has not been installed
|
||||
system-wide can place these files in ~/.config/systemd/user/ to make
|
||||
them available.
|
||||
|
||||
If a given service isn't installed system-wide, or if it's installed
|
||||
system-wide but not globally enabled, individual users will still need
|
||||
to enable them. For example, to enable socket-activated dirmngr for
|
||||
all future sessions:
|
||||
|
||||
systemctl --user enable dirmngr.socket
|
||||
|
||||
To enable socket-activated gpg-agent with ssh support, do:
|
||||
|
||||
systemctl --user enable gpg-agent.socket gpg-agent-ssh.socket
|
||||
|
||||
These changes won't take effect until your next login after you've
|
||||
fully logged out (be sure to terminate any running daemons before
|
||||
logging out).
|
||||
|
||||
If you'd rather try a socket-activated GnuPG daemon in an
|
||||
already-running session without logging out (with or without enabling
|
||||
it for all future sessions), kill any existing daemon and start the
|
||||
user socket directly. For example, to set up socket-activated dirmgnr
|
||||
in the current session:
|
||||
|
||||
gpgconf --kill dirmngr
|
||||
systemctl --user start dirmngr.socket
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=GnuPG network certificate management daemon
|
||||
Documentation=man:dirmngr(8)
|
||||
Requires=dirmngr.socket
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/dirmngr --supervised
|
||||
ExecReload=/usr/bin/gpgconf --reload dirmngr
|
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=GnuPG network certificate management daemon
|
||||
Documentation=man:dirmngr(8)
|
||||
|
||||
[Socket]
|
||||
ListenStream=%t/gnupg/S.dirmngr
|
||||
SocketMode=0600
|
||||
DirectoryMode=0700
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=GnuPG cryptographic agent and passphrase cache (access for web browsers)
|
||||
Documentation=man:gpg-agent(1)
|
||||
|
||||
[Socket]
|
||||
ListenStream=%t/gnupg/S.gpg-agent.browser
|
||||
FileDescriptorName=browser
|
||||
Service=gpg-agent.service
|
||||
SocketMode=0600
|
||||
DirectoryMode=0700
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=GnuPG cryptographic agent and passphrase cache (restricted)
|
||||
Documentation=man:gpg-agent(1)
|
||||
|
||||
[Socket]
|
||||
ListenStream=%t/gnupg/S.gpg-agent.extra
|
||||
FileDescriptorName=extra
|
||||
Service=gpg-agent.service
|
||||
SocketMode=0600
|
||||
DirectoryMode=0700
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=GnuPG cryptographic agent (ssh-agent emulation)
|
||||
Documentation=man:gpg-agent(1) man:ssh-add(1) man:ssh-agent(1) man:ssh(1)
|
||||
|
||||
[Socket]
|
||||
ListenStream=%t/gnupg/S.gpg-agent.ssh
|
||||
FileDescriptorName=ssh
|
||||
Service=gpg-agent.service
|
||||
SocketMode=0600
|
||||
DirectoryMode=0700
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=GnuPG cryptographic agent and passphrase cache
|
||||
Documentation=man:gpg-agent(1)
|
||||
Requires=gpg-agent.socket
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/gpg-agent --supervised
|
||||
ExecReload=/usr/bin/gpgconf --reload gpg-agent
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=GnuPG cryptographic agent and passphrase cache
|
||||
Documentation=man:gpg-agent(1)
|
||||
|
||||
[Socket]
|
||||
ListenStream=%t/gnupg/S.gpg-agent
|
||||
FileDescriptorName=std
|
||||
SocketMode=0600
|
||||
DirectoryMode=0700
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
66
msys2/usr/share/doc/gnupg/examples/trustlist.txt
Normal file
66
msys2/usr/share/doc/gnupg/examples/trustlist.txt
Normal file
|
@ -0,0 +1,66 @@
|
|||
# This is the global list of trusted keys. Comment lines, like this
|
||||
# one, as well as empty lines are ignored. Lines have a length limit
|
||||
# but this is not serious limitation as the format of the entries is
|
||||
# fixed and checked by gpg-agent. A non-comment line starts with
|
||||
# optional white space, followed by the SHA-1 fingerpint in hex,
|
||||
# optionally followed by a flag character which my either be 'P', 'S'
|
||||
# or '*'. This file will be read by gpg-agent if no local trustlist
|
||||
# is available or if the statement "include-default" is used in the
|
||||
# local list. You should give the gpg-agent(s) a HUP after editing
|
||||
# this file.
|
||||
|
||||
|
||||
#Serial number: 32D18D
|
||||
# Issuer: /CN=6R-Ca 1:PN/NameDistinguisher=1/O=RegulierungsbehÈorde
|
||||
# fÈur Telekommunikation und Post/C=DE
|
||||
EA:8D:99:DD:36:AA:2D:07:1A:3C:7B:69:00:9E:51:B9:4A:2E:E7:60 S
|
||||
|
||||
#Serial number: 00C48C8D
|
||||
# Issuer: /CN=7R-CA 1:PN/NameDistinguisher=1/O=RegulierungsbehÈorde
|
||||
# fÈur Telekommunikation und Post/C=DE
|
||||
DB:45:3D:1B:B0:1A:F3:23:10:6B:DE:D0:09:61:57:AA:F4:25:E0:5B S
|
||||
|
||||
#Serial number: 01
|
||||
# Issuer: /CN=8R-CA 1:PN/O=Regulierungsbehörde für
|
||||
# Telekommunikation und Post/C=DE
|
||||
42:6A:F6:78:30:E9:CE:24:5B:EF:41:A2:C1:A8:51:DA:C5:0A:6D:F5 S
|
||||
|
||||
#Serial number: 02
|
||||
# Issuer: /CN=9R-CA 1:PN/O=Regulierungsbehörde für
|
||||
# Telekommunikation und Post/C=DE
|
||||
75:9A:4A:CE:7C:DA:7E:89:1B:B2:72:4B:E3:76:EA:47:3A:96:97:24 S
|
||||
|
||||
#Serial number: 2A
|
||||
# Issuer: /CN=10R-CA 1:PN/O=Bundesnetzagentur/C=DE
|
||||
31:C9:D2:E6:31:4D:0B:CC:2C:1A:45:00:A6:6B:97:98:27:18:8E:CD S
|
||||
|
||||
#Serial number: 2D
|
||||
# Issuer: /CN=11R-CA 1:PN/O=Bundesnetzagentur/C=DE
|
||||
A0:8B:DF:3B:AA:EE:3F:9D:64:6C:47:81:23:21:D4:A6:18:81:67:1D S
|
||||
|
||||
# S/N: 0139
|
||||
# Issuer: /CN=12R-CA 1:PN/O=Bundesnetzagentur/C=DE
|
||||
44:7E:D4:E3:9A:D7:92:E2:07:FA:53:1A:2E:F5:B8:02:5B:47:57:B0 de
|
||||
|
||||
# S/N: 013C
|
||||
# Issuer: /CN=13R-CA 1:PN/O=Bundesnetzagentur/C=DE
|
||||
AC:A7:BE:45:1F:A6:BF:09:F2:D1:3F:08:7B:BC:EB:7F:46:A2:CC:8A de
|
||||
|
||||
|
||||
# S/N: 00B3963E0E6C2D65125853E970665402E5
|
||||
# Issuer: /CN=S-TRUST Qualified Root CA 2008-001:PN
|
||||
# /O=Deutscher Sparkassen Verlag GmbH/L=Stuttgart/C=DE
|
||||
C9:2F:E6:50:DB:32:59:E0:CE:65:55:F3:8C:76:E0:B8:A8:FE:A3:CA S
|
||||
|
||||
# S/N: 00C4216083F35C54F67B09A80C3C55FE7D
|
||||
# Issuer: /CN=S-TRUST Qualified Root CA 2008-002:PN
|
||||
# /O=Deutscher Sparkassen Verlag GmbH/L=Stuttgart/C=DE
|
||||
D5:C7:50:F2:FE:4E:EE:D7:C7:B1:E4:13:7B:FB:54:84:3A:7D:97:9B S
|
||||
|
||||
|
||||
#Serial number: 00
|
||||
# Issuer: /CN=CA Cert Signing Authority/OU=http:\x2f\x2fwww.
|
||||
# cacert.org/O=Root CA/EMail=support@cacert.org
|
||||
13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33 S
|
||||
|
||||
|
26
msys2/usr/share/doc/gnupg/examples/vsnfd.prf
Normal file
26
msys2/usr/share/doc/gnupg/examples/vsnfd.prf
Normal file
|
@ -0,0 +1,26 @@
|
|||
# vsnfd.prf - Configure options for the VS-NfD mode -*- conf -*-
|
||||
#
|
||||
# The options for each tool are configured in a section ("[TOOL]");
|
||||
# see the respective man page for a description of these options and
|
||||
# the gpgconf manpage for a description of this file's syntax.
|
||||
|
||||
[gpg]
|
||||
compliance de-vs
|
||||
default-new-key-algo rsa3072/cert,sign+rsa3072/encr
|
||||
|
||||
[gpgsm]
|
||||
compliance de-vs
|
||||
enable-crl-checks
|
||||
|
||||
[gpg-agent]
|
||||
enable-extended-key-format
|
||||
default-cache-ttl 900
|
||||
max-cache-ttl 3600
|
||||
no-allow-mark-trusted
|
||||
no-allow-external-cache
|
||||
enforce-passphrase-constraints
|
||||
min-passphrase-len 9
|
||||
min-passphrase-nonalpha 0
|
||||
|
||||
[dirmngr]
|
||||
allow-ocsp
|
Loading…
Add table
Add a link
Reference in a new issue