summaryrefslogtreecommitdiff
path: root/.config/mutt/mutt-gnupg-howto
diff options
context:
space:
mode:
Diffstat (limited to '.config/mutt/mutt-gnupg-howto')
-rwxr-xr-x.config/mutt/mutt-gnupg-howto611
1 files changed, 611 insertions, 0 deletions
diff --git a/.config/mutt/mutt-gnupg-howto b/.config/mutt/mutt-gnupg-howto
new file mode 100755
index 0000000..cea471a
--- /dev/null
+++ b/.config/mutt/mutt-gnupg-howto
@@ -0,0 +1,611 @@
+========================================================================
+
+ Everything You Need To Know To Start Using GnuPG with Mutt
+
+========================================================================
+
+ By Justin R. Miller <justin@solidlinux.com>
+
+ Revision 0.1, Released 23 September 2001
+
+========================================================================
+
+ I. Purpose
+ II. Overview
+ III. Assumptions
+ IV. Configuring GnuPG
+ V. Protecting Your Private Key
+ VI. Publicizing Your Public Key
+ VII. Understanding Validity and Your Web of Trust
+ VIII. Understanding The Need For Message Signatures
+ IX. Understanding How Signatures Are Made
+ X. Understanding How Encryption Is Done
+ XI. A Practical Example of Manual Key Management
+ XII. A Practical Example of Manual Signing and Verification
+ XIII. A Practical Example of Manual Encryption and Decryption
+ XIV. Configuring Mutt For Use With GnuPG
+ XV. Trying It All Out
+ XVI. Links For More Information
+ XVII. Contributors
+ XVIII. Feedback
+
+========================================================================
+
+I. Purpose
+
+I'm writing this document for a couple of reasons. Firstly, I believe
+that everyone should be using encryption and signatures in their email.
+
+Secondly, I believe that if you are already using a mail client such as
+Mutt (which a lot of people are), then there is absolutely no reason for
+you not to be using PGP-compatible software.
+
+Thirdly, all of the documentation that I've seen thus far is geared
+toward someone who is already familiar with PGP, so it just explains
+things like how to configure Mutt to do such tasks as automatically sign
+outgoing messages or write a procmail recipe to rewrite old-style inline
+PGP messages as S/MIME messages. This info means little if you don't
+understand the technical jargon. By no means do I want to trample the
+existing documentation for Mutt or GnuPG, the Mutt-i, GnuPG and PGP
+Howto, nor any other existing documentation. I want simply to provide a
+resource for the use of Mutt with GnuPG exclusively and to summarize the
+important points of the whole matter so that one can get started quickly
+and responsibly.
+
+Fourthly, I am trying to promote both Mutt and GnuPG, as free software
+projects, for use in everyday communications.
+
+Lastly, I enjoy writing tutorials and I hope that this one is of use to
+many people. I did a lot of research and I figured a number of things
+out on my own, and now I want to help people along.
+
+========================================================================
+
+II. Overview
+
+When you are finished with this document, you will be able to send and
+receive cryptographically signed and/or encrypted email with the Mutt
+mail reader and GnuPG, the GNU software implementation of OpenPGP
+(RFC2440). If you want to know why you should use encryption, please
+read about that topic first (see the links at the end of this document).
+
+Using GnuPG with Mutt is quite easy, but the main things to be learned
+are the details and the theory behind the actual actions. This document
+will explain the need for signing and how to sign messages, how to
+verify signatures on mail sent to you, how to encrypt messages, and how
+to decrypt messages. It will also show you, within the scope of Mutt,
+how to collect and manage the public keys of your correspondents and how
+to manage your own private key. Lastly, it will show you how to
+publicize your own public key and how to encourage others to use PGP
+when communicating with you.
+
+========================================================================
+
+III. Assumptions
+
+Before reading this document, you should have a working knowledge of the
+Mutt mail reader and you should know the basics of public key
+cryptography. You should understand that a public key is for others to
+use when encrypting messages to you and when verifying signatures from
+you, and that a private key is used for creating signatures and for
+decrypting messages to you.
+
+========================================================================
+
+IV. Configuring GnuPG
+
+Follow the instructions that came with GnuPG in order to create a
+private and public key. If you are not sure what values to use, pick
+the default values for key type and key size and use your name and email
+address as you would normally address your email.
+
+The only other thing that you might want to do is to configure GnuPG to
+automatically fetch public keys as necessary. This comes in very handy
+with Mutt, as you won't have to go and download and import a key
+manually in another terminal. In order to do this, add this line to
+your ~/.gnupg/options file:
+
+ keyserver <keyserver address>
+
+Some good keyservers are:
+
+ wwwkeys.pgp.net
+ search.keyserver.net
+ pgp.ai.mit.edu
+
+Please note that key retrievals do not happen over HTTP and as such, the
+keyserver address should not start with 'http://'.
+
+You may test this out by retrieving my public key:
+
+ gpg --recv-keys 0xC9C40C31
+
+You may then confirm that the key was added to your keyring:
+
+ gpg --list-keys justin
+
+========================================================================
+
+V. Protecting Your Private Key
+
+The most important security points to remember in all of this are to
+protect your private keyring file, and above that, to protect your
+passphrase. There is still a chance that your private key can be
+cracked without the passphrase, but it is slim in the hands of one
+person.
+
+You should limit the number of machines on which your private key is
+copied. You should only transfer your private key via a floppy disk or
+other physical media. If you do not trust the environment on which you
+will be working to be free from the possiblity of snooping (i.e. a work
+computer where others have access to your personal files), then you
+should not introduce your private key to this environment. Either that,
+or you should create a separate key for use as a "work key" and keep
+your "home key" in a safe environment.
+
+Theft of your private key by anyone means theft of your identity. In an
+increasingly digital world, your private key will soon carry as much
+weight as a photo ID, and in some situations already carries more.
+
+========================================================================
+
+VI. Publicizing Your Public Key
+
+People will need your public key both to verify signed messages by you
+and to send you encrypted messages. You can make it available by
+putting it on a website, publishing it in print, mailing it via email or
+postal mail, faxing it, uploading it to a keyserver, or any number of
+other means.
+
+The more places your public key is put, the better, since there is a
+lower chance of all of them being modified and distributed falsely.
+However, just because a key can be obtained from multiple places and all
+copies may match doesn't mean that the key should be considered valid.
+A key should only be considered valid (i.e. truly belonging to its
+owner) if it does so within your web of trust (see next section). To
+clarify, you can determine whether or not a message originated from a
+particular key, but you cannot, aside from a validity check, determine
+whether that key belongs to who it seems to belong to.
+
+You can find my public key in this document, by searching a keyserver
+for key ID 0xC9C40C31 or my name, or from my website. In addition, Mutt
+makes it easy to send your public key to someone (once Mutt is
+configured to work with GnuPG as described below) through the Esc-k key
+sequence.
+
+You may also add an X-header to your outgoing mail to provide key
+download information. All of my personal mail includes this header:
+
+ X-PGP-Key: http://solidlinux.com/~justin/pubkey.asc
+
+All of these approaches, as well as signing all outgoing mail, help
+publicize the fact that you wish to use cryptography for secure email
+communication. These things will also often generate questions about
+what the signature attachment means or why you have a file full of
+garbled characters on your website. This lets you have all the more
+chances to publicize PGP usage and awareness.
+
+There is considerable debate as whether signing messages that are sent
+out to mass audiences (via mailing lists and the like) is appropriate.
+I hope to make available in the near future some arguments for both
+sides of this debate, but if you'd like more info, you can search the
+mutt-users and gnupg-users mailing list archives.
+
+========================================================================
+
+VII. Understanding Validity and Your Web of Trust
+
+'Validity' for a particular key refers to the knowledge that the key
+belongs to the person to whom you expect it to belong. This knowledge
+comes about based on your trust in the people who have signed the key
+(including, but not limited to, the key owner).
+
+'Trust' in a person is a property of your particular installation of
+GnuPG. Trust is a private value that only you have to know about and
+refers to whether or not you trust the person's signature on a key to be
+as good as your signature on a key, and the degree to which that trust
+exists. Initially, key owners have a trust value of 'unknown'. You may
+give them a trust value of 'none' if they are known to improperly sign
+keys. A value of 'marginal' means that they understand key signing and
+perform it properly. A value of 'full' means that they have an
+excellent understanding of key signing and that you trust their
+signature on a key as well as if you had signed the key yourself.
+
+By default, a key is considered valid if it is signed by at least one
+person to whom you give full trust, or it is signed by at least three
+people to whom you give marginal trust. This can of course be
+reconfigured, and a lower number of marginally trusted owners would
+signify a smaller number of people who would have to conspire against
+you to pass a key off as valid.
+
+Without the necessary trusted signatures, the key is not considered
+valid. This does not necessarily mean that the key does not belong to
+whom you expect it to, but that the software is warning you that it has
+no way of knowing. Obviously, the web of trust is the weak point in
+public key cryptography, but when used properly can introduce some level
+of assurance into the situation.
+
+Allow me to illustrate the importance of key validity with an example.
+Say that you have met someone on IRC and that she has helped you for a
+long time with many systems administration issues. She tells you that
+she is going to send you a script that you should run as root on your
+machine. If you know this script to come from this person, you would
+have no problem running it on your machine, due to your trust in her.
+But, perhaps someone has previously hijacked the communication between
+you and friend in which you obtained her public key. Then, they could
+have possibly altered the message to contain a harmful script and passed
+it off as valid. The end result is that you are harmed and that you
+possibly blame your friend.
+
+If you had first validated the public key being used, this would have
+been avoided. You could have done this by signing the key yourself.
+You also could have insured that the key was signed by at least one
+other person to whom you have given full trust. Lastly, you could have
+insured that the key was signed by at least three key owners to whom you
+have given marginal trust.
+
+In order to sign a public key with your own private key, you must be
+absolutely sure that the key belongs to a person who is who they say
+they are. You should use a reliable method of communication to verify
+the key fingerprint of the key before signing it with your own. You may
+obtain a key fingerprint by doing this:
+
+ gpg --fingerprint <key owner name>
+
+For example, my key fingerprint is:
+
+ 2231 DFF0 869E E3A5 885A E7D4 F787 7A2B C9C4 0C31
+
+If you communicate with the key owner, perhaps in person, or over the
+phone (if you know their voice), or over certified mail, you know them
+to be who they say they are, and the key fingerprints match, then you
+may sign the key. You do this by issuing this command:
+
+ gpg --sign-key <key owner name>
+
+In order to assign trust to a key owner, you must assign the owner a
+value in your GnuPG trust database. You do this by editing their key:
+
+ gpg --edit-key <key owner name>
+
+Type 'trust' and then follow the directions.
+
+After all of this is done, if you trust someone fully to understand the
+significance of key signing, you can thereby, via your web of trust,
+validate all keys signed by them.
+
+========================================================================
+
+VIII. Understanding The Need For Message Signatures
+
+The first reason for message signatures is authenticity. It is a
+largely unknown fact that the From: header of email can be trivially
+forged. A quick glance can lead you to believe that the mail was sent
+by someone who might not have had anything to do with the message. A
+signature will help you determine if the mail was really sent by who you
+think it was sent by.
+
+The second reason for signatures is integrity. Someone who has access
+to any piece of mail that is waiting for you (perhaps at your ISP) can
+change the message. This could affect something as simple as where you
+should meet someone to something as serious as which bank account you
+should transfer money to. A signature can tell you if the message was
+modified between the sender and your mail client.
+
+========================================================================
+
+IX. Understanding How Signatures Are Made
+
+Signatures typically are attached to the message. Detached signatures
+that are placed in an alternate download location are possible, but are
+not practical for something such as email, where all-in-one
+communication is the goal. The outdated standard for making attached
+signatures was to paste it at the bottom of the message, but the new
+standard involves an actual MIME attachment to the message. Regardless,
+Mutt can verify either style.
+
+The important thing to understand is that the signature for each piece
+of mail is different and is based on both the sender's key and the
+content of the message. If all signatures from a person were the same,
+then one could just copy the signature from a mailing list post and
+start putting it on their own mail. Therefore, the signature is based
+partly on the contents of the data being signed.
+
+Another important point to note that has been brought up recently in
+security forums is a weakness of signatures. Because signatures sign
+only the body of an email, a malicious hacker could intercept a message
+from one person and redirect it to another while still keeping the
+signature intact. For example, if your boss emails a co-worker and says
+"You're fired!", you could then send this message on to someone else who
+would think it was addressed to them and see that the signature belongs
+to their boss. The approach to get around this is to always make it
+clear in the message body to whom the message is addressed and to put
+things in context so that they could not be misconstrued by a third
+party.
+
+========================================================================
+
+X. Understanding How Encryption Is Done
+
+Aside from the obvious fact that the message is encrypted, an important
+thing to note about encryption is that even the sender cannot read the
+encrypted message. Fortunately, Mutt has two ways around this. There
+is an option that lets you save a plaintext copy of your outgoing
+messages when saving to a 'sent' folder (see Mutt's 'fcc_clear' option).
+You may also configure Mutt to use GnuPG's '--encrypt-to' option to
+additionally encrypt all encrypted mail to you so that encrypted mail in
+your 'sent' folder can be decrypted by you. Without one of these
+options, only the intended recipient can decrypt the message that was
+sent out, even if a copy resides in your 'sent' folder.
+
+In order to encrypt a message to someone, you need their public key.
+Once you've got that, you name them as the recipient and the message is
+encrypted in an (as of yet) unbreakable code.
+
+Remember that encryption alone does not guarantee authenticity, as
+anyone with the recipient's public key can send them encrypted mail.
+Adding a signature to encrypted mail ensures that it originated from you
+and was encrypted by you.
+
+========================================================================
+
+XI. A Practical Example of Manual Key Management
+
+In order to understand what Mutt is going to do for you, you need to
+know what happens behind the scenes. In order to verify a signature or
+encrypt a piece of mail for someone, you need their public key. You can
+either download it from a person's website or request it from a
+keyserver, or perhaps the person will email it to you (by the way, Mutt
+of course has a handy shortcut to let you get keys out of an email with
+the Control-k keystroke). A key looks something like this (below is my
+public key):
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.0.6 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+mQGiBDsNpPoRBAC5A1vMkEiE2Z4AE9YYn3FOYi0K/ZDjUIz2/5wK4vX5IN149Yo5
+HzOH0ftJK2oTBRaKJXF1DvUO+eyIRn02BiWoLB/Dy624LEZ7psyfGLB9v/OO1T8k
+2RxAHVZefMOlJZhuAXpts2dtzkc0hBApo80Jgka1LW+i1uR/0EMj98hGwwCgl8cE
+k2xD4PZGNygAQ8NkVjkkVr8EALVGxfr4+WmmOn/RFyCnFppyYnTkBIPV0/5fUSzr
+z53AYXXCfbHx8eF8rRxCjmFdzSu212s7ISOqUXCahLSDcsWhjaavMzD/pA/GvWhO
+vTaVprdqT6pipQTvFXE4IgD1PRwl4KCu6BsJMeVWXQkjmh36y1FIA2Ub43VQnZJE
+ZBitBACaS+S7+fVFvyvK654Chh0K3Klc1zUL9TE5l0Os2veFLS2s9d6y6fpEhnB0
+iABWPPXZRuPFjM8GG1cw/KtQDo/H2y2PtwG3mElF3fdZklGurvCTffWJyE2UZBz0
+s1owo2LJF978mzKonLOc2sYT7Ix5mdsgdBAjZ4kH8EP7t3NukrQjSnVzdGluIFIu
+IE1pbGxlciA8anVzdGluQHZveGVsLm5ldD6IVwQTEQIAFwUCOw2k+gULBwoDBAMV
+AwIDFgIBAheAAAoJEPeHeivJxAwxVeEAnRdggrNekDQMyTmd5C1UjITxIhEoAJ9m
+q4RDI8Fw8waK4xIGkT32gcR7H4hGBBARAgAGBQI7DcFUAAoJEN+hndnKoo+RBgMA
+n3VjFLMZUJO86aqg4MEoQaouK5L4AJ9X5s07QlGNqRruAAVvyQ2tCIz7KbQoSnVz
+dGluIFIuIE1pbGxlciA8anVzdGluQHNvbGlkbGludXguY29tPohXBBMRAgAXBQI7
+DsfIBQsHCgMEAxUDAgMWAgECF4AACgkQ94d6K8nEDDFB/QCfYengAcA03vdik/vp
+ktnSg88R8Q8An1iQ8g9UKNIBPzbhLYOSOa441y9guQENBDsNpP4QBAC6KTosKykU
+PZQY+bd+hTPBHArGLFXGHC5RJtCVEU7iZHt4CEEEveAt6pAzoM/IBEIl0kHoG9Zq
+KUE8DY8Wnc/c0fLBFuLxa5G5J+6NBXrQwf7mOhbpFjvUPegnJJpUaTJRCYLc4sBt
+jMfaAUZJR5xRXVipLk0e8EwIuDDR1eVwbwADBwP7BU/PbNPMkGcxdrCyznBEvZAA
+txqvplJwPZbOpMJ6ck/ckeXoy6G8f3vGUyGqg8bwS8SC+pxOkaBVDdpLXcfcJwJJ
+R88HXIjfYZdalnMDELDHAvSsHxDsjs49tLzXRRQ0NpGPEGFiXHzMv43Ke8oYErqd
+BvyyxvcrgZ6DdScYwWOIRgQYEQIABgUCOw2k/gAKCRD3h3orycQMMX4zAKCBlYSH
+yeddCzek9yaiPoOD+6s3zQCfU0FwlY6o+vDLhSRerSfoA90g7gk=
+=ERSn
+-----END PGP PUBLIC KEY BLOCK-----
+
+Once you've got the key in a file on your computer, to add it to your
+keyring, or your store of available keys, you would do this:
+
+ gpg --import <key file>
+
+GnuPG will take care of the rest. The nice thing about the whole system
+is that extraneous text before the beginning and ending markers is
+ignored, so keys can be embedded with text files that contain other
+information, and GnuPG will still be able to import the key(s) from
+those files.
+
+You can verify that a key is now in your keyring by listing all of your
+keys:
+
+ gpg --list-keys
+
+You can also list particular keys by key ID or a word from the owner's
+name:
+
+ gpg --list-keys <owner's first name>
+
+Please note that this is the bare minimum way to use public keys. You
+should also take into account your web of trust and later edit the trust
+value for the key's owner and/or sign the key if you really want to rely
+on communications using it.
+
+========================================================================
+
+XII. A Practical Example of Manual Signing and Verification
+
+Take for example a sample piece of text:
+
+ Here is some sample text.
+
+If I saved this to a file called sample.txt and wanted to sign it before
+distributing it, I would do this:
+
+ gpg --clearsign sample.txt
+
+After entering my passphrase, this will output a new, signed version at
+sample.txt.asc:
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+Here is some sample text.
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.0.6 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+iD8DBQE7fE+B94d6K8nEDDERAnWcAJ9ZOEiWcmfuDokPfvJtch/ERbZZFwCfeNKS
+3UFUmgeigIIJQcZbhocMJUQ=
+=FCcr
+-----END PGP SIGNATURE-----
+
+With Mutt, your text can be signed automatically, the passphrase can be
+cached for a customizable amount of time, and the recipient will get
+your message along with a MIME attachment of the signature.
+
+In order to verify a signed file, I would do this:
+
+ gpg --verify sample.txt.asc
+
+The output, providing I have the signer's (my own) public key, looks
+like this:
+
+ gpg: Signature made Thu 16 Aug 2001 06:56:01 PM EDT using DSA key ID C9C40C31
+ gpg: Good signature from "Justin R. Miller <justin@solidlinux.com>"
+
+Mutt can automatically verify signatures, retrieving public keys if
+necessary, and will show signed messages as just the message text with
+some status bar info regarding the signature validity. It looks almost
+like regular mail, and you don't have to do a thing to verify the
+message's integrity besides have the sender's public key (or have it
+automatically fetched).
+
+========================================================================
+
+XIII. A Practical Example of Manual Encryption and Decryption
+
+In order to encrypt our file, we would run this:
+
+ gpg --encrypt --armor sample.txt
+
+The '--armor' option causes the encrypted file to be outputted as text
+instead of binary data. After choosing the public key of the intended
+recipient, an encrypted file might look like this:
+
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.0.6 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+wh/HTTQIPdAOfSz9ZwsabH5dS9llSpeHHNGpO2cyR90owL3/p59IqG/7YycnaT6m
+s5v45hAdGVVwHjwkUlqJElKgqD02S3i7qbOxOfE5vdeMhdew96/Axvi4QW94gY9R
+ZTKjfes5QstgMHswNtn8MHIjZBShVCmRzTh04LjC8R3u/hWSvOZZes2+dJIcZOUE
+AMvRRpatVVEb5AzdPRO1QaSHVwKQb+1DxeOWUviVOzp6CkPfmJPeazHRL6QjMZAM
+AW5SCo4WME7Gupx931TxckRhCxDjoC63fz5sZzDB6mZhDZRxJf8HcG0L0sz4oCXr
+hQEOA5Bet+UpglfCEAQAxojHuWKt/kcsdN8wZc4f0IJUU4WWEXWNoXUx+rN2Qkah
+QXNDInfL5U98QkLtiPMLIifkm7YjQtqx0/9Sm8ngpFKb0lkBve/VUt+Z6bRp+2iC
+m1KtBnoml6mYKCg05bRY6jrd2/0iT5sVBEHnaA==
+=jW1T
+-----END PGP MESSAGE-----
+
+With Mutt, you can just indicate that you would like to encrypt a
+message, choose the intended recipient's public key from a menu, and the
+message is sent without you ever having to see the encryption.
+
+Since I cannot decrypt the above file (as it wasn't intended for me), I
+will just show the steps necessary to decrypt a file:
+
+ gpg --decrypt <encrypted file>
+
+After entering my passphrase and if the message was intended for me, a
+new file will be written containing the decrypted text.
+
+With Mutt, the passphrase can be cached and messages will automatically
+be decrypted and displayed in the message view screen, along with a
+brief indication of whether encryption and/or a signature was involved.
+
+========================================================================
+
+XIV. Configuring Mutt For Use With GnuPG
+
+In order to use Mutt with GnuPG, PGP support must be compiled in when
+building Mutt (this happens by default). Also, you need to add some
+directives to your .muttrc (or source a file containing these
+directives) which tells Mutt how to interact with GnuPG. Here are the
+commands that I use:
+
+set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
+set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
+set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
+set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
+set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
+set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0xC9C40C31 -- -r %r -- %f"
+set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0xC9C40C31 -- -r %r -- %f"
+set pgp_import_command="gpg --no-verbose --import -v %f"
+set pgp_export_command="gpg --no-verbose --export --armor %r"
+set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
+set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
+set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
+set pgp_autosign=yes
+set pgp_sign_as=0xC9C40C31
+set pgp_replyencrypt=yes
+set pgp_timeout=1800
+set pgp_good_sign="^gpg: Good signature from"
+
+Aside from the basic commands necessary to inter-operate with GnuPG,
+these directives also tell Mutt to automatically sign all outgoing
+messages using key ID 0xC9C40C31 (my key), to encrypt all encrypted mail
+to me as well (for storage in my 'sent' folder, and to cache my
+passphrase for a half hour.
+
+========================================================================
+
+XV. Trying It All Out
+
+Mutt should be ready to go at this point. The first time you send a
+message, Mutt will ask you for your passphrase, which it will then
+cache, then it will sign all outgoing messages. When you receive a
+signed message, Mutt will use the sender's public key (fetching it if it
+has to) to verify the signature. When encrypting messages, it will ask
+for your passphrase (if not cached) and will present you with a menu of
+public keys that it believes match the intended recipient. Lastly, when
+decrypting messages, it will ask you for your passphrase if the cache
+has expired or it hasn't been entered yet.
+
+========================================================================
+
+XVI. Links For More Information
+
+The Mutt E-Mail Client Home Page
+ (http://www.mutt.org/)
+
+The GNU Privacy Guard Home Page
+ (http://www.gnupg.org/)
+
+The Mutt-i, GnuPG and PGP Howto
+ (http://linuxdoc.org/HOWTO/Mutt-GnuPG-PGP-HOWTO.html)
+
+The International PGP Home Page
+ (http://www.pgpi.org/)
+
+Why You Should Use Encryption
+ (http://www.goingware.com/encryption/)
+
+========================================================================
+
+XVII. Contributors
+
+I'd like to thank the following people for assistance in revising this
+document:
+
+ - Dave Chapeskie, for many clarifications, corrections,
+ recommendations, and security tips
+
+ - Thomas Roessler, for a very clear explanation of validity and trust
+
+I'd like to thank the following people for suggestions and feedback that
+I may incorporate into a later revision of this document:
+
+ - Andrew McDonald
+ - Rick Moen
+ - Andy Smith
+
+Lastly, I would like to thank you for reading this far!
+
+========================================================================
+
+XVIII. Feedback
+
+I hope that this document has been of use to you. Please let me know if
+there is any way that I can improve it. You can contact me via email at
+justin@solidlinux.com, and I would of course prefer that you use
+encryption when doing so using my public key, found elsewhere in this
+document or at http://solidlinux.com/~justin/pubkey.asc.
+
+$Id: mutt-gnupg-howto,v 1.1.1.1 2002/03/04 00:03:18 incanus Exp $
+http://codesorcery.net/old/mutt/mutt-gnupg-howto