diff options
Diffstat (limited to 'doc/rfc/rfc3029.txt')
| -rw-r--r-- | doc/rfc/rfc3029.txt | 2859 | 
1 files changed, 2859 insertions, 0 deletions
| diff --git a/doc/rfc/rfc3029.txt b/doc/rfc/rfc3029.txt new file mode 100644 index 0000000..91835d8 --- /dev/null +++ b/doc/rfc/rfc3029.txt @@ -0,0 +1,2859 @@ + + + + + + +Network Working Group                                           C. Adams +Request for Comments: 3029                          Entrust Technologies +Category: Experimental                                      P. Sylvester +                                     EdelWeb SA - Groupe ON-X Consulting +                                                            M. Zolotarev +                                      Baltimore Technologies Pty Limited +                                                           R. Zuccherato +                                                    Entrust Technologies +                                                           February 2001 + + +                Internet X.509 Public Key Infrastructure +           Data Validation and Certification Server Protocols + +Status of this Memo + +   This memo defines an Experimental Protocol for the Internet +   community.  It does not specify an Internet standard of any kind. +   Discussion and suggestions for improvement are requested. +   Distribution of this memo is unlimited. + +Copyright Notice + +   Copyright (C) The Internet Society (2001).  All Rights Reserved. + +Abstract + +   This document describes a general Data Validation and Certification +   Server (DVCS) and the protocols to be used when communicating with +   it.  The Data Validation and Certification Server is a Trusted Third +   Party (TTP) that can be used as one component in building reliable +   non-repudiation services. + +   Useful Data Validation and Certification Server responsibilities in a +   PKI are to assert the validity of signed documents, public key +   certificates, and the possession or existence of data. + +   Assertions created by this protocol are called Data Validation +   Certificates (DVC). + +   We give examples of how to use the Data Validation and Certification +   Server to extend the lifetime of a signature beyond key expiry or +   revocation and to query the Data Validation and Certification Server +   regarding the status of a public key certificate.  The document +   includes a complete example of a time stamping transaction. + + + + + + +Adams, et al.                 Experimental                      [Page 1] + +RFC 3029                     DVCS Protocols                February 2001 + + +Table of Contents + +   1. Introduction .................................................  2 +   2. Services provided by DVCS ....................................  4 +    2.1 Certification of Possession of Data ........................  4 +    2.2 Certification of Claim of Possession of Data ...............  4 +    2.3 Validation of Digitally Signed Documents ...................  4 +    2.4 Validation of Public Key Certificates ......................  5 +   3. Data Certification Server Usage and Scenarii .................  5 +   4. Functional Requirements for DVCS .............................  7 +   5. Data Certification Server Transactions .......................  7 +   6. Identification of the DVCS ...................................  8 +   7. Common Data Types ............................................  9 +    7.1 Version ....................................................  9 +    7.2 DigestInfo ................................................. 10 +    7.3. Time Values ............................................... 10 +    7.4. PKIStatusInfo ............................................. 11 +    7.5. TargetEtcChain ............................................ 11 +    7.6. DVCSRequestInformation .................................... 12 +    7.7. GeneralName and GeneralNames .............................. 13 +   8. Data Validation and Certification Requests ................... 13 +   9. DVCS Responses ............................................... 17 +    9.1. Data Validation Certificate ............................... 18 +    9.2. DVCS Error Notification ................................... 21 +   10. Transports .................................................. 22 +    10.1 DVCS Protocol via HTTP or HTTPS ........................... 22 +    10.2 DVCS Protocol Using Email ................................. 22 +   11. Security Considerations ..................................... 23 +   12. Patent Information .......................................... 23 +   13. References .................................................. 25 +   14. Authors' Addresses .......................................... 26 +   APPENDIX A - PKCS #9 Attribute .................................. 27 +   APPENDIX B - Signed document validation ......................... 27 +   APPENDIX C - Verifying the Status of a Public Key Certificate ... 28 +   Appendix D - MIME Registration .................................. 30 +   Appendix E - ASN.1 Module using 1988 Syntax ..................... 31 +   Appendix F - Examples ........................................... 34 +   Appendix G - Acknowledgements ................................... 50 +   Full Copyright Statement ........................................ 51 + +1. Introduction + +   This document is the result of work that has been proposed and +   discussed within the IETF PKIX working group.  The authors and some +   members of the group felt that promoting the rather new concepts into +   the standards process seemed premature.  The concepts presented have +   been stable for some time and partially implemented.  It was agreed +   that a publication as experimental RFC was an appropriate means to + + + +Adams, et al.                 Experimental                      [Page 2] + +RFC 3029                     DVCS Protocols                February 2001 + + +   get a stable reference document to permit other implementations to +   occur. + +   The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", +   "RECOMMENDED", "MAY", and "OPTIONAL" in this document (in uppercase, +   as shown) are to be interpreted as described in [RFC2119]. + +   A Data Validation and Certification Server (DVCS) is a Trusted Third +   Party (TTP) providing data validation services, asserting correctness +   of digitally signed documents, validity of public key certificates, +   and possession or existence of data. + +   As a result of the validation, a DVCS generates a Data Validation +   Certificate (DVC).  The data validation certificate can be used for +   constructing evidence of non-repudiation relating to the validity and +   correctness of an entity's claim to possess data, the validity and +   revocation status of an entity's public key certificate and the +   validity and correctness of a digitally signed document. + +   Services provided by a DVCS do not replace the usage of CRLs and OCSP +   for public key certificate revocation checking in large open +   environments, due to concerns about the scalability of the protocol. + +   It should be rather used to support non-repudiation or to supplement +   more traditional services concerning paperless document environments. +   The presence of a data validation certificate supports +   non-repudiation by providing evidence that a digitally signed +   document or public key certificate was valid at the time indicated in +   the DVC. + +   A DVC validating a public key certificate can for example be used +   even after the public key certificate expires and its revocation +   information is no longer or not easily available.  Determining the +   validity of a DVC is assumed to be a simpler task, for example, if +   the population of DVCS is significantly smaller than the population +   of public key certificate owners. + +   An important feature of the protocol is that DVCs can be validated by +   using the same protocol (not necessarily using the same service), and +   the validity of a signed document, in particular a DVC, can also be +   determined by means other than by verifying its signature(s), e.g., +   by comparing against an archive. + +   The production of a data validation certificate in response to a +   signed request for validation of a signed document or public key +   certificate also provides evidence that due diligence was performed +   by the requester in validating a digital signature or public key +   certificate. + + + +Adams, et al.                 Experimental                      [Page 3] + +RFC 3029                     DVCS Protocols                February 2001 + + +   This document defines the use of digital signatures to insure the +   authenticity of documents and DVCs, and uses a corresponding +   terminology; the use of other methods to provide evidence for +   authenticity is not excluded, in particular it is possible to replace +   a SignedData security envelope by another one. + +2. Services provided by DVCS + +   The current specification defines 4 types of validation and +   certification services: + +   - Certification of Possession of Data (cpd), +   - Certification of Claim of Possession of Data (ccpd), +   - Validation of Digitally Signed Document (vsd), and +   - Validation of Public Key Certificates (vpkc). + +   A DVCS MUST support at least a subset of these services.  A DVCS may +   support a restricted vsd service allowing to validate data validation +   certificates. + +   On completion of each service, the DVCS produces a data validation +   certificate - a signed document containing the validation results and +   trustworthy time information. + +2.1 Certification of Possession of Data + +   The Certification of Possession of Data service provides evidence +   that the requester possessed data at the time indicated and that the +   actual data were presented to the Data Validation Server. + +2.2 Certification of Claim of Possession of Data + +   The Certification of Claim of Possession of Data service is similar +   to the previous one, except that the requester does not present the +   data itself but a message digest. + +2.3 Validation of Digitally Signed Documents + +   The Validation of Digitally Signed Document service is used when +   validity of a signed document is to be asserted. + +   The DVCS verifies all signatures attached to the signed document +   using all appropriate status information and public key certificates. +   The DVCS verifies the mathematical correctness of all signatures +   attached to the document and also checks whether the signing entities +   can be trusted, for example by validating the full certification path +   from the signing entities to a trusted point (e.g., the DVCS's CA, or +   the root CA in a hierarchy). + + + +Adams, et al.                 Experimental                      [Page 4] + +RFC 3029                     DVCS Protocols                February 2001 + + +   The DVCS may be able to rely on relevant CRLs or may need to +   supplement this with access to more current status information from +   the CAs for example by accessing an OCSP service, a trusted directory +   service, or other DVCS services. + +   The DVCS will perform verification of all signatures attached to the +   signed document.  A failure of the verification of one of the +   signatures does not necessarily result in the failure of the entire +   validation, and vice versa, a global failure may occur if the +   document has an insufficient number of signatures. + +2.4 Validation of Public Key Certificates + +   The Validation of Public Key Certificates service is used to verify +   and assert the validity (according to [RFC2459]) of one or more +   public key certificates at the specified time. + +   When verifying a public key certificate, the DVCS verifies that the +   certificate included in the request is a valid certificate and +   determines its revocation status at a specified time.  DVS checks the +   full certification path from the certificate's issuer to a trusted +   point.  Again, the DVCS MAY be able to rely on external information +   (CRL, OCSP, DVCS). + +3. Data Certification Server Usage and Scenarii. + +   It is outside the scope of this document to completely describe +   different operational scenarii or usages for DVCS. + +   See Appendix B and C for a set of some basic examples and use cases. + +   The Validate Signed Document service can be used to support non- +   repudiation services, to allow use of the signed document beyond +   public key certificate revocation or expiry, or simply to delegate +   signature validation to a trusted central (company wide) service. + +   The Validate Public Key Certificate service can be used when timely +   information regarding a certificate's revocation status is required +   (e.g., high value funds transfer or the compromise of a highly +   sensitive key) or when evidence supporting non-repudiation is +   required. + +   A data validation certificate may be used to simplify the validation +   of a signature beyond the expiry or subsequent revocation of the +   signing certificate: a Data validation certificate used as an +   authenticated attribute in a signature includes an additional + + + + + +Adams, et al.                 Experimental                      [Page 5] + +RFC 3029                     DVCS Protocols                February 2001 + + +   assertion about the usability of a certificate that was used for +   signing.  In order to validate such a signature it may be sufficient +   to only validate the data validation certificate. + +   A DVCS may include additional key exchange certificates in a data +   validation certificate to validate a key exchange certificate in +   order to provide to an application a set of additional authorised +   recipients for which a session key should also be encrypted.  This +   can be used for example to provide central management of a company +   wide recovery scheme.  Note, that the additional certificates may not +   only depend on the requested certificate, but also on the requester's +   identity. + +   The Certification of Claim of Possession of Data service is also +   known as time stamping. + +   The Certification of Possession of Data service can be used to assert +   legal deposit of documents, or to implement archival services as a +   trusted third party service. + +   The Data Validation and Certification Server Protocols can be used in +   different service contexts.  Examples include company-wide +   centralised services (verification of signatures, certification of +   company certificates), services to cooperate in a multi-organization +   community, or general third party services for time stamping or data +   archival. + +   An important application of DVCS is an enterprise environment where +   all security decisions are based on company wide rules.  A company +   wide DVCS service can be used to delegate all technical decisions +   (e.g., path validation, trust configuration) to a centrally managed +   service. + +   In all cases, the trust that PKI entities have in the Data Validation +   and Certification Server is transferred to the contents of the Data +   Validation Certificate  (just as trust in a CA is transferred to the +   public key certificates that it issues). + +   A DVCS service may be combined with or use archiving and logging +   systems, in order to serve as a strong building block in non- +   repudiation services.  In this sense it can be regarded as an +   Evidence Recording Authority [ISO-NR]. + + + + + + + + + +Adams, et al.                 Experimental                      [Page 6] + +RFC 3029                     DVCS Protocols                February 2001 + + +4. Functional Requirements for DVCS + +   The DVCS MUST + +   1. provide a signed response in the form of a data validation +      certificate to the requester, as defined by policy, or an error +      response.  The DVCS service definition and the policy define how +      much information that has been used by the DVCS to generate the +      response will be included in a data validation certificate, e.g., +      public key certificates, CRLs, and responses from other OCSP +      servers, DVCS, or others. + +   2. indicate in the data validation certificate whether or not the +      signed document, the public key certificate(s), or the data were +      validated, and, if not, the reason why the verification failed. + +   3. include a strictly monotonically increasing serial number in each +      data validation certificate. + +   4. include a time of day value or a time stamp token into each data +      validation certificate. + +   5. sign each data certification token using a key that has been +      certified with a dvcs signing extended key purpose, and include a +      reference to this certificate as a signed attribute in the +      signature. + +   6. check the validity of its own signing key and certificate before +      delivering data validation certificates and MUST not deliver data +      validation certificate in case of failure. + +   A DVCS SHOULD include within each data validation certificate a +   policy identifier to determine the trust and validation policy used +   for DVC's signature. + +5. Data Certification Server Transactions + +   A DVCS transaction begins with a client preparing a Data Validation +   and Certification Request.  The request always contains data for +   which validity, correctness or possession is to be certified. + +   The request MAY be encapsulated using a security envelope to provide +   for authentication of both requester and server.  Requester +   authentication can be achieved by several of the formats described in +   CMS, in particular, signedData. + + + + + + +Adams, et al.                 Experimental                      [Page 7] + +RFC 3029                     DVCS Protocols                February 2001 + + +   The DVCS client chooses an appropriate transport mechanism to convey +   the requests to a DVCS.  It may also be necessary to choose a +   transport mechanism providing confidentiality and, in particular, +   allowing authentication of the DVCS by the requestor, e.g., TLS or +   CMS or S/MIME encryption. + +   If the request is valid, the DVCS performs all necessary +   verifications steps, and generates a Data Validation Certificate +   (DVC), and sends a response message containing the DVC back to the +   requestor. + +   The Data Validation Certificate is formed as a signed document (CMS +   SignedData). + +   As with the request, it may be necessary to choose a transport +   mechanism that provides for confidentiality to carry the DVC.  DVCs +   are not necessarily transported the same way as requests, e.g., they +   can be returned using e-mail after an online request received via +   HTTPS. + +   If the request was invalid, the DVCS generates a response message +   containing an appropriate error notification. + +   Upon receiving the response, the requesting entity SHOULD verify its +   validity, i.e., whether it contains an acceptable time, the correct +   name for the DVCS, the correct request information and message +   imprint, a valid signature, and satisfactory status, service and +   policy fields. + +   When verifying the validity of a DVC, it is up to the requestor's +   application to check whether a DVCS's signing certificate is valid. +   Depending on the usage environment, different methods, online or out +   of band, e.g., CRLs, DVCS, or OCSP, may have to be used. + +   After all checks have passed, the data validation certificate can be +   used to authenticate the correctness or possession of the +   corresponding data. + +   A DVCS may return more than one DVC corresponding to one request.  In +   this case, all but one request have a global status of 'WAITING'. + +6. Identification of the DVCS + +   In order to be able to import elements from dvcs the following object +   identifier is used as a ASN.1 module identifier. + +   id-mod-dvcs OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) +     dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) 15} + + + +Adams, et al.                 Experimental                      [Page 8] + +RFC 3029                     DVCS Protocols                February 2001 + + +   The DVCS that use SignedData to provide authentication for DVCs MUST +   sign all data certification messages with a key whose corresponding +   certificate MUST contain the extended key usage field extension as +   defined in [RFC2459] Section 4.2.1.14 with KeyPurposeID having value +   id-kp-dvcs.  This extension MUST be marked as critical. + +   The Data Validation Certificate MUST contain an ESSCertID +   authenticated attribute for the certificate used by the DVCS for +   signing. + +   id-kp-dvcs  OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) +        dod(6) internet(1) security(5) mechanisms(5) pkix(7) kp(3) 10} + +   Consistent KeyUsage bits: + +   digitalSignature, nonRepudiation, keyCertSign, cRLSign + +   A DVCS's certificate MAY contain an Authority Information Access +   extension [RFC2459] in order to convey the method of contacting the +   DVCS.  The accessMethod field in this extension MUST contain the OID +   id-ad-dvcs: + +   id-ad-dvcs  OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) +        dod(6) internet(1) security(5) mechanisms(5) pkix(7) ad(48) 4} + +   The value of the 'accessLocation' field defines the transport (e.g., +   an URI) used to access the DVCS. + +7. Common Data Types + +   There are several common data types that occur in the request and the +   response data structures.  These data types are either defined by +   this document or imported from other sources.  This chapter defines +   and describes these types and lists their usages. + +7.1 Version: + +   The request and the response include an optional integer field +   specifying the version of the data structure.  For both fields the +   value is 1, or the field is not present at all in this version of the +   protocol. + + + + + + + + + + +Adams, et al.                 Experimental                      [Page 9] + +RFC 3029                     DVCS Protocols                February 2001 + + +7.2 DigestInfo: + +   This element is defined in [RFC2315].  Since the status of that +   document is informational, the definition is repeated here: + +   DigestInfo ::= SEQUENCE { +       digestAlgorithm   DigestAlgorithmIdentifier, +       digest            Digest } + +   Digest ::= OCTET STRING + +   The fields of type DigestInfo have the following meanings: + +   - The field 'digestAlgorithm' identifies the message-digest algorithm +     (and any associated parameters) under which data are digested. + +   - The field 'digest' is the result of the message-digesting process. + +   A DigestInfo is used in two places: + +   - as a data portion for the ccpd service, and + +   - in all a data validation certificates to hold a digest of the data +     portion of the corresponding request or a copy of the data field +     for a ccpd service. + +7.3. Time Values + +   Indicators of time can be present in requests and responses.  In the +   most simple form, the time is represented as GeneralizedTime where +   fractions of seconds are allowed. + +   An alternate form is a timeStampToken from a TSA, or as a DVC (or +   some other token) from another third party service. + +   It is a matter of policy whether a DVCS tries to interpret or +   validate a Time Value in a request. + +   DVCSTime ::= CHOICE  { +        genTime                      GeneralizedTime, +        timeStampToken               ContentInfo } + +   Future versions of the protocol MAY include additional time formats. + +   Time values generated by the DVCS are increasing but not necessarily +   unique, an order among DVCs is defined by serial numbers. + + + + + +Adams, et al.                 Experimental                     [Page 10] + +RFC 3029                     DVCS Protocols                February 2001 + + +7.4. PKIStatusInfo + +   This structure is defined in [RFC2510].  It is used as component of +   the 'chain' field of a TargetEtcChain structure, and as a global +   status indicator in the DVCSResponse structure.  Every occurrence of +   PKIStatusInfo is generated by the responding DVCS to reflect the +   result of some local verification. + +7.5. TargetEtcChain + +   A TargetEtcChain structure contains certificates and other indicators +   to describe either (in a request for a cpkc service) information to +   be validated, or the result of the verifications.  The structure may +   also contain information about policies and policy mappings. + +   The details about how to fill in and to interpret the structure are +   defined later for each service. + +   The 'pathProcInput' field contains information about policies and +   policy mapping to be used or used during a validation. + +   In a response, the 'pkistatus' and `certstatus' choices can only +   occur in the 'chain' sequence.  If present, they contain the result +   of a local verification of the immediately preceding element, or of +   the target value, if it is the first element in the 'chain' sequence. +   If no 'pkistatus' or 'certstatus' is present, the DVCS considers all +   elements in the 'chain' as trustworthy.  Note, that there may be a +   valid OCSP response or DVC indicating an invalid certificate. + +   TargetEtcChain ::= SEQUENCE { +        target                       CertEtcToken, +        chain                        SEQUENCE SIZE (1..MAX) OF +                                        CertEtcToken OPTIONAL, +        pathProcInput                [0] PathProcInput OPTIONAL } + +   PathProcInput ::= SEQUENCE { +        acceptablePolicySet          SEQUENCE SIZE (1..MAX) OF +                                        PolicyInformation, +        inhibitPolicyMapping         BOOLEAN DEFAULT FALSE, +        explicitPolicyReqd           BOOLEAN DEFAULT FALSE } + +   CertEtcToken ::= CHOICE { + +        certificate                  [0] IMPLICIT Certificate , +        esscertid                    [1] ESSCertId , +        pkistatus                    [2] IMPLICIT PKIStatusInfo , +        assertion                    [3] ContentInfo , +        crl                          [4] IMPLICIT CertificateList, + + + +Adams, et al.                 Experimental                     [Page 11] + +RFC 3029                     DVCS Protocols                February 2001 + + +        ocspcertstatus               [5] IMPLICIT CertStatus, +        oscpcertid                   [6] IMPLICIT CertId , +        oscpresponse                 [7] IMPLICIT OCSPResponse, +        capabilities                 [8] SMIMECapabilities, +        extension                    Extension } + +   Certificate, PolicyInformation and CertificateList are defined in +   [RFC2459].  ESSCertId is defined in [RFC2634].  CertId, OCSPResponse +   and CertStatus are defined in [RFC2560].  PKIStatusField is defined +   in [RFC2510]. + +   The choice 'assertion' can contain a data validation certificate, or +   a timeStamp, or other assertions. + +   The choices 'assertion', 'ocspresponse' and 'crl' are provided by +   services external to the responding DVCS.  The choices 'certStatus' +   and 'pkistatus' reflect decisions made directly by the responding +   DVCS. + +   As a replacement for certificates, certification identifiers +   (ESSCertId, CertId)  MAY be used in requests and responses, if this +   is sufficient to perform the service, e.g., when the corresponding +   certificates are provided elsewhere in a request or response (as part +   of the SignedData type). + +   Certificate or certification identifiers of certification authorities +   MAY occur in any order and MAY represent several certification +   chains. + +   The choice 'capabilities' can be used to indicate SMIMECapabilities. +   It applies to the certificate identified by the preceding element in +   the sequence. + +7.6. DVCSRequestInformation + +   A DVCSRequestInformation data structure contains general information +   about the Data Validation and Certification Request.  This structure +   occurs in a request, and is also included in a corresponding Data +   Validation Certificate. + +   DVCSRequestInformation ::= SEQUENCE  { + +           version                      INTEGER DEFAULT 1 , +           service                      ServiceType, +           nonce                        INTEGER OPTIONAL, +           requestTime                  DVCSTime OPTIONAL, +           requester                    [0] GeneralNames OPTIONAL, +           requestPolicy                [1] PolicyInformation OPTIONAL, + + + +Adams, et al.                 Experimental                     [Page 12] + +RFC 3029                     DVCS Protocols                February 2001 + + +           dvcs                         [2] GeneralNames OPTIONAL, +           dataLocations                [3] GeneralNames OPTIONAL, +           extensions                   [4] IMPLICIT Extensions OPTIONAL +   } + +   The ServiceType type enumerates the DVCS service type of a request. +   See chapter 2 for the description of the services. + +   ServiceType ::= ENUMERATED { cpd(1), vsd(2), cpkc(3), ccpd(4) } + +7.7. GeneralName and GeneralNames + +   There are several occurrences of SEQUENCES of GeneralName and +   GeneralNames.  These structures are imported from [RFC2459]. + +8. Data Validation and Certification Requests + +   A Data Validation and Certification request is a ContentInfo defined +   in [RFC2630]. + +   It may consist of a [RFC2630] content with a contenttype id-ct- +   DVCSRequestData signalling a DVCSRequestData, + +   id-ct-DVCSRequestData OBJECT IDENTIFIER ::= {iso(1) member-body(2) +     us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 7} + +   These data are optionally encapsulated by contenttypes that provide +   for authentication and/or confidentiality. + +   This document describes the usage of a SignedData construct of +   [RFC2630] where the contenttype indicated in the eContentType of the +   encapContentInfo is id-ct-DVCSRequestData and the eContent of the +   encapContentInfo, carried as an octet string, contains a +   DVCSRequestData structure. + +   When using a SignedData structure, a Data Validation and +   Certification Request MAY contain several SignerInfo structures, and +   countersignature attributes depending on operational environments. +   When an end user client creates the request, there is one or zero +   SignerInfo.  A relaying DVCS MAY add an additional signature or a +   countersignature attribute, or MAY use another encapsulation from +   [RFC2630] that provides for authentication and/or confidentiality. + +   The content of a request consists of a description of the desired +   service and additional parameters, the data to be validated, and an +   optional identifier of the request. + + + + + +Adams, et al.                 Experimental                     [Page 13] + +RFC 3029                     DVCS Protocols                February 2001 + + +   DVCSRequest ::= SEQUENCE  { +       requestInformation         DVCSRequestInformation, +       data                       Data, +       transactionIdentifier      GeneralName OPTIONAL +   } + +   The 'DVCSRequest.requestInformation' element contains general +   information about the request.  It is filled in by the requester as +   follows: + +   - The 'version' field is set to 1 or the field is absent in this +     version of the protocol. + +     The field 'service' contains the requested service. + +   - The 'nonce' field MAY be used to provide additional protection +     against replay or content guessing attacks. + +   - The 'requestTime' field MAY be used to indicate the time for which +     the requested service should be performed.  For a vsd and cpkc +     service, it specifies the time for which the validity of a signed +     document or certicates is to be asserted.  For the other service, +     the field is ignored by the DVCS.  If the field is absent, the +     current time is assumed. + +   - The value of the 'requester' field indicates the requesting entity. + +     The interpretation and usage of this field MUST be defined by the +     DVCS policy. + +     Some usage examples are: + +     If the field is present, and the request is signed, a DVCS MAY +     require that the field MUST match the identity (subjectName or +     subjectAltName extension) of the corresponding signature +     certificate. + +     A request MAY be signed by a DVCS when relaying it to another DVCS. + +     When acting as a relay, a DVCS MAY add its own identity in the +     request relayed to another service provider, and it MAY remove the +     initial value. + +   - The 'requestPolicy' field SHOULD indicate the policy under which +     the validation is requested.  This field MUST be checked by the +     DVCS to verify agreement with its own policy.  The absence of this +     field indicates that any policy is acceptable. + + + + +Adams, et al.                 Experimental                     [Page 14] + +RFC 3029                     DVCS Protocols                February 2001 + + +   - The 'dvcs' field MAY be used to indicate a list of DVCS which can +     be contacted to provide (additional) information or to perform +     additional operations necessary to produce the response. + +     It is up to the DVCS policy whether to honor this field or not, and +     to define which choice of a general name is acceptable (e.g., an +     URL or a DN). + +   - The 'dataLocations' field MAY be used to indicate where a copy of +     the 'data' field of the request or supplementary information can be +     obtained.  The DVCS does not use this field for its own operation, +     the exact interpretation of this field is defined by applications. + +   - The 'requestTime' field MAY be used to indicate the time for which +     the requested service should be performed.  For a vsd and cpkc +     service, it specifies the time for which the validity of a signed +     document or certicates is to be asserted.  For the other service, +     the field is ignored by the DVCS.  If the field is absent, the +     current time is assumed.  The DVCS service may have a time limit or +     a delta time limit regarding current time which are specified in +     the local policy of the DVCS service. + +   - The 'extensions' field MAY be used to include additional +     information.  Extensions may be marked critical or not in order to +     indicate whether the DVCS is supposed to understand them.  This +     document does not define extensions. + +   The DVCSRequest.data contains service-specific content, defined by +   each particular service provided by the DVCS. + +   Depending on the requested service type, the field may contain a +   signed document, a list of certificates, a message digest or +   arbitrary data. + +   The following type is used: + +   Data ::= CHOICE { +         message           OCTET STRING , +         messageImprint    DigestInfo, +         certs             SEQUENCE SIZE (1..MAX) OF +                               TargetEtcChain +   } + +   The requester fills the 'data' element as follows: + +   - For a vsd service request, the requestor encapsulates a CMS +     SignedData object in the value octets of the 'message' choice. + + + + +Adams, et al.                 Experimental                     [Page 15] + +RFC 3029                     DVCS Protocols                February 2001 + + +     It is up to the requester to decide whether and how to provide any +     certificate that may be needed to verify the signature(s) in the +     signedData object.  A requester MAY add certificates to the +     encapsulated signedData object or in the certificate list of the +     request. + +   - For a cpkc service request the 'certs' choice is used. + +     Each certificate to be verified MUST be included in a separate +     instance of TargetEtcChain.  The 'TargetEtcChain.chain' field, if +     present, indicates one or more chains of trust that can be used to +     validate the certificate.  The DVCS MAY choose to select a subset +     of certificates as certification path, or to ignore this field. +     The 'TargetEtcChain.pathProcInput' field, if present, indicates the +     acceptable policy set and initial settings for explicit-policy- +     indicator and inhibit-policy-mapping indicators to be used in X.509 +     public key certificate path validation (see [RFC2459]). + +     Only the Certificate, ESSCertId, CertId or Extension choices of the +     TargetEtcChain can be used in the request. + +     The requester is responsible for providing sufficient information +     to the DVCS to identify the corresponding certificates. + +   - For a ccpd service the 'messageImprint' choice is used. + +     The hash algorithm indicated in the hashAlgorithm field SHOULD be a +     "strong" hash algorithm (that is, it SHOULD be one-way and +     collision resistant).  It is up to the Data Certification Server to +     decide whether or not the given hash algorithm is sufficiently +     "strong" (based on the current state of knowledge in cryptanalysis +     and the current state of the art in computational resources, for +     example). + +   - For a cpd service the 'message' choice is used. + +     The field contains requester-specific data with any type of +     content.  The DVCS does not inspect, modify, or take any particular +     action based on the particular content of the 'message' field. + +   The field 'DVCSRequest.transactionIdentifier' MAY be used in order to +   associate DVCS responses containing error messages, to requests.  For +   example, in a mail based environment, the parameter could be a copy +   of a messageid.  Note, that the transactionIdentifier is not +   necessary for associating a request with a valid data validation +   certificate. + + + + + +Adams, et al.                 Experimental                     [Page 16] + +RFC 3029                     DVCS Protocols                February 2001 + + +9. DVCS Responses + +   This chapters describes the data structures that are created by a +   DVCS to indicate the results of validation and certification +   requests. + +   A DVCS Response structure is generated by the DVCS as a result of +   processing of the data validation and certification request. + +   A Data Validation response contains an [RFC2630] ContentInfo with a +   type of id-ct-DVCSResponseData signalling a DVCSResponse structure. + +   id-ct-DVCSResponseData OBJECT IDENTIFIER ::= { iso(1) member-body(2) +       us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 8 } + +   The data MAY be encapsulated by constructs of [RFC2630] in order to +   provide authentication of the DVCS, and or integrity and +   confidentiality of the request.  This document specifies the usage of +   a SignedData construct of [RFC2630]. + +   The contenttype indicated in the eContentType of the encapContentInfo +   is of type id-ct-DVCSResponseData, signalling a DVCSResponse as +   eContent of the encapContentInfo (carried as an octet string).  The +   DVCS SHOULD use a key for which a corresponding certificate indicates +   in an extendedKeyUsage the purpose of DVCS signing. + +   In a critical situation when a DVCS cannot produce a valid signature +   (if the DVCS's signing key is known to be compromised, for example), +   the DVCSResponse, containing the error notification, MUST be +   generated as a signedData with no signerInfo attached.  Receiving +   unsigned DVCSResponse MUST be treated by the clients as a critical +   and fatal error, and the content of the message should not be +   implicitly trusted. + +   A valid response can contain one of the following: + +   1. A Data Validation Certificate (DVC), delivering the results of +      data validation operations, performed by the DVCS. + +   2. An error notification.  This may happen when a request fails due +      to a parsing error, requester authentication failure, or anything +      else that prevented the DVCS from executing the request. + + + + + + + + + +Adams, et al.                 Experimental                     [Page 17] + +RFC 3029                     DVCS Protocols                February 2001 + + +   The following type is used: + +   DVCSResponse ::= CHOICE { +       dvCertInfo         DVCSCertInfo , +       dvErrorNote        [0] DVCSErrorNotice } + +9.1. Data Validation Certificate + +   A Data Validation Certificate is a signedData object containing a +   DVCSResponse with a 'dvCertInfo' choice. + +   DVCSCertInfo::= SEQUENCE  { +            version             Integer DEFAULT 1 , +            dvReqInfo           DVCSRequestInformation, +            messageImprint      DigestInfo, +            serialNumber        Integer, +            responseTime        DVCSTime, +            dvStatus            [0] PKIStatusInfo OPTIONAL, +            policy              [1] PolicyInformation OPTIONAL, +            reqSignature        [2] SignerInfos  OPTIONAL, +            certs               [3] SEQUENCE SIZE (1..MAX) OF +                                    TargetEtcChain OPTIONAL, +            extensions          Extensions OPTIONAL } + +   The DVCSCertInfo structure is returned as a result of successful +   execution of data validation service.  It contains the results of the +   data validation, a reference to the original request, and other +   parameters.  Please note that 'successful execution' does not +   necessarily mean that the validation itself was successful - a +   DVCSCertInfo may contain both the 'valid' and 'invalid' results. + +   The DVCS creates a DVCSCertInfo as follows: + +   - The 'version' field is never present in this version of the +     protocol. + +     The 'dvReqInfo' is essentially a copy of the 'requestInformation' +     field of the corresponding request.  The DVCS MAY modify the fields +     'dvcs', 'requester', 'dataLocations', and 'nonce' of the ReqInfo +     structure, e.g., if the request was processed by a chain of DVCS, +     if the request needs to indicate DVCS, or to indicate where to find +     a copy of the data from a 'vpd' request.  The only modification +     allowed to a 'nonce' is the inclusion of a new field if it was not +     present, or to concatenate other data to the end (right) of an +     existing value. + + + + + + +Adams, et al.                 Experimental                     [Page 18] + +RFC 3029                     DVCS Protocols                February 2001 + + +   - The 'DVCSCertInfo.messageImprint' field is computed from the 'data' +     field of the corresponding request as follows: + +     For the 'certs' choice (the 'vpkc' service), the digest is computed +     over the DER encoded data value.  For a 'message' choice (the 'vsd' +     and the 'vpd' services) the digest is computed over the value +     octets (not including tag and length octets) of the OCTET STRING. +     It is up to the DVCS to choose an appropriate digest algorithm. + +     For a 'messageImprint' choice (the 'vcpd' service), the +     'messageImprint' of the DVCSRequest is copied as is. + +   - The 'DVCSCertInfo.serialNumber' field contains a unique identifier +     of the request. + +   - The field 'responseTime' indicates a time value associated with the +     response.  The value MAY be a locally generated one, or a signed +     TimeStampToken (TST) or DVC obtained from an external service. +     Before using a value obtained from an external service, the DVCS +     must validate it according the rules of the external service. + +   - The field 'DVCSCertInfo.dvStatus' reflects a collective result of +     the validation. + +     If the field is missing, it is an equivalent of the SUCCESS +     status. + +     For a vkpc, if the status field is present and set to SUCCESS, it +     indicates that all certificates were successfully validated.  If it +     is present and set to FAILED, it indicates that all or some of the +     certificates failed validation, and the specific status of the +     'certs' should be investigated, at least one of the elements of the +     'certs' TargetEtcChain structures MUST have a failure status. + +     If the field 'dvStatus' does not indicate success ('granted' or +     'granted with mods') the element 'failInfo' MAY indicate the reason +     for the failure.  Note that the field 'certs' MAY contain +     additional information about verification failures. + +     A failure of the verification of one of the signatures does not +     necessarily result in failing to validate a signed document.  For +     example, as long as a sufficient number of signature was +     successfully verified, a DVC with status 'grantedWithMods' may be +     produced.  A DVC with status 'granted' MUST only be produced if all +     signatures verified successfully. + + + + + + +Adams, et al.                 Experimental                     [Page 19] + +RFC 3029                     DVCS Protocols                February 2001 + + +     The field MUST be present, and the status must be set to WAITING, +     if no final response can be immediately available.  It is assumed +     that the DVCS provides an additional final status some time later. +     The details of the necessary procedures are part of the DVCS +     policy. + +     In case of failure, the requester can further investigate the cause +     of the failure, by looking into the TargetEtcChain fields. +     'CertEtctoken.pkistatus' fields will indicate which item(s) has +     failed or succeeded the validation and for what reason. + +   - The 'DVCSCertInfo.policy' field indicates the policy under which +     the DVCS operates. + +   - If present, 'DVCSCertInfo.reqSignature' MUST be the same value as +     the signerInfos field of the corresponding request.  It is a policy +     decision whether to include this field. + +   - The 'DVCSCertInfo.certs' field contains the results of the +     verifications made by the DVCS.  For the cpkc service, each element +     contains a copy of a corresponding field of the request with the +     selected subset in the targetAndChain subfield and the results of +     the verifications, and additional certificates or certificate +     references, e.g., from certification authorities or as described in +     appendix C.3.  For a vsd service, each element contains the result +     of the validation of one signature of the signed document to be +     validated. + +     In case of a global status of WAITING, the DVCS MAY choose to +     return an individual status of waiting in some of the 'certs' +     field, or not to return such a TargetEtcChain at all. + +     The 'acceptablePolicySet' sequence indicates the policies and +     mappings that were processed during X.509 public key certificate +     path validation.  PolicyMappingsSyntax is defined in [RFC2459]. + +   - The 'extensions' field MAY be used to return additional information +     to the client.  Extensions MAY be marked critical or not in order +     to indicate whether the client MUST understand them.  This document +     does not define extensions. + + + + + + + + + + + +Adams, et al.                 Experimental                     [Page 20] + +RFC 3029                     DVCS Protocols                February 2001 + + +9.2. DVCS Error Notification + +   A DVCS Error Notification is a CMS signedData object containing a +   DVCSResponse with a 'dvErrorNote' choice. + +   DVCSErrorNotice ::= SEQUENCE { +       transactionStatus           PKIStatusInfo , +       transactionIdentifier       GeneralName OPTIONAL } + +   The PKIStatusInfo is defined in [RFC2511].  For the purposes of +   communicating the DVCSErrorNotice, the following subset of +   PKIFailureInfo values is used: + +   PKIFailureInfo ::= BITSTRING  { + +        badRequest       (2), +        -- transaction not permitted or supported +        badTime          (3), +        -- messageTime was not sufficiently close to the system time, +        -- as defined by local policy +        badDataFormat    (5), +        -- the data submitted has the wrong format +        wrongAuthority   (6), +        -- the DVCS indicated in the request is different from the +        -- one creating the response token +        incorrectData    (7) +        --the requester's data (i.e., signature) is incorrect ) + +   In the DVCSErrorNotice, the PKIStatus field of the PKIStatusInfo must +   be set to REJECTED. + +   The 'statusString' field of PKIStatusInfo can be used to accommodate +   extra text, such as a reason for the failure, for example "I have +   gone out of service".  The DVCS initializes the +   'DVCSErrorNotice.transactionIdentifier' with a copy of the +   'DVCSRequest.transactionIdentifier' field of the corresponding +   request. + +   In certain circumstances, a DVCS may not be able to produce a valid +   response to a request (for example, if it is unable to compute +   signatures for a period of time).  In these situations the DVCS MAY +   create a response with an DVCSErrorNotice but no signature. + +   DVCS clients SHOULD NOT trust unsigned responses.  A DVCS client MAY +   trust unsigned responses, if the communication channel provides for +   server authentication (e.g., by services defined by TLS [RFC2246]). + + + + + +Adams, et al.                 Experimental                     [Page 21] + +RFC 3029                     DVCS Protocols                February 2001 + + +10.  Transports + +   There is no mandatory transport mechanism in this document.  All +   mechanisms are optional.  Two examples of transport protocols are +   given which allow online exchange of request and a response, and +   asynchronous communication between a client and a DVCS. + +   A DVCS MAY use a combination of protocols, for example in order to +   return additional DVCs. + +10.1 DVCS Protocol via HTTP or HTTPS + +   This subsection specifies a means for conveying ASN.1-encoded +   messages for the DVCS protocol exchanges via the HyperText Transfer +   Protocol. + +   The DER encoded DVCS requests and responses are encapsulated using a +   simple MIME object with Content-Type application/dvcs (and with the +   default binary encoding). + +   This MIME object can be sent and received using common HTTP or HTTPS +   processing engines over WWW links and provides a simple client-server +   transport for DVCS messages. + +10.2 DVCS Protocol Using Email + +   This section specifies a means for conveying ASN.1-encoded messages +   for the protocol exchanges described in Section 8 via Internet mail. + +   The DER encoded DVCS requests and responses are encapsulated using a +   simple MIME object with Content-Type application/dvcs with an +   appropriate Content-Transfer-Encoding. + +   This MIME object can be sent and received using MIME processing +   engines and provides a simple Internet mail transport for DVCS +   messages. + +   In order to be able to associate a possible error response with a +   request, the requester SHOULD use the field 'transactionIdentifier'. +   The requester SHOULD not make any assumption about the usage of +   message header fields by the responding service, in particular the +   usage of fields like Subject, Message-ID or References. + + + + + + + + + +Adams, et al.                 Experimental                     [Page 22] + +RFC 3029                     DVCS Protocols                February 2001 + + +11.  Security Considerations + +   This entire chapter discusses security considerations. + +   When designing a data validation and certification service, the +   following considerations have been identified that have an impact +   upon the validity or "trust" in the data validation certificate. + +   It is imperative that keys used to sign DVCs are guarded with proper +   security and controls in order to minimize the possibility of +   compromise.  Nevertheless, in case the private key does become +   compromised, an audit trail of all the DVC generated by the DVCS +   SHOULD be kept as a means to help discriminate between genuine and +   false DVCs.  A DVCS MAY provide for a vsd service to validate DVCs +   created by this DVCS or another one solely based on the audit trail. + +   When confidentiality and server authentication is required, requests +   and responses MAY be protected using appropriate mechanisms (e.g., +   CMS encapsulation [RFC 2630] or TLS [RFC2246]). + +   Server authentication is highly recommended for the vsd and cpd +   service. + +   Client identification and authentication MAY use services defined by +   TLS [RFC2246]) instead of, or in addition to, using a CMS format +   providing authentication. + +12.  Patent Information + +   The following United States Patents related to data validation and +   certification services, listed in chronological order, are known by +   the authors to exist at this time.  This may not be an exhaustive +   list.  Other patents may exist or be issued at any time. +   Implementers of the DVCS protocol and applications using the protocol +   SHOULD perform their own patent search and determine whether or not +   any encumberences exist on their implementation. + +# 4,309,569     Method of Providing Digital Signatures +(issued) January 5, 1982 +(inventor) Ralph C.  Merkle +(assignee) The Board of Trustees of the Leland Stanford Junior +University + +# 5,001,752     Public/Key Date-Time Notary Facility +(issued) March 19, 1991 +(inventor) Addison M.  Fischer + + + + + +Adams, et al.                 Experimental                     [Page 23] + +RFC 3029                     DVCS Protocols                February 2001 + + +# 5,022,080     Electronic Notary +(issued) June 4, 1991 +(inventors) Robert T.  Durst, Kevin D.  Hunter + +# 5,136,643     Public/Key Date-Time Notary Facility +(issued) August 4, 1992 +(inventor) Addison M.  Fischer +(Note: This is a continuation of patent # 5,001,752.) + +# 5,136,646     Digital Document Time-Stamping with Catenate Certificate +(issued) August 4, 1992 +(inventors) Stuart A.  Haber, Wakefield S.  Stornetta Jr. +(assignee) Bell Communications Research, Inc., + +# 5,136,647     Method for Secure Time-Stamping of Digital Documents +(issued) August 4, 1992 +(inventors) Stuart A.  Haber, Wakefield S.  Stornetta Jr. +(assignee) Bell Communications Research, Inc., + +# 5,373,561     Method of Extending the Validity of a Cryptographic +Certificate +(issued) December 13, 1994 +(inventors) Stuart A.  Haber, Wakefield S.  Stornetta Jr. +(assignee) Bell Communications Research, Inc., + +# 5,422,95 Personal Date/Time Notary Device +(issued) June 6, 1995 +(inventor) Addison M.  Fischer + +# 5,781,629     Digital Document Authentication System +(issued) July 14, 1998 +(inventor) Stuart A. Haber, Wakefield S. Stornetta Jr. +(assignee) Surety Technologies, Inc., + + + + + + + + + + + + + + + + + + +Adams, et al.                 Experimental                     [Page 24] + +RFC 3029                     DVCS Protocols                February 2001 + + +13.  References + +   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate +              Requirement Levels", BCP 14, RFC 2119, March 1997. + +   [RFC2510]  Adams, C. and S. Farrell, "Internet X.509 Public Key +              Infrastructure, Certificate Management Protocols", RFC +              2510, March 1999. + +   [RFC2459]  Housley, R., Ford, W., Polk, W. and D. Solo, "Internet +              X.509 Public Key Infrastructure, Certificate and CRL +              Profile", RFC 2459, January 1999. + +   [RFC2630]  Housley, R., "Cryptographic Message Syntax", RFC 2630, +              June 1999. + +   [ISONR]    ISO/IEC 10181-5:  Security Frameworks in Open Systems. +              Non-Repudiation Framework. + +   [RFC2119]  Bradner, S., "Key works for use in RFCs to Indicate +              Requirement Levels", BCP 14, RFC 2119, March 1997. + +   [RFC2511]  Myers, M., Adams, C., Solo, D. and D. Kemp, "Internet +              X.509 Certificate Request Message Format", RFC 2511, March +              1999. + +   [RFC2246]  Dierks, T. and C. Allen, "The TLS Protocol, Version 1.0", +              RFC 2246, January 1999. + +   [RFC2634]  Hoffman P., "Enhanced Security Services for S/MIME", RFC +              2634, June 1999. + +   [RFC2560]  Myers, M., Ankney, R., Malpani, A., Galperin, S. and C. +              Adams, "X.509 Internet Public Key Infrastructure Online +              Certificate Status Protocol", RFC 2560, June 1999. + + + + + + + + + + + + + + + + +Adams, et al.                 Experimental                     [Page 25] + +RFC 3029                     DVCS Protocols                February 2001 + + +14.  Authors' Addresses + +   Carlisle Adams +   Entrust Technologies +   1000 Innovation Drive +   Ottawa, Ontario +   K2K 3E7 +   CANADA + +   EMail: cadams@entrust.com + + +   Michael Zolotarev +   Baltimore Technologies Pty Limited +   5th Floor, 1 James Place +   North Sydney, NSW 2060 +   AUSTRALIA + +   EMail: mzolotarev@baltimore.com + + +   Peter Sylvester +   EdelWeb SA - Groupe ON-X Consulting +   15, Quai de Dion Bouton +   F-92816 Puteaux Cedex +   FRANCE + +   EMail: peter.sylvester@edelweb.fr + + +   Robert Zuccherato +   Entrust Technologies +   1000 Innovation Drive +   Ottawa, Ontario +   K2K 3E7 +   CANADA + +   EMail: robert.zuccherato@entrust.com + + + + + + + + + + + + + +Adams, et al.                 Experimental                     [Page 26] + +RFC 3029                     DVCS Protocols                February 2001 + + +APPENDIX A - PKCS #9 Attribute + +   We define a PKCS #9 [PKCS9] attribute type.  The attribute type has +   ASN.1 type SignedData and contains a data validation certificate. + +   The object identifier id-aa-dvcs-dvc identifies the data validation +   certificate attribute type. + +   id-aa-dvcs-dvc OBJECT IDENTIFIER ::= {iso(1) member-body(2) +       us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2) 29} + +   The attribute may be used as an authenticated or unauthenticated +   attribute in CMS SignedData documents. + +APPENDIX B - Signed document validation. + +   We present some examples of a possible use of DVCS in the context of +   validation of signed documents. + +B.1 Signed document validation + +   The example covers the case where a DVCS is used by a signer to +   obtain a proof that a document's structure, including one or more +   attached signatures, is/was correct, after the document was signed. + +   The DVC can be produced either by a DVCS that is trusted by the +   signer, or by a DVCS that is trusted by an intended verifier of the +   document. + +   The signer uses the obtained DVC as an evidence that its intentions +   were good and it produced a signed document using the +   environment(keys, algorithms, etc) that was known to be OK. + +   It produces a stand-alone document that can be used to extend the +   life of a signature.  This example assumes that we have total trust +   in the Data Validation and Certification Server. + +   Signature algorithms and keys have a finite lifetime.  Therefore, +   signatures have a finite lifetime.  The Data Certification Server can +   be used to extend the lifetime of a signature. + +   In order to extend the lifetime of a signature in this way, the +   following technique can be used: + +   1) The signature needs to be certified: + +      The signed message is presented to the Data Validation and +      Certification Server in a 'vsd' service request. + + + +Adams, et al.                 Experimental                     [Page 27] + +RFC 3029                     DVCS Protocols                February 2001 + + +      The DVCS verifies that the signature and certificates are valid at +      that time by checking expiry dates, status information, or DVCs, +      and returns a DVC. + +   2) The DVC SHOULD be verified. + +      The signature of the Data Validation and Certification Server in +      data certification token SHALL be verified using the Data +      Certification Server's valid verification key. + +   A signer's signing key (and therefore, its signature) is only valid +   until some specified time T1.  The DVCS's signing key (and therefore, +   its signature) is valid until some specified time T2 that is +   (usually) after time T1.  Without certification, the signer's +   signature would only be valid until time T1.  With certification, the +   signer's signature remains valid until time T2, regardless of +   subsequent revocation or expiry at time T1. + +   If the signature of the DVCS is valid, the trust we have in the DVCS +   allows us to conclude that the original signature on the data was +   valid at the time included in the DVC. + +   The DVCS signing key MUST be of a sufficient length to allow for a +   sufficiently long lifetime.  Even if this is done, the key will have +   a finite lifetime.  Since data validation certificates are just +   another type of signed documents, they can be validated using +   (another) DVCS. + +APPENDIX C - Verifying the Status of a Public Key Certificate + +   We now present three examples of how to produce a data validation +   certificate that can be used to assert that a public key certificate +   is valid, trusted, and can be used for a particular purpose. + +   A client wants to use a given public key certificate either to use it +   to verify a signature on a document or to use it for document +   encryption. + +   A DVCS MUST have access to current information regarding public +   certificate status, it can therefore be used to verify the revocation +   status of a certificate at the current time. + +   The following technique can be used: + +   A) The public key certificate needs to be validated. + +      The certificate is presented to the Data Certification Server +      using a 'vpkc' service. + + + +Adams, et al.                 Experimental                     [Page 28] + +RFC 3029                     DVCS Protocols                February 2001 + + +      The Data Validation and Certification Server verifies that the +      public key certificate is valid and that it hasn't been revoked +      and then returns a data validation certificate. + +   B) The data validation certificate MUST be verified. + +      The signature of the Data Certification Server in the data +      certification token SHALL be verified using the Data Validation +      and Certification Server's valid certificate. + +   C) The public key certificate is used: + +   C.1) A clients's own public key certificate (i.e., the corresponding +        private key) can be used to add a signature to a document.  The +        signing certificate and the data validation certificate can be +        added as signed attributes to the signature. + +        A data validation certificate can now be used during the +        validation signatures using the key contained in the public key +        certificate.  This service provided by the DVCS can be thought +        of as a supplement to the usual method of checking revocation +        status. + +        In other words, signature validation at a later time does not +        necessarily require access to the revocation status of the +        user's signing certificate, access to a DVCS service and +        validation of the DVC is sufficient to verify a signature.  Note +        that the DVC does not tell when the signature had been created, +        it only indicates when the signing certificate was valid. + +   C.2) A public key certificate for key exchange can be used after +        having obtained a data validation certification certificate to +        encrypt data.  The DVC can be stored with the data and/or stored +        by the creator of the encrypted document. + +        If an intended recipient of the document claims that the creator +        did not use an appropriate encryption key, the DVC (obtained by +        a recipient's DVCS) can be used as evidence that the recipient's +        DVCS has authorized the usage of the public key. + +   C.3) The procedure described in the previous paragraph can be +        enhanced to provide domain encryption in several ways. +        Organizations require that encrypted documents need to be +        recoverable.  One simple way is to always encrypt documents with +        additional recipients that act as 'domain encryption centers' or +        'recovery centers'.  This is not a technically difficult + + + + + +Adams, et al.                 Experimental                     [Page 29] + +RFC 3029                     DVCS Protocols                February 2001 + + +        problem, but may require complicated and difficult interactions +        with the end user, in particular when the document's recipients +        are in several different organizations. + +        One possible solution consists of adding additional certificates +        to the dvc that validates the usage of a particular public key +        certificate used for encryption.  In an environment of several +        organizations, one of the possible procedures may be: + +        The client asks its local dvcs to validate the public key +        certificate.  The dvcs forwards the request to a dvcs of a +        remote organization.  The remotes organization's dvcs verifies +        the certificate and provides a dvc assertion validating the +        certificate.  It adds additional certificates usable for key +        exchange to the certEtcChain structure indicating additional +        required recipients.  The local dvc creates a dvc containing the +        dvc of the remote dvcs.  It may add additional certificates or +        references to the dvc.  The clients use all validated +        certificates to be usable for key exchange to enhance its list +        of recipients. + +        In the local dvcs may as well use local information about the +        remote organization's need for additional recipients. + +Appendix D - MIME Registration + +   To: ietf-types@iana.org Subject: Registration of MIME media type +   application/timestamp + +   MIME media type name: application + +   MIME subtype name: dvcs + +   Required parameters: None + +   Optional parameters: None + +   Encoding considerations: binary or Base64 + +   Security considerations: Carries a request for a data validation and +   certification service and the response.  A request may be +   cryptographically signed.  The response will be cryptographically +   signed. + +   Interoperability considerations: None + +   Published specification: +   RFC 3029 on Data Validation and Certification Server Protocols + + + +Adams, et al.                 Experimental                     [Page 30] + +RFC 3029                     DVCS Protocols                February 2001 + + +   Applications which use this media type: Data Validation and +   Certification Servers and Clients + +   Additional information: + +     Magic number(s): None +     File extension(s): .dvc +     Macintosh File Type Code(s): none + +   Person & email address to contact for further information: Peter +   Sylvester <peter.sylvester@edelweb.fr> + +   Intended usage: COMMON + +   Author/Change controller: Peter Sylvester +   <peter.sylvester@edelweb.fr> + +Appendix E - ASN.1 Module using 1988 Syntax + +PKIXDVCS {iso(1) identified-organization(3) dod(6) internet(1) +   security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-dvcs(15)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +-- EXPORTS ALL -- + +IMPORTS +  Extensions, AlgorithmIdentifier +  FROM PKIX1Explicit88 {iso(1) identified-organization(3) +  dod(6) internet(1) security(5) mechanisms(5) pkix(7) +  id-mod(0) id-pkix1-explicit-88(1)} + +  GeneralName, PolicyInformation +  FROM PKIX1Implicit88 {iso(1) identified-organization(3) +  dod(6) internet(1) security(5) mechanisms(5) pkix(7) +  id-mod(0) id-pkix1-implicit-88(2)} + +  PKIStatusInfo, PKIStatusField FROM PKIXCMP {iso(1) +  identified-organization(3) dod(6) internet(1) security(5) +  mechanisms(5) pkix(7) id-mod(0) +  id-mod-cmp(9)} + +  ContentInfo FROM CryptographicMessageSyntax {iso(1) +  member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) +  smime(16) modules(0) cms(1)} + + + + +Adams, et al.                 Experimental                     [Page 31] + +RFC 3029                     DVCS Protocols                February 2001 + + +  ESSCertID FROM ExtendedSecurityServices +  { iso(1) member-body(2) us(840) rsadsi(113549) +  pkcs(1) pkcs-9(9) smime(16) modules(0) ess(2) } + +  CertId, OCSPResponse, CertStatus +  FROM OCSP +  {iso(1) identified-organization(3) +  dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) +  id-mod-ocsp(14)} + +  SMIMECapabilities FROM SecureMimeMessageV3 +  { iso(1) member-body(2) us(840) rsadsi(113549) +   pkcs(1) pkcs-9(9) smime(16) modules(0) smime(4) } + +  ; + +-- Authority Information Access for DVCS + +id-ad-dvcs  OBJECT IDENTIFIER ::= {id-pkix id-ad(48) 4} + +-- Key Purpose for DVCS + +id-kp-dvcs  OBJECT IDENTIFIER ::= {id-pkix id-kp(3) 10} + +-- eContentType for a dvcs requests and responses + +id-ct-DVCSRequestData  OBJECT IDENTIFIER ::= { id-smime ct(1) 7 } +id-ct-DVCSResponseData OBJECT IDENTIFIER ::= { id-smime ct(1) 8 } + +-- Data validation certificate attribute + +id-aa-dvcs-dvc OBJECT IDENTIFIER ::= { id-smime aa(2) 29 } + +-- using the following bases : + +id-pkix     OBJECT IDENTIFIER ::= {iso(1) +               identified-organization(3) dod(6) +               internet(1) security(5) mechanisms(5) pkix(7)} + +id-smime    OBJECT IDENTIFIER ::= { iso(1) member-body(2) +               us(840) rsadsi(113549) pkcs(1) pkcs-9(9) 16 } + +Version ::= Integer + +DigestInfo ::= SEQUENCE { +    digestAlgorithm   DigestAlgorithmIdentifier, +    digest            Digest +} + + + +Adams, et al.                 Experimental                     [Page 32] + +RFC 3029                     DVCS Protocols                February 2001 + + +Digest ::= OCTET STRING + +Nonce ::= Integer + +DVCSTime ::= CHOICE  { +     genTime                      GeneralizedTime, +     timeStampToken               ContentInfo +} +TargetEtcChain ::= SEQUENCE { +     target                       CertEtcToken, +     chain                        SEQUENCE SIZE (1..MAX) OF +                                     CertEtcToken OPTIONAL, +     pathProcInput                [0] PathProcInput OPTIONAL +} + +PathProcInput ::= SEQUENCE { +     acceptablePolicySet          SEQUENCE SIZE (1..MAX) OF +                                     PolicyInformation, +     inhibitPolicyMapping         BOOLEAN DEFAULT FALSE, +     explicitPolicyReqd           BOOLEAN DEFAULT FALSE +} + +CertEtcToken ::= CHOICE { +     certificate                  [0] IMPLICIT Certificate , +     esscertid                    [1] ESSCertId , +     pkistatus                    [2] IMPLICIT PKIStatusInfo , +     assertion                    [3] ContentInfo , +     crl                          [4] IMPLICIT CertificateList, +     ocspcertstatus               [5] IMPLICIT CertStatus, +     oscpcertid                   [6] IMPLICIT CertId , +     oscpresponse                 [7] IMPLICIT OCSPResponse, +     capabilities                 [8] SMIMECapabilities, +     extension                    Extension +} + +DVCSRequestInformation ::= SEQUENCE  { +        version                      INTEGER DEFAULT 1 , +        service                      ServiceType, +        nonce                        Nonce OPTIONAL, +        requestTime                  DVCSTime OPTIONAL, +        requester                    [0] GeneralNames OPTIONAL, +        requestPolicy                [1] PolicyInformation OPTIONAL, +        dvcs                         [2] GeneralNames OPTIONAL, +        dataLocations                [3] GeneralNames OPTIONAL, +        extensions                   [4] IMPLICIT Extensions OPTIONAL +} + +ServiceType ::= ENUMERATED { cpd(1), vsd(2), cpkc(3), ccpd(4) } + + + +Adams, et al.                 Experimental                     [Page 33] + +RFC 3029                     DVCS Protocols                February 2001 + + +DVCSRequest ::= SEQUENCE  { +    requestInformation         DVCSRequestInformation, +    data                       Data, +    transactionIdentifier      GeneralName OPTIONAL +} + +Data ::= CHOICE { +      message           OCTET STRING , +      messageImprint    DigestInfo, +      certs             SEQUENCE SIZE (1..MAX) OF +                            TargetEtcChain +} + +DVCSResponse ::= CHOICE +{ +    dvCertInfo         DVCSCertInfo , +    dvErrorNote        [0] DVCSErrorNotice +} + +DVCSCertInfo::= SEQUENCE  { +         version             Integer DEFAULT 1 , +         dvReqInfo           DVCSRequestInformation, +         messageImprint      DigestInfo, +         serialNumber        Integer, +         responseTime        DVCSTime, +         dvStatus            [0] PKIStatusInfo OPTIONAL, +         policy              [1] PolicyInformation OPTIONAL, +         reqSignature        [2] SignerInfos  OPTIONAL, +         certs               [3] SEQUENCE SIZE (1..MAX) OF +                                 TargetEtcChain OPTIONAL, +         extensions          Extensions OPTIONAL +} + +DVCSErrorNotice ::= SEQUENCE { +    transactionStatus           PKIStatusInfo , +    transactionIdentifier       GeneralName OPTIONAL +} + +END + +Appendix F - Examples + +   This chapter contains an example of a request and a response of a +   'Certify Claim of Possession of Data' transaction of the Clepsydre +   Demonstration Project sponsored by La Poste, France. + +   The information has been formatted with a slightly modified version +   of Peter Gutmann's dumpasn1 program. + + + +Adams, et al.                 Experimental                     [Page 34] + +RFC 3029                     DVCS Protocols                February 2001 + + +   The response Data Validation Certificate contains the signing +   certificate. + +   The data that are time stamped is the binary of the client program +   used to make the request. + +   Request: + +   0 30  582: SEQUENCE { +   4 06    9:  OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) +            : . (PKCS #7) +  15 A0  567:  [0] { +  19 30  563: . SEQUENCE { +  23 02    1: .  INTEGER 3 +  26 31   11: .  SET { +  28 30    9: . . SEQUENCE { +  30 06    5: . .  OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) +  37 05    0: . .  NULL +            : . .  } +            : . . } +  39 30  153: .  SEQUENCE { +  42 06   11: . . OBJECT IDENTIFIER +            : . .  id-ct-DVCSRequestData (1 2 840 113549 1 9 16 1 7) +            : . .  (S/MIME Content Types (1 2 840 113549 1 9 16 1)) +  55 A0  137: . . [0] { +  58 04  134: . .  OCTET STRING, encapsulates { +  61 30  131: . . .  SEQUENCE { +  64 30   96: . . . . SEQUENCE { +  66 0A    1: . . . .  ENUMERATED CCPD (4) +  69 A0   77: . . . .  [0] { +  71 A4   75: . . . . . [4] { +  73 30   73: . . . . .  SEQUENCE { +  75 31   11: . . . . . . SET { +  77 30    9: . . . . . .  SEQUENCE { +  79 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  countryName (2 5 4 6) +            : . . . . . . .  (X.520 id-at (2 5 4)) +  84 13    2: . . . . . . . PrintableString 'FR' +            : . . . . . . . } +            : . . . . . .  } +  88 31   14: . . . . . . SET { +  90 30   12: . . . . . .  SEQUENCE { +  92 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  localityName (2 5 4 7) +            : . . . . . . .  (X.520 id-at (2 5 4)) +  97 13    5: . . . . . . . PrintableString 'Paris' +            : . . . . . . . } +            : . . . . . .  } + + + +Adams, et al.                 Experimental                     [Page 35] + +RFC 3029                     DVCS Protocols                February 2001 + + + 104 31   16: . . . . . . SET { + 106 30   14: . . . . . .  SEQUENCE { + 108 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  organizationName (2 5 4 10) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 113 13    7: . . . . . . . PrintableString 'EdelWeb' +            : . . . . . . . } +            : . . . . . .  } + 122 31   24: . . . . . . SET { + 124 30   22: . . . . . .  SEQUENCE { + 126 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  commonName (2 5 4 3) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 131 13   15: . . . . . . . PrintableString 'Peter Sylvester' +            : . . . . . . . } +            : . . . . . .  } +            : . . . . . . } +            : . . . . .  } +            : . . . . . } + 148 A1   12: . . . .  [1] { + 150 06   10: . . . . . OBJECT IDENTIFIER '1 3 6 1 4 1 5309 1 2 1' +            : . . . . . } +            : . . . .  } + 162 30   31: . . . . SEQUENCE { + 164 30    7: . . . .  SEQUENCE { + 166 06    5: . . . . . OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) +            : . . . . .  (OIW) +            : . . . . . } + 173 04   20: . . . .  OCTET STRING +            : . . . .  75 B6 85 AF 6F 89 46 7D E8 07 15 25 1E 45 97 8F +            : . . . .  CD 1F A5 66 +            : . . . .  } +            : . . . . } +            : . . .  } +            : . .  } +            : . . } + 195 31  387: .  SET { + 199 30  383: . . SEQUENCE { + 203 02    1: . .  INTEGER 1 + 206 30  124: . .  SEQUENCE { + 208 30  112: . . . SEQUENCE { + 210 31   11: . . .  SET { + 212 30    9: . . . . SEQUENCE { + 214 06    3: . . . .  OBJECT IDENTIFIER countryName (2 5 4 6) +            : . . . . . (X.520 id-at (2 5 4)) + 219 13    2: . . . .  PrintableString 'FR' +            : . . . .  } +            : . . . . } + + + +Adams, et al.                 Experimental                     [Page 36] + +RFC 3029                     DVCS Protocols                February 2001 + + + 223 31   21: . . .  SET { + 225 30   19: . . . . SEQUENCE { + 227 06    3: . . . .  OBJECT IDENTIFIER organizationName (2 5 4 10) +            : . . . . . (X.520 id-at (2 5 4)) + 232 13   12: . . . .  PrintableString 'EdelWeb S.A.' +            : . . . .  } +            : . . . . } + 246 31   40: . . .  SET { + 248 30   38: . . . . SEQUENCE { + 250 06    3: . . . .  OBJECT IDENTIFIER +            : . . . . . organizationalUnitName (2 5 4 11) +            : . . . . . (X.520 id-at (2 5 4)) + 255 13 31: . . . .  PrintableString 'Clepsydre Demonstration Service' +            : . . . .  } +            : . . . . } + 288 31   32: . . .  SET { + 290 30   30: . . . . SEQUENCE { + 292 06    3: . . . .  OBJECT IDENTIFIER commonName (2 5 4 3) +            : . . . . . (X.520 id-at (2 5 4)) + 297 13   23: . . . .  PrintableString 'Time Stamping Authority' +            : . . . .  } +            : . . . . } +            : . . .  } + 322 02    8: . . . INTEGER +            : . . .  00 94 88 17 21 34 37 76 +            : . . . } + 332 30    9: . .  SEQUENCE { + 334 06    5: . . . OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) +            : . . .  (OIW) + 341 05    0: . . . NULL +            : . . . } + 343 A0   95: . .  [0] { + 345 30   26: . . . SEQUENCE { + 347 06    9: . . .  OBJECT IDENTIFIER +            : . . . . contentType (1 2 840 113549 1 9 3) +            : . . . . (PKCS #9 (1 2 840 113549 1 9)) + 358 31   13: . . .  SET { + 360 06   11: . . . . OBJECT IDENTIFIER +            : . . . .  id-ct-dvcsrequest (1 2 840 113549 1 9 16 1 7) +            : . . . .  (S/MIME Content Types (1 2 840 113549 1 9 16 1)) +            : . . . . } +            : . . .  } + 373 30   28: . . . SEQUENCE { + 375 06    9: . . .  OBJECT IDENTIFIER +            : . . . . signingTime (1 2 840 113549 1 9 5) +            : . . . . (PKCS #9 (1 2 840 113549 1 9)) + 386 31   15: . . .  SET { + 388 17   13: . . . . UTCTime '000417171457Z' + + + +Adams, et al.                 Experimental                     [Page 37] + +RFC 3029                     DVCS Protocols                February 2001 + + +            : . . . . } +            : . . .  } + 403 30   35: . . . SEQUENCE { + 405 06    9: . . .  OBJECT IDENTIFIER +            : . . . . messageDigest (1 2 840 113549 1 9 4) +            : . . . . (PKCS #9 (1 2 840 113549 1 9)) + 416 31   22: . . .  SET { + 418 04   20: . . . . OCTET STRING +            : . . . .  4D A8 C2 D2 CE 7C 0D 04 41 2F 44 13 33 75 DB 2F +            : . . . .  5B 2D F9 DC +            : . . . . } +            : . . .  } +            : . . . } + 440 30   13: . .  SEQUENCE { + 442 06    9: . . . OBJECT IDENTIFIER +            : . . .  rsaEncryption (1 2 840 113549 1 1 1) +            : . . .  (PKCS #1) + 453 05    0: . . . NULL +            : . . . } + 455 04  128: . .  OCTET STRING +            : . . . 6E 7B 0E 36 F5 08 5F 16 3C 31 7B 28 BB 0B C2 C6 +            : . . . 17 67 A6 B5 54 F1 98 E2 6F 89 96 0E 0C 99 E6 CB +            : . . . 40 C1 9B 8D D8 D7 8E D3 2B 41 F7 16 26 5B B7 08 +            : . . . BF E6 95 B2 D9 01 6C FE B1 2C 52 C1 5A D2 31 F3 +            : . . . 8E CA DD 11 A1 72 05 29 41 6A DD 28 40 AA 5C 77 +            : . . . C6 9D 1D 80 53 DB 6F 9C 4C A5 A3 8F 92 8B 18 3F +            : . . . D5 3A AD 01 87 69 C3 FD D3 D8 C3 D0 CA 6B E6 0D +            : . . . 4E 53 6E 50 20 99 7C 94 C2 44 25 1B 06 C0 99 96 +            : . .  } +            : . . } +            : .  } +            : . } +            :  } + +The corresponding data in PEM format are: + +-----BEGIN PKCS7----- +MIICRgYJKoZIhvcNAQcCoIICNzCCAjMCAQMxCzAJBgUrDgMCGgUAMIGZBgsqhkiG +9w0BCRABB6CBiQSBhjCBgzBgCgEEoE2kSzBJMQswCQYDVQQGEwJGUjEOMAwGA1UE +BxMFUGFyaXMxEDAOBgNVBAoTB0VkZWxXZWIxGDAWBgNVBAMTD1BldGVyIFN5bHZl +c3RlcqEMBgorBgEEAak9AQIBMB8wBwYFKw4DAhoEFHW2ha9viUZ96AcVJR5Fl4/N +H6VmMYIBgzCCAX8CAQEwfDBwMQswCQYDVQQGEwJGUjEVMBMGA1UEChMMRWRlbFdl +YiBTLkEuMSgwJgYDVQQLEx9DbGVwc3lkcmUgRGVtb25zdHJhdGlvbiBTZXJ2aWNl +MSAwHgYDVQQDExdUaW1lIFN0YW1waW5nIEF1dGhvcml0eQIIAJSIFyE0N3YwCQYF +Kw4DAhoFAKBfMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBzAcBgkqhkiG9w0B +CQUxDxcNMDAwNDE3MTcxNDU3WjAjBgkqhkiG9w0BCQQxFgQUTajC0s58DQRBL0QT +M3XbL1st+dwwDQYJKoZIhvcNAQEBBQAEgYBuew429QhfFjwxeyi7C8LGF2emtVTx +mOJviZYODJnmy0DBm43Y147TK0H3FiZbtwi/5pWy2QFs/rEsUsFa0jHzjsrdEaFy + + + +Adams, et al.                 Experimental                     [Page 38] + +RFC 3029                     DVCS Protocols                February 2001 + + +BSlBat0oQKpcd8adHYBT22+cTKWjj5KLGD/VOq0Bh2nD/dPYw9DKa+YNTlNuUCCZ +fJTCRCUbBsCZlg== +-----END PKCS7----- + +Response: + +   0 30 2039: SEQUENCE { +   4 06    9:  OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) +            : . (PKCS #7) +  15 A0 2024:  [0] { +  19 30 2020: . SEQUENCE { +  23 02    1: .  INTEGER 3 +  26 31   11: .  SET { +  28 30    9: . . SEQUENCE { +  30 06    5: . .  OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) +            : . . . (OIW) +  37 05    0: . .  NULL +            : . .  } +            : . . } +  39 30  301: .  SEQUENCE { +  43 06   11: . . OBJECT IDENTIFIER +            : . .  id-ct-DVCSResponseData (1 2 840 113549 1 9 16 1 8) +            : . .  (S/MIME Content Types (1 2 840 113549 1 9 16 1)) +  56 A0  284: . . [0] { +  60 04  280: . .  OCTET STRING, encapsulates { +  64 30  276: . . .  SEQUENCE { +  68 30  214: . . . . SEQUENCE { +  71 0A    1: . . . .  ENUMERATED CCPD (4) +  74 A0   77: . . . .  [0] { +  76 A4   75: . . . . . [4] { +  78 30   73: . . . . .  SEQUENCE { +  80 31   11: . . . . . . SET { +  82 30    9: . . . . . .  SEQUENCE { +  84 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  countryName (2 5 4 6) +            : . . . . . . .  (X.520 id-at (2 5 4)) +  89 13    2: . . . . . . . PrintableString 'FR' +            : . . . . . . . } +            : . . . . . .  } +  93 31   14: . . . . . . SET { +  95 30   12: . . . . . .  SEQUENCE { +  97 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  localityName (2 5 4 7) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 102 13    5: . . . . . . . PrintableString 'Paris' +            : . . . . . . . } +            : . . . . . .  } + 109 31   16: . . . . . . SET { + + + +Adams, et al.                 Experimental                     [Page 39] + +RFC 3029                     DVCS Protocols                February 2001 + + + 111 30   14: . . . . . .  SEQUENCE { + 113 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  organizationName (2 5 4 10) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 118 13    7: . . . . . . . PrintableString 'EdelWeb' +            : . . . . . . . } +            : . . . . . .  } + 127 31   24: . . . . . . SET { + 129 30   22: . . . . . .  SEQUENCE { + 131 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  commonName (2 5 4 3) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 136 13   15: . . . . . . . PrintableString 'Peter Sylvester' +            : . . . . . . . } +            : . . . . . .  } +            : . . . . . . } +            : . . . . .  } +            : . . . . . } + 153 A1   12: . . . .  [1] { + 155 06   10: . . . . . OBJECT IDENTIFIER '1 3 6 1 4 1 5309 1 2 1' +            : . . . . . } + 167 A2  116: . . . .  [2] { + 169 A4  114: . . . . . [4] { + 171 30  112: . . . . .  SEQUENCE { + 173 31   11: . . . . . . SET { + 175 30    9: . . . . . .  SEQUENCE { + 177 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  countryName (2 5 4 6) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 182 13    2: . . . . . . . PrintableString 'FR' +            : . . . . . . . } +            : . . . . . .  } + 186 31   21: . . . . . . SET { + 188 30   19: . . . . . .  SEQUENCE { + 190 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  organizationName (2 5 4 10) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 195 13   12: . . . . . . . PrintableString 'EdelWeb S.A.' +            : . . . . . . . } +            : . . . . . .  } + 209 31   40: . . . . . . SET { + 211 30   38: . . . . . .  SEQUENCE { + 213 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  organizationalUnitName (2 5 4 11) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 218 13 31: . . . . . PrintableString 'Clepsydre Demonstration Service' +            : . . . . . . . } +            : . . . . . .  } + + + +Adams, et al.                 Experimental                     [Page 40] + +RFC 3029                     DVCS Protocols                February 2001 + + + 251 31   32: . . . . . . SET { + 253 30   30: . . . . . .  SEQUENCE { + 255 06    3: . . . . . . . OBJECT IDENTIFIER +            : . . . . . . .  commonName (2 5 4 3) +            : . . . . . . .  (X.520 id-at (2 5 4)) + 260 13   23: . . . . . . . PrintableString 'Time Stamping Authority' +            : . . . . . . . } +            : . . . . . .  } +            : . . . . . . } +            : . . . . .  } +            : . . . . . } +            : . . . .  } + 285 30   31: . . . . SEQUENCE { + 287 30    7: . . . .  SEQUENCE { + 289 06    5: . . . . . OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) +            : . . . . . } + 296 04   20: . . . .  OCTET STRING +            : . . . .  75 B6 85 AF 6F 89 46 7D E8 07 15 25 1E 45 97 8F +            : . . . .  CD 1F A5 66 +            : . . . .  } + 318 02    7: . . . . INTEGER +            : . . . .  01 78 0A 1E CA 88 23 + 327 18   15: . . . . GeneralizedTime '20000417171617Z' +            : . . . . } +            : . . .  } +            : . .  } +            : . . } + 344 A0  992: .  [0] { + 348 30  988: . . SEQUENCE { + 352 30  708: . .  SEQUENCE { + 356 A0    3: . . . [0] { + 358 02    1: . . .  INTEGER 2 +            : . . .  } + 361 02    8: . . . INTEGER +            : . . .  00 94 88 17 17 64 37 32 + 371 30   13: . . . SEQUENCE { + 373 06    9: . . .  OBJECT IDENTIFIER +            : . . . . md5withRSAEncryption (1 2 840 113549 1 1 4) +            : . . . . (PKCS #1) + 384 05    0: . . .  NULL +            : . . .  } + 386 30  112: . . . SEQUENCE { + 388 31   11: . . .  SET { + 390 30    9: . . . . SEQUENCE { + 392 06    3: . . . .  OBJECT IDENTIFIER countryName (2 5 4 6) +            : . . . . . (X.520 id-at (2 5 4)) + 397 13    2: . . . .  PrintableString 'FR' +            : . . . .  } + + + +Adams, et al.                 Experimental                     [Page 41] + +RFC 3029                     DVCS Protocols                February 2001 + + +            : . . . . } + 401 31   21: . . .  SET { + 403 30   19: . . . . SEQUENCE { + 405 06    3: . . . .  OBJECT IDENTIFIER organizationName (2 5 4 10) +            : . . . . . (X.520 id-at (2 5 4)) + 410 13   12: . . . .  PrintableString 'EdelWeb S.A.' +            : . . . .  } +            : . . . . } + 424 31   40: . . .  SET { + 426 30   38: . . . . SEQUENCE { + 428 06    3: . . . .  OBJECT IDENTIFIER +            : . . . . . organizationalUnitName (2 5 4 11) +            : . . . . . (X.520 id-at (2 5 4)) + 433 13 31: . . . .  PrintableString 'Clepsydre Demonstration Service' +            : . . . .  } +            : . . . . } + 466 31   32: . . .  SET { + 468 30   30: . . . . SEQUENCE { + 470 06    3: . . . .  OBJECT IDENTIFIER commonName (2 5 4 3) +            : . . . . . (X.520 id-at (2 5 4)) + 475 13   23: . . . .  PrintableString 'Time Stamping Authority' +            : . . . .  } +            : . . . . } +            : . . .  } + 500 30   30: . . . SEQUENCE { + 502 17   13: . . .  UTCTime '000125161938Z' + 517 17   13: . . .  UTCTime '200120161938Z' +            : . . .  } + 532 30  112: . . . SEQUENCE { + 534 31   11: . . .  SET { + 536 30    9: . . . . SEQUENCE { + 538 06    3: . . . .  OBJECT IDENTIFIER countryName (2 5 4 6) +            : . . . . . (X.520 id-at (2 5 4)) + 543 13    2: . . . .  PrintableString 'FR' +            : . . . .  } +            : . . . . } + 547 31   21: . . .  SET { + 549 30   19: . . . . SEQUENCE { + 551 06    3: . . . .  OBJECT IDENTIFIER organizationName (2 5 4 10) +            : . . . . . (X.520 id-at (2 5 4)) + 556 13   12: . . . .  PrintableString 'EdelWeb S.A.' +            : . . . .  } +            : . . . . } + 570 31   40: . . .  SET { + 572 30   38: . . . . SEQUENCE { + 574 06    3: . . . .  OBJECT IDENTIFIER +            : . . . . . organizationalUnitName (2 5 4 11) +            : . . . . . (X.520 id-at (2 5 4)) + + + +Adams, et al.                 Experimental                     [Page 42] + +RFC 3029                     DVCS Protocols                February 2001 + + + 579 13 31: . . . .  PrintableString 'Clepsydre Demonstration Service' +            : . . . .  } +            : . . . . } + 612 31   32: . . .  SET { + 614 30   30: . . . . SEQUENCE { + 616 06    3: . . . .  OBJECT IDENTIFIER commonName (2 5 4 3) +            : . . . . . (X.520 id-at (2 5 4)) + 621 13   23: . . . .  PrintableString 'Time Stamping Authority' +            : . . . .  } +            : . . . . } +            : . . .  } + 646 30  290: . . . SEQUENCE { + 650 30   13: . . .  SEQUENCE { + 652 06    9: . . . . OBJECT IDENTIFIER +            : . . . .  rsaEncryption (1 2 840 113549 1 1 1) +            : . . . .  (PKCS #1) + 663 05    0: . . . . NULL +            : . . . . } + 665 03  271: . . .  BIT STRING 0 unused bits +            : . . . . 30 82 01 0A 02 82 01 01 00 FA C3 17 AE EB B7 9D +            : . . . . EB AB BD 05 7E 39 43 6D 04 45 58 74 05 A5 CC F3 +            : . . . . 6C 2F 8C 8E 77 7E C2 9F 12 11 5C 7D DB BE 23 28 +            : . . . . 9A 90 D2 AB C6 A2 BA BD A3 7E 99 A6 99 21 A5 D8 +            : . . . . 90 B9 CF A7 23 4E A0 56 A0 C1 0A 46 89 8E 3C 91 +            : . . . . 67 37 FD 9B AB 49 17 FC 4A A5 F2 E4 4C 6E E3 6A +            : . . . . 1C 92 97 04 6F 7F 0C 5C FB 74 CB 95 7E 4C C3 58 +            : . . . . 12 E8 A9 D6 F0 DD 12 44 15 E7 8B 2E AF 51 C0 0C +            : . . . . . . [ Another 142 bytes skipped ] +            : . . .  } + 940 A3  122: . . . [3] { + 942 30  120: . . .  SEQUENCE { + 944 30   15: . . . . SEQUENCE { + 946 06    3: . . . .  OBJECT IDENTIFIER basicConstraints (2 5 29 19) +            : . . . . . (X.509 id-ce (2 5 29)) + 951 04    8: . . . .  OCTET STRING, encapsulates { + 953 30    6: . . . . .  SEQUENCE { + 955 01    1: . . . . . . BOOLEAN TRUE + 958 02    1: . . . . . . INTEGER 0 +            : . . . . . . } +            : . . . . .  } +            : . . . .  } + 961 30   22: . . . . SEQUENCE { + 963 06    3: . . . .  OBJECT IDENTIFIER extKeyUsage (2 5 29 37) +            : . . . . . (X.509 id-ce (2 5 29)) + 968 01    1: . . . .  BOOLEAN TRUE + 971 04   12: . . . .  OCTET STRING, encapsulates { + 973 30   10: . . . . .  SEQUENCE { + 975 06    8: . . . . . . OBJECT IDENTIFIER '1 3 6 1 5 5 7 3 10' + + + +Adams, et al.                 Experimental                     [Page 43] + +RFC 3029                     DVCS Protocols                February 2001 + + +            : . . . . . . } +            : . . . . .  } +            : . . . .  } + 985 30   77: . . . . SEQUENCE { + 987 06    8: . . . .  OBJECT IDENTIFIER +            : . . . . . authorityInfoAccess (1 3 6 1 5 5 7 1 1) +            : . . . . . (PKIX private extension) + 997 01    1: . . . .  BOOLEAN TRUE +1000 04   62: . . . .  OCTET STRING, encapsulates { +1002 30   60: . . . . .  SEQUENCE { +1004 30   58: . . . . . . SEQUENCE { +1006 06    8: . . . . . .  OBJECT IDENTIFIER '1 3 6 1 5 5 7 48 4' +1016 86   46: . . . . . .  [6] +            : . . . .  'https://clepsydre.edelweb.fr/dvcs/service-ccpd' +            : . . . . . .  } +            : . . . . . . } +            : . . . . .  } +            : . . . .  } +            : . . . . } +            : . . .  } +            : . . . } +1064 30   13: . .  SEQUENCE { +1066 06    9: . . . OBJECT IDENTIFIER +            : . . .  md5withRSAEncryption (1 2 840 113549 1 1 4) +            : . . .  (PKCS #1) +1077 05    0: . . . NULL +            : . . . } +1079 03  257: . .  BIT STRING 0 unused bits +            : . . . 08 DA AF 5B 09 39 66 D3 BE 80 1D D7 72 B5 2C A3 +            : . . . 04 FB 46 F8 05 F5 BF 83 F3 6D 6D 32 28 1C 46 EE +            : . . . 0F EA 30 61 8A 1E 8A 03 4E 98 81 60 1F 97 17 53 +            : . . . D1 54 73 3F 72 98 45 D3 10 9A D3 77 B8 74 0E 9A +            : . . . 90 29 8E AC A4 EB D2 24 6D F6 21 1D 3F 52 8B 2C +            : . . . E6 92 E7 52 C6 54 93 91 BC 57 74 21 38 39 75 CD +            : . . . 30 49 54 13 94 6C FE F1 64 38 1F 5F 7D BB E0 3E +            : . . . A8 F1 28 1C F1 D9 28 FA 32 1E 3B 48 BF 5C 70 21 +            : . . . . . [ Another 128 bytes skipped ] +            : . .  } +            : . . } +1340 31  699: .  SET { +1344 30  695: . . SEQUENCE { +1348 02    1: . .  INTEGER 1 +1351 30  124: . .  SEQUENCE { +1353 30  112: . . . SEQUENCE { +1355 31   11: . . .  SET { +1357 30    9: . . . . SEQUENCE { +1359 06    3: . . . .  OBJECT IDENTIFIER countryName (2 5 4 6) +            : . . . . . (X.520 id-at (2 5 4)) + + + +Adams, et al.                 Experimental                     [Page 44] + +RFC 3029                     DVCS Protocols                February 2001 + + +1364 13    2: . . . .  PrintableString 'FR' +            : . . . .  } +            : . . . . } +1368 31   21: . . .  SET { +1370 30   19: . . . . SEQUENCE { +1372 06    3: . . . .  OBJECT IDENTIFIER organizationName (2 5 4 10) +            : . . . . . (X.520 id-at (2 5 4)) +1377 13   12: . . . .  PrintableString 'EdelWeb S.A.' +            : . . . .  } +            : . . . . } +1391 31   40: . . .  SET { +1393 30   38: . . . . SEQUENCE { +1395 06    3: . . . .  OBJECT IDENTIFIER +            : . . . . . organizationalUnitName (2 5 4 11) +            : . . . . . (X.520 id-at (2 5 4)) +1400 13 31: . . . .  PrintableString 'Clepsydre Demonstration Service' +            : . . . .  } +            : . . . . } +1433 31   32: . . .  SET { +1435 30   30: . . . . SEQUENCE { +1437 06    3: . . . .  OBJECT IDENTIFIER commonName (2 5 4 3) +            : . . . . . (X.520 id-at (2 5 4)) +1442 13   23: . . . .  PrintableString 'Time Stamping Authority' +            : . . . .  } +            : . . . . } +            : . . .  } +1467 02    8: . . . INTEGER +            : . . .  00 94 88 25 72 35 27 50 +            : . . . } +1477 30    9: . .  SEQUENCE { +1479 06    5: . . . OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) +            : . . .  (OIW) +1486 05    0: . . . NULL +            : . . . } +1488 A0  276: . .  [0] { +1492 30   26: . . . SEQUENCE { +1494 06    9: . . .  OBJECT IDENTIFIER +            : . . . . contentType (1 2 840 113549 1 9 3) +            : . . . . (PKCS #9 (1 2 840 113549 1 9)) +1505 31   13: . . .  SET { +1507 06   11: . . . . OBJECT IDENTIFIER +            : . . . .  id-ct-dvcsresponse (1 2 840 113549 1 9 16 1 8) +            : . . . .  (S/MIME Content Types (1 2 840 113549 1 9 16 1)) +            : . . . . } +            : . . .  } +1520 30   28: . . . SEQUENCE { +1522 06    9: . . .  OBJECT IDENTIFIER +            : . . . . signingTime (1 2 840 113549 1 9 5) + + + +Adams, et al.                 Experimental                     [Page 45] + +RFC 3029                     DVCS Protocols                February 2001 + + +            : . . . . (PKCS #9 (1 2 840 113549 1 9)) +1533 31   15: . . .  SET { +1535 17   13: . . . . UTCTime '000417171619Z' +            : . . . . } +            : . . .  } +1550 30   35: . . . SEQUENCE { +1552 06    9: . . .  OBJECT IDENTIFIER +            : . . . . messageDigest (1 2 840 113549 1 9 4) +            : . . . . (PKCS #9 (1 2 840 113549 1 9)) +1563 31   22: . . .  SET { +1565 04   20: . . . . OCTET STRING +            : . . . .  68 50 DC 90 20 2E C2 F0 55 15 7F 77 A9 A6 0C 34 +            : . . . .  CC 13 06 FA +            : . . . . } +            : . . .  } +1587 30  178: . . . SEQUENCE { +1590 06   11: . . .  OBJECT IDENTIFIER +          : . . . id-aa-signingCertificate (1 2 840 113549 1 9 16 2 12) +      : . . (S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)) +1603 31  162: . . .  SET { +1606 30  159: . . . . SEQUENCE { +1609 30  156: . . . .  SEQUENCE { +1612 30  153: . . . . . SEQUENCE { +1615 04   20: . . . . .  OCTET STRING +            : . . . .  5C F1 18 F3 4A CA B4 67 D6 D8 E7 F8 3B 4A D9 7A +            : . . . .  32 A5 43 A5 +1637 30  128: . . . . .  SEQUENCE { +1640 30  116: . . . . . . SEQUENCE { +1642 A4  114: . . . . . .  [4] { +1644 30  112: . . . . . . . SEQUENCE { +1646 31   11: . . . . . . .  SET { +1648 30    9: . . . . . . . . SEQUENCE { +1650 06    3: . . . . . . . .  OBJECT IDENTIFIER +            : . . . . . . . . . countryName (2 5 4 6) +            : . . . . . . . . . (X.520 id-at (2 5 4)) +1655 13    2: . . . . . . . .  PrintableString 'FR' +            : . . . . . . . .  } +            : . . . . . . . . } +1659 31   21: . . . . . . .  SET { +1661 30   19: . . . . . . . . SEQUENCE { +1663 06    3: . . . . . . . .  OBJECT IDENTIFIER +            : . . . . . . . . . organizationName (2 5 4 10) +            : . . . . . . . . . (X.520 id-at (2 5 4)) +1668 13   12: . . . . . . . .  PrintableString 'EdelWeb S.A.' +            : . . . . . . . .  } +            : . . . . . . . . } +1682 31   40: . . . . . . .  SET { +1684 30   38: . . . . . . . . SEQUENCE { + + + +Adams, et al.                 Experimental                     [Page 46] + +RFC 3029                     DVCS Protocols                February 2001 + + +1686 06    3: . . . . . . . .  OBJECT IDENTIFIER +            : . . . . . . . . . organizationalUnitName (2 5 4 11) +            : . . . . . . . . . (X.520 id-at (2 5 4)) +1691 13 31: . . . . .PrintableString 'Clepsydre Demonstration Service' +            : . . . . . . . .  } +            : . . . . . . . . } +1724 31   32: . . . . . . .  SET { +1726 30   30: . . . . . . . . SEQUENCE { +1728 06    3: . . . . . . . .  OBJECT IDENTIFIER +            : . . . . . . . . . commonName (2 5 4 3) +            : . . . . . . . . . (X.520 id-at (2 5 4)) +1733 13 23: . . . . . . . .  PrintableString 'Time Stamping Authority' +            : . . . . . . . .  } +            : . . . . . . . . } +            : . . . . . . .  } +            : . . . . . . . } +            : . . . . . .  } +1758 02    8: . . . . . . INTEGER +            : . . . .  00 94 88 25 72 35 27 50 +            : . . . . . . } +            : . . . . .  } +            : . . . . . } +            : . . . .  } +            : . . . . } +            : . . .  } +            : . . . } +1768 30   13: . .  SEQUENCE { +1770 06    9: . . . OBJECT IDENTIFIER +            : . . .  rsaEncryption (1 2 840 113549 1 1 1) +            : . . .  (PKCS #1) +1781 05    0: . . . NULL +            : . . . } +1783 04  256: . .  OCTET STRING +            : . . . 2E 70 9F 56 5E 01 56 A9 E1 47 81 12 35 21 29 09 +            : . . . 16 7A ED 45 F9 5A A2 ED E4 FE 9D 2C E4 DA 12 66 +            : . . . 62 14 59 61 8B 50 7B 01 82 3D BD 7E E6 38 D0 A8 +            : . . . A0 37 98 79 13 26 39 29 C6 72 20 A9 95 71 E7 53 +            : . . . 7F 79 77 98 EF 23 02 4E B9 BD 90 9B AC 05 A2 70 +            : . . . 8F 3A 42 36 9C 2C B0 94 B1 2B 0B 36 94 0E 78 0E +            : . . . B0 D1 09 20 63 BC FF CD 32 F1 5A D3 AB 9F 93 9C +            : . . . 5A A3 58 99 A0 28 11 E0 80 4D 4D 1E 77 04 F4 50 +            : . . . . . [ Another 128 bytes skipped ] +            : . .  } +            : . . } +            : .  } +            : . } +            :  } + + + + +Adams, et al.                 Experimental                     [Page 47] + +RFC 3029                     DVCS Protocols                February 2001 + + +The corresponding data in PEM format (together with a technical textual +description) are: + +Data Validation Certificate: +    Request Information: +      Service: Certify Claim of Possession of Data - ccpd(4) +      Policy: EdelWeb Customer Policy Clepsydre +      Requester: +        DirName:/C=FR/L=Paris/O=EdelWeb/CN=Peter Sylvester +      DVCS: +        DirName:/C=FR/O=EdelWeb S.A./ +  OU=Clepsydre Demonstration Service/CN=Time Stamping Authority +    SerialNumber: 01780a1eca8823 +    MessageDigest: +      Algorithm: sha1 +      Data     : 75B685AF6F89467DE80715251E45978FCD1FA566 +    Asserted Time: +      Generalized Time: 17-Apr-2000 19:16:17 (Apr 17 17:16:17 2000 GMT) +Certificate: +    Data: +        Version: 3 (0x2) +        Serial Number: +            94:88:17:17:64:37:32 +        Signature Algorithm: md5WithRSAEncryption +        Issuer: C=FR, O=EdelWeb S.A., +    OU=Clepsydre Demonstration Service, CN=Time Stamping Authority +        Validity +            Not Before: Jan 25 16:19:38 2000 GMT +            Not After : Jan 20 16:19:38 2020 GMT +        Subject: C=FR, O=EdelWeb S.A., +    OU=Clepsydre Demonstration Service, CN=Time Stamping Authority +        Subject Public Key Info: +            Public Key Algorithm: rsaEncryption +            RSA Public Key: (2048 bit) +                Modulus (2048 bit): +                    00:fa:c3:17:ae:eb:b7:9d:eb:ab:bd:05:7e:39:43: +                    6d:04:45:58:74:05:a5:cc:f3:6c:2f:8c:8e:77:7e: +                    c2:9f:12:11:5c:7d:db:be:23:28:9a:90:d2:ab:c6: +                    a2:ba:bd:a3:7e:99:a6:99:21:a5:d8:90:b9:cf:a7: +                    23:4e:a0:56:a0:c1:0a:46:89:8e:3c:91:67:37:fd: +                    9b:ab:49:17:fc:4a:a5:f2:e4:4c:6e:e3:6a:1c:92: +                    97:04:6f:7f:0c:5c:fb:74:cb:95:7e:4c:c3:58:12: +                    e8:a9:d6:f0:dd:12:44:15:e7:8b:2e:af:51:c0:0c: +                    5f:a8:65:fc:47:a1:c9:98:1f:d4:e1:ea:bc:1c:1a: +                    27:bb:8b:56:f1:12:55:10:f4:8e:d8:9f:19:9c:1e: +                    81:f7:db:63:dd:88:37:3f:71:79:5b:96:e2:5f:82: +                    d5:12:19:05:0d:e1:3d:a5:6d:66:e4:2c:1e:ed:c7: +                    4c:b8:df:aa:38:c8:15:6a:ae:25:7d:46:2a:07:f9: + + + +Adams, et al.                 Experimental                     [Page 48] + +RFC 3029                     DVCS Protocols                February 2001 + + +                    83:77:c4:51:ee:90:dc:05:d0:c3:f0:f1:5f:e8:d4: +                    ed:5d:34:70:91:9d:9f:08:55:7d:5b:e5:8d:5f:35: +                    59:83:4e:72:19:bb:9c:88:d1:7a:fc:23:a5:84:99: +                    b4:17:8a:4d:6c:9d:d0:a6:35:80:5f:ca:fb:24:8b: +                    54:1d +                Exponent: 65537 (0x10001) +        X509v3 extensions: +            X509v3 Basic Constraints: +                CA:TRUE, pathlen:0 +            X509v3 Extended Key Usage: critical +                DVCS Signing +            Authority Information Access: critical +         DVCS - URI:https://clepsydre.edelweb.fr/dvcs/service-ccpd + +    Signature Algorithm: md5WithRSAEncryption +        08:da:af:5b:09:39:66:d3:be:80:1d:d7:72:b5:2c:a3:04:fb: +        46:f8:05:f5:bf:83:f3:6d:6d:32:28:1c:46:ee:0f:ea:30:61: +        8a:1e:8a:03:4e:98:81:60:1f:97:17:53:d1:54:73:3f:72:98: +        45:d3:10:9a:d3:77:b8:74:0e:9a:90:29:8e:ac:a4:eb:d2:24: +        6d:f6:21:1d:3f:52:8b:2c:e6:92:e7:52:c6:54:93:91:bc:57: +        74:21:38:39:75:cd:30:49:54:13:94:6c:fe:f1:64:38:1f:5f: +        7d:bb:e0:3e:a8:f1:28:1c:f1:d9:28:fa:32:1e:3b:48:bf:5c: +        70:21:29:ef:be:72:24:da:0d:f9:51:7a:fe:d7:f5:ff:e8:c2: +        ea:c6:4c:45:14:51:53:fd:00:d5:5b:cc:67:2a:23:94:31:9e: +        c2:90:38:9b:b0:df:f9:de:67:0c:57:5c:d7:b0:fc:f2:72:96: +        c4:d1:7a:9d:a0:e6:51:24:99:9e:89:c6:39:f9:72:7a:44:fd: +        2d:3f:bc:df:c7:25:27:94:a1:b5:7d:ba:06:75:67:1c:95:6c: +        bd:2c:74:41:3e:cd:cd:39:5c:2e:9c:c3:c3:09:e3:79:d5:eb: +        85:e8:f1:72:29:80:f6:c6:6e:61:1b:58:fc:87:3e:d9:e1:53: +        10:e0:b1:05 + +-----BEGIN PKCS7----- +MIIH9wYJKoZIhvcNAQcCoIIH6DCCB+QCAQMxCzAJBgUrDgMCGgUAMIIBLQYLKoZI +hvcNAQkQAQigggEcBIIBGDCCARQwgdYKAQSgTaRLMEkxCzAJBgNVBAYTAkZSMQ4w +DAYDVQQHEwVQYXJpczEQMA4GA1UEChMHRWRlbFdlYjEYMBYGA1UEAxMPUGV0ZXIg +U3lsdmVzdGVyoQwGCisGAQQBqT0BAgGidKRyMHAxCzAJBgNVBAYTAkZSMRUwEwYD +VQQKEwxFZGVsV2ViIFMuQS4xKDAmBgNVBAsTH0NsZXBzeWRyZSBEZW1vbnN0cmF0 +aW9uIFNlcnZpY2UxIDAeBgNVBAMTF1RpbWUgU3RhbXBpbmcgQXV0aG9yaXR5MB8w +BwYFKw4DAhoEFHW2ha9viUZ96AcVJR5Fl4/NH6VmAgcBeAoeyogjGA8yMDAwMDQx +NzE3MTYxN1qgggPgMIID3DCCAsSgAwIBAgIIAJSIFxdkNzIwDQYJKoZIhvcNAQEE +BQAwcDELMAkGA1UEBhMCRlIxFTATBgNVBAoTDEVkZWxXZWIgUy5BLjEoMCYGA1UE +CxMfQ2xlcHN5ZHJlIERlbW9uc3RyYXRpb24gU2VydmljZTEgMB4GA1UEAxMXVGlt +ZSBTdGFtcGluZyBBdXRob3JpdHkwHhcNMDAwMTI1MTYxOTM4WhcNMjAwMTIwMTYx +OTM4WjBwMQswCQYDVQQGEwJGUjEVMBMGA1UEChMMRWRlbFdlYiBTLkEuMSgwJgYD +VQQLEx9DbGVwc3lkcmUgRGVtb25zdHJhdGlvbiBTZXJ2aWNlMSAwHgYDVQQDExdU +aW1lIFN0YW1waW5nIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAPrDF67rt53rq70FfjlDbQRFWHQFpczzbC+Mjnd+wp8SEVx9274jKJqQ +0qvGorq9o36ZppkhpdiQuc+nI06gVqDBCkaJjjyRZzf9m6tJF/xKpfLkTG7jahyS + + + +Adams, et al.                 Experimental                     [Page 49] + +RFC 3029                     DVCS Protocols                February 2001 + + +lwRvfwxc+3TLlX5Mw1gS6KnW8N0SRBXniy6vUcAMX6hl/EehyZgf1OHqvBwaJ7uL +VvESVRD0jtifGZwegffbY92INz9xeVuW4l+C1RIZBQ3hPaVtZuQsHu3HTLjfqjjI +FWquJX1GKgf5g3fEUe6Q3AXQw/DxX+jU7V00cJGdnwhVfVvljV81WYNOchm7nIjR +evwjpYSZtBeKTWyd0KY1gF/K+ySLVB0CAwEAAaN6MHgwDwYDVR0TBAgwBgEB/wIB +ADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCjBNBggrBgEFBQcBAQEB/wQ+MDwwOgYI +KwYBBQUHMASGLmh0dHBzOi8vY2xlcHN5ZHJlLmVkZWx3ZWIuZnIvZHZjcy9zZXJ2 +aWNlLWNjcGQwDQYJKoZIhvcNAQEEBQADggEBAAjar1sJOWbTvoAd13K1LKME+0b4 +BfW/g/NtbTIoHEbuD+owYYoeigNOmIFgH5cXU9FUcz9ymEXTEJrTd7h0DpqQKY6s +pOvSJG32IR0/Uoss5pLnUsZUk5G8V3QhODl1zTBJVBOUbP7xZDgfX3274D6o8Sgc +8dko+jIeO0i/XHAhKe++ciTaDflRev7X9f/owurGTEUUUVP9ANVbzGcqI5QxnsKQ +OJuw3/neZwxXXNew/PJylsTRep2g5lEkmZ6Jxjn5cnpE/S0/vN/HJSeUobV9ugZ1 +ZxyVbL0sdEE+zc05XC6cw8MJ43nV64Xo8XIpgPbGbmEbWPyHPtnhUxDgsQUxggK7 +MIICtwIBATB8MHAxCzAJBgNVBAYTAkZSMRUwEwYDVQQKEwxFZGVsV2ViIFMuQS4x +KDAmBgNVBAsTH0NsZXBzeWRyZSBEZW1vbnN0cmF0aW9uIFNlcnZpY2UxIDAeBgNV +BAMTF1RpbWUgU3RhbXBpbmcgQXV0aG9yaXR5AggAlIglcjUnUDAJBgUrDgMCGgUA +oIIBFDAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQgwHAYJKoZIhvcNAQkFMQ8X +DTAwMDQxNzE3MTYxOVowIwYJKoZIhvcNAQkEMRYEFGhQ3JAgLsLwVRV/d6mmDDTM +Ewb6MIGyBgsqhkiG9w0BCRACDDGBojCBnzCBnDCBmQQUXPEY80rKtGfW2Of4O0rZ +ejKlQ6UwgYAwdKRyMHAxCzAJBgNVBAYTAkZSMRUwEwYDVQQKEwxFZGVsV2ViIFMu +QS4xKDAmBgNVBAsTH0NsZXBzeWRyZSBEZW1vbnN0cmF0aW9uIFNlcnZpY2UxIDAe +BgNVBAMTF1RpbWUgU3RhbXBpbmcgQXV0aG9yaXR5AggAlIglcjUnUDANBgkqhkiG +9w0BAQEFAASCAQAucJ9WXgFWqeFHgRI1ISkJFnrtRflaou3k/p0s5NoSZmIUWWGL +UHsBgj29fuY40KigN5h5EyY5KcZyIKmVcedTf3l3mO8jAk65vZCbrAWicI86Qjac +LLCUsSsLNpQOeA6w0QkgY7z/zTLxWtOrn5OcWqNYmaAoEeCATU0edwT0UAfVi1Sg +IzL/ppziurjbVUfJyLoH75AUSKi2xXzVqSB0HFbvjxuz/IdtgfHUbxqHMJJHaeB5 +4LwQmc9NNkw2A1Fy0VumHi2G8R8K6L/rOPnOGuywj1GuKjtGhL9NjJ/uH+/FNaNj +vjjAA3w6XrjPOxgQiNu7T3j2++QcjdT4++tQ +-----END PKCS7----- + +Appendix G - Acknowledgements + +   This document is based on two initial works from Robert Zuccherato +   and Carlisle Adams, both at Entrust Technologies, for time stamping +   and for notary and data certification services. + +   Thanks to Denis Pinkas, Bull and Bruno Salgueiro, SIBS for valuable +   comments. + + + + + + + + + + + + + + +Adams, et al.                 Experimental                     [Page 50] + +RFC 3029                     DVCS Protocols                February 2001 + + +Full Copyright Statement + +   Copyright (C) The Internet Society (2001).  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. + +   This document and the information contained herein is provided on an +   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Acknowledgement + +   Funding for the RFC Editor function is currently provided by the +   Internet Society. + + + + + + + + + + + + + + + + + + + +Adams, et al.                 Experimental                     [Page 51] + |