Network Working Group          N. Borenstein, First Virtual
           Internet Draft                                     C. Plumb
           Category: Informational                       P. Zimmermann
                                          Boulder Software Engineering
                                                              May 1994


                      The application/pgp MIME Content-type


           Status of this Memo

           This document is  an  Internet-Draft.   Internet-Drafts  are
           working  documents  of  the  Internet Engineering Task Force
           (IETF), its areas, and its working groups.  Note that  other
           groups  may  also  distribute working documents as Internet-
           Drafts.

           Internet-Drafts are draft documents valid for a  maximum  of
           six  months  and  may  be updated, replaced, or obsoleted by
           other documents at any time.  It  is  inappropriate  to  use
           Internet- Drafts as reference material or to cite them other
           than as ``work in progress.''

           To learn the current status of  any  Internet-Draft,  please
           check  the  ``1id-abstracts.txt''  listing  contained in the
           Internet- Drafts Shadow Directories on  ds.internic.net  (US
           East  Coast),  nic.nordu.net  (Europe), ftp.isi.edu (US West
           Coast), or munnari.oz.au (Pacific Rim).

           Abstract

           MIME [RFC-1341,  RFC-1521]  defines  a  format  and  general
           framework  for  the representation of a wide variety of data
           types  in  Internet  mail.   This   document   defines   one
           particular  type of MIME data, the application/pgp type, for
           "pretty good" privacy,  authentication,  and  encryption  in
           Internet mail.  The application/pgp MIME type is intended to
           facilitate the wider interoperation of private mail across a
           wide variety of hardware and software platforms.

           The application/pgp MIME type

           This document defines an extremely  simple  subtype  of  the
           MIME   content-type   "application",  the  "application/pgp"
           subtype.  This subtype was designed to  meet  the  following



           Borenstein                                          [Page 1]





           Expires 11/20/draft-borenstein-pgp-mime-00.txt      May 1994


                criteria:

                1.  Maximal backward-compatibility  with  pre-MIME
                implementations of PGP for ASCII text mail.

                2.  Ability to use PGP to enhance the  privacy  of
                MIME mail with non-ASCII or non-text data.

                3.  Ability to optionally differentiate "key-only"
                messages from more complex PGP data, for different
                treatment by user agent software

                4.  Ease of implementation.

           This   document   defines   a   new    MIME    content-type,
           "application/pgp".   The content-type line for this type may
           have one optional parameters, "format", as described below.

           The MIME content-type "application/pgp"  is  a  very  simple
           adaptation of PGP.  When a MIME entity has a content-type of
           "application/pgp", the data within it is assumed  to  be  in
           PGP format.  [PGP]

           PGP's data format is ASCII  text  that  includes  blocks  of
           privacy-enhanced  text.   Such  text  might be authenticated
           (signed), or encrypted.  The  PGP  data  is  self-describing
           with  regard  to format and content.  In current versions of
           PGP, only textual data can be encrypted.  Beginning  with  a
           future  version  of  PGP, it is expected that arbitrary MIME
           data can also be encrypted, but the fact that the data is in
           MIME format is not evident from the outside of the PGP data.
           Thus even the content-type of data being transmitted may  be
           made private by PGP.

           Of course, once any decryption or verification is performed,
           the  resulting data must be displayed to the user.  A future
           version of PGP will include a command line option that  will
           guarantee that ALL output will be in MIME format, regardless
           of whether it was initially encrypted as MIME or text.  With
           this  option,  the  decrypted  result of any application/pgp
           MIME entity may be used  as  input  to  any  general-purpose
           MIME-viewing tool.

           The "Format" Parameter





           Borenstein                                          [Page 2]





           Expires 11/20/draft-borenstein-pgp-mime-00.txt      May 1994


           The optional parameter  "format"  may  be  included  on  the
           Content-line  for PGP data, to declare the type of encrypted
           data enclosed, as follows:

                Content-type: application/pgp; format=mime

           or

                Content-type: application/pgp; format=keys-only

           or

                Content-type: application/pgp; format=text

           This memo defines only three possible values for the  format
           parameter, namely "text", "mime", and "keys-only".

           It  should  be  stressed  that  the  format   parameter   is
           completely  optional.  Further, it is expected that a future
           release  of  PGP  will  make   this   parameter   completely
           unnecessary  for  any  desired  functionality,  by  building
           knowledge  about  encapsulated  MIME  into  the   PGP   data
           structures.  However, the parameter may remain a convenience
           for some implementors, and in the interim the  "format=mime"
           parameter  makes  it  possible  for  existing  MIME  and PGP
           implementations to be configured  to  interoperate  smoothly
           for  the  automatic encryption and decryption of non-textual
           data.   In  the  absence  of  the  "format"  parameter,  the
           decrypted  data  from  non-MIME-aware versions of PGP should
           generally be treated as ASCII text by mail readers.

           Format=text

           If present, the parameter "format=text" indicates  that  the
           result  of  decrypting the application/pgp entity is textual
           data, including data encrypted by pre-MIME versions of  PGP.
           No  further  MIME-related  processing  is  called  for after
           decryption.

           Text is the default value of the format parameter.  That is,
           the  following  two  Content-type  specifications  should be
           treated as equivalent by user agents:

                Content-type: application/pgp





           Borenstein                                          [Page 3]





           Expires 11/20/draft-borenstein-pgp-mime-00.txt      May 1994


                Content-type: application/pgp; format=text

           However, it should be noted that the  latter  form  is  more
           explicit,  and  should  be  generated whenever an encrypting
           agent has definite knowledge that the data  being  encrypted
           are simply non-MIME text.

           Format=mime

           If present, the parameter "format=mime" indicates  that  the
           result  of  decrypting  the application/pgp entity should be
           treated as another MIME  entity.   That  is,  it  should  be
           inspected  for Content-type, etc.  and parsed recursively as
           a MIME entity.

           Format=keys-only

           If present, the parameter "format=keys-only" indicates  that
           the  application/pgp  entity  contains no encrypted or other
           data, only PGP keys.  A user agent that so chooses may treat
           such  entities  specially, e.g. by providing the user with a
           special key-management interface.  A user agent without such
           specialized   understanding   may   ignore  the  "keys-only"
           parameter, and  (for  example)  pass  all  "application/pgp"
           entities directly to the pgp program.

           A Note on Transfer Encodings

           One area where MIME and PGP have redundant mechanisms is  in
           the  transformation  of  binary  data into a mail-safe form.
           For this purpose, PGP uses "ASCII armor" and MIME  uses  the
           base64  content-transfer-encoding.   As  it  happens,  these
           mechanisms are  virtually  identical,  but  are  flagged  in
           different  manners.   The PGP mechanism is self-identifying,
           while the MIME mechanism uses a  "Content-Transfer-Encoding"
           header field.

           The application/pgp content-type has been carefully designed
           to  let  either of these mechanisms be used.  If PGP is used
           in a manner  that  produces  "ASCII  armor",  then  no  MIME
           content-transfer-encoding is needed (or "7bit" may be used).
           If PGP is used in a manner that produces binary data, then a
           MIME  content-transfer-encoding of "base64" may be used, and
           a MIME agent will restore the data to its binary form before
           processing it as PGP data.




           Borenstein                                          [Page 4]





           Expires 11/20/draft-borenstein-pgp-mime-00.txt      May 1994


           This duality of mechanisms implies, however, that  the  PGP-
           processing  routines must be prepared to receive PGP data in
           either binary OR ASCII armor forms.

           Security Considerations

           Security issues are not discussed in this memo,  which  only
           describes how PGP usage is labelled in MIME.  PGP itself, of
           course, is a technology focused on issues  of  security  and
           privacy,  and  the PGP documentation is replete with helpful
           information and advice about the security issues  PGP  seeks
           to address.

           Authors' Addresses

           For more information, the author of  this  document  may  be
           contacted via Internet mail:

                               Nathaniel S. Borenstein
                               First Virtual Holdings
                               25 Washington Avenue
                              Morristown, NJ 07960 USA
                              Email: [email protected]
                              Phone: +1 201 540 8967
                               Fax: +1 201 993 3032

                                   Colin Plumb
                                 43 Farnham Ave.
                         Toronto, Ontario M4V 1H6 Canada
                            Email: [email protected]
                              Phone: +1 416 968 1261

                                Philip Zimmermann
                                 3021 11th Street
                           Boulder, Colorado 80304  USA
                               Email:  [email protected]
                              Phone: +1 303 541 0140

           Acknowledgements

           The authors wish to  thank  Derek  Atkins  for  his  helpful
           comments on earlier drafts of this memo.

           <<Need to fill in others????>>





           Borenstein                                          [Page 5]





           Expires 11/20/draft-borenstein-pgp-mime-00.txt      May 1994


           References

           [RFC-1341]   Borenstein,   N.,   and   N.   Freed,     "MIME
           (Multipurpose  Internet  Mail  Extensions):   Mechanisms for
           Specifying and Describing the  Format  of  Internet  Message
           Bodies", RFC 1341, Bellcore, Innosoft, June, 1992.

           [RFC-1521]   Borenstein,   N.,   and   N.   Freed,     "MIME
           (Multipurpose    Internet   Mail   Extensions)   Part   One:
           Mechanisms for  Specifying  and  Describing  the  Format  of
           Internet  Message  Bodies",  RFC  1521,  Bellcore, Innosoft,
           September, 1993.

           [PGP]  ****NEED TO FILL IN ****



































           Borenstein                                          [Page 6]





           Expires 11/20/draft-borenstein-pgp-mime-00.txt      May 1994




                              Table of Contents


            Status of this Memo...................................... 1
            Abstract................................................. 1
            The application/pgp MIME type............................ 1
           2                                                         The
                  Format=text........................................ 3
                  Format=mime........................................ 4
                  Format=keys-only................................... 4
            A Note on Transfer Encodings............................. 4
            Security Considerations.................................. 5
            Authors' Addresses....................................... 5
            Acknowledgements......................................... 5
            References............................................... 6
































           Borenstein                                          [Page 7]