From 34be75ec8b11a7ec9f19bfd777090ea49448f574 Mon Sep 17 00:00:00 2001
From: Mark Nottingham
Date: Tue, 3 Sep 2019 11:39:32 +1000
Subject: [PATCH 01/14] add obsoletes for 2818
---
draft-ietf-httpbis-semantics-latest.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index 7fe75f4d1..a709e3054 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -31,7 +31,7 @@
-
- This document obsoletes RFC 7231, RFC 7232, RFC 7233,
+ This document obsoletes RFC2818, RFC 7231, RFC 7232, RFC 7233,
RFC 7235, RFC 7538, RFC 7615, and portions of RFC 7230.
From 42a9fd7e37fa5666119e55ef29bb96f3b9b93157 Mon Sep 17 00:00:00 2001
From: Mark Nottingham
Date: Tue, 3 Sep 2019 11:56:46 +1000
Subject: [PATCH 02/14] Bring in text about identifying servers, clients
... and update reference to 5280.
---
draft-ietf-httpbis-semantics-latest.xml | 120 ++++++++++++++++++++++--
1 file changed, 112 insertions(+), 8 deletions(-)
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index a709e3054..eecb94642 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -819,7 +819,7 @@ Content-Type: text/plain
The process for authoritative access to an "https" identified
- resource is defined in .
+ resource is defined in .
@@ -9628,15 +9628,85 @@ Content-Encoding: gzip
an "http" URI is vulnerable to attacks on Internet Protocol routing.
- The "https" scheme () is intended to prevent
- (or at least reveal) many of these potential attacks on establishing
- authority, provided that the negotiated TLS connection is secured and
- the client properly verifies that the communicating server's identity
- matches the target URI's authority component
- (see ). Correctly implementing such verification
- can be difficult (see ).
+ The "https" scheme () is intended to prevent (or
+ at least reveal) many of these potential attacks on establishing
+ authority, provided that the negotiated TLS connection is secured and the
+ client properly verifies that the communicating server's identity matches
+ the target URI's authority component, as described below. Correctly
+ implementing such verification can be difficult (see ).
+
+
+
+ In general, HTTP/TLS requests are generated by dereferencing a URI.
+ As a consequence, the hostname for the server is known to the client.
+ If the hostname is available, the client &MUST; check it against the
+ server's identity as presented in the server's Certificate message,
+ in order to prevent man-in-the-middle attacks.
+
+
+ If the client has external information as to the expected identity of
+ the server, the hostname check &MAY; be omitted. (For instance, a
+ client may be connecting to a machine whose address and hostname are
+ dynamic but the client knows the certificate that the server will
+ present.) In such cases, it is important to narrow the scope of
+ acceptable certificates as much as possible in order to prevent man
+ in the middle attacks. In special cases, it may be appropriate for
+ the client to simply ignore the server's identity, but it must be
+ understood that this leaves the connection open to active attack.
+
+
+ If a subjectAltName extension of type dNSName is present, that &MUST;
+ be used as the identity. Otherwise, the (most specific) Common Name
+ field in the Subject field of the certificate &MUST; be used. Although
+ the use of the Common Name is existing practice, it is deprecated and
+ Certification Authorities are encouraged to use the dNSName instead.
+
+
+ Matching is performed using the matching rules specified by
+ . If more than one identity of a given type is present in
+ the certificate (e.g., more than one dNSName name, a match in any one
+ of the set is considered acceptable.) Names may contain the wildcard
+ character * which is considered to match any single domain name
+ component or component fragment. E.g., *.a.com matches foo.a.com but
+ not bar.foo.a.com. f*.com matches foo.com but not bar.com.
+
+
+ In some cases, the URI is specified as an IP address rather than a
+ hostname. In this case, the iPAddress subjectAltName must be present
+ in the certificate and must exactly match the IP in the URI.
+
+
+ If the hostname does not match the identity in the certificate, user
+ oriented clients MUST either notify the user (clients MAY give the
+ user the opportunity to continue with the connection in any case) or
+ terminate the connection with a bad certificate error. Automated
+ clients &MUST; log the error to an appropriate audit log (if available)
+ and SHOULD terminate the connection (with a bad certificate error).
+ Automated clients MAY provide a configuration setting that disables
+ this check, but &MUST; provide a setting which enables it.
+
+
+ Note that in many cases the URI itself comes from an untrusted
+ source. The above-described check provides no protection against
+ attacks where this source is compromised. For example, if the URI was
+ obtained by clicking on an HTML page which was itself obtained
+ without using HTTP/TLS, a man in the middle could have replaced the
+ URI. In order to prevent this form of attack, users should carefully
+ examine the certificate presented by the server to determine if it
+ meets their expectations.
+
+
+ Typically, the server has no external knowledge of what the client's
+ identity ought to be and so checks (other than that the client has a
+ certificate chain rooted in an appropriate CA) are not possible. If a
+ server has such knowledge (typically from some source external to
+ HTTP or TLS) it &SHOULD; check the identity as described above.
+
+
+
@@ -10368,6 +10438,40 @@ Content-Encoding: gzip
+
+
+
+Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]
+
+
+
+
+
+
+
Tags for Identifying Languages
From e47fbb16c3c6a7a0a56224b19a900f300100a0e4 Mon Sep 17 00:00:00 2001
From: Mark Nottingham
Date: Tue, 3 Sep 2019 12:08:26 +1000
Subject: [PATCH 03/14] Add TLS Connection Closure
---
draft-ietf-httpbis-messaging-latest.xml | 47 +++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/draft-ietf-httpbis-messaging-latest.xml b/draft-ietf-httpbis-messaging-latest.xml
index 71113a66b..e515d47af 100644
--- a/draft-ietf-httpbis-messaging-latest.xml
+++ b/draft-ietf-httpbis-messaging-latest.xml
@@ -2009,6 +2009,32 @@ https://www.example.org
+
+
+ TLS provides a facility for secure connection closure. When a valid
+ closure alert is received, an implementation can be assured that no
+ further data will be received on that connection. TLS
+ implementations &MUST; initiate an exchange of closure alerts before
+ closing a connection. A TLS implementation &MAY;, after sending a
+ closure alert, close the connection without waiting for the peer to
+ send its closure alert, generating an "incomplete close". Note that
+ an implementation which does this &MAY; choose to reuse the session.
+ This &SHOULD; only be done when the application knows (typically
+ through detecting HTTP message boundaries) that it has received all
+ the message data that it cares about.
+
+ As specified in , any implementation which receives a
+ connection close without first receiving a valid closure alert (a
+ "premature close") &MUST-NOT; reuse that session. Note that a
+ premature close does not call into question the security of the data
+ already received, but simply indicates that subsequent data might
+ have been truncated. Because TLS is oblivious to HTTP
+ request/response boundaries, it is necessary to examine the HTTP data
+ itself (specifically the Content-Length header) to determine whether
+ the truncation occurred inside a message or between messages.
+
+
+
@@ -2733,6 +2759,27 @@ Upgrade: HTTP/2.0
+
+
+ The Transport Layer Security (TLS) Protocol Version 1.3
+
+
+
+
+
+ This document specifies version 1.3 of the Transport Layer
+ Security (TLS) protocol. TLS allows client/server applications to
+ communicate over the Internet in a way that is designed to prevent
+ eavesdropping, tampering, and message forgery.
+ This document updates RFCs 5705 and 6066, and obsoletes RFCs
+ 5077, 5246, and 6961. This document also specifies new requirements
+ for TLS 1.2 implementations.
+
+
+
+
+
+
A Technique for High-Performance Data Compression
From b6bab42300e9ff9d4fe8301e73e249b023306b7f Mon Sep 17 00:00:00 2001
From: Mark Nottingham
Date: Tue, 3 Sep 2019 12:16:37 +1000
Subject: [PATCH 04/14] add change notes
For #236
---
draft-ietf-httpbis-messaging-latest.xml | 3 ++-
draft-ietf-httpbis-semantics-latest.xml | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/draft-ietf-httpbis-messaging-latest.xml b/draft-ietf-httpbis-messaging-latest.xml
index e515d47af..1e25bce8c 100644
--- a/draft-ietf-httpbis-messaging-latest.xml
+++ b/draft-ietf-httpbis-messaging-latest.xml
@@ -2009,7 +2009,7 @@ https://www.example.org
-
+
TLS provides a facility for secure connection closure. When a valid
closure alert is received, an implementation can be assured that no
@@ -3454,6 +3454,7 @@ Upgrade: HTTP/2.0
- In and related Sections, move the trailing CRLF from the line grammars into the message format ()
+ - In , add text from RFC2818 ()
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index eecb94642..9573cf8c9 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -11720,6 +11720,7 @@ This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation
In , remove concept of "cacheable methods" in favor of prose ()
In , replace "authorize" with "fulfill" ()
In , removed a misleading statement about Content-Length (, )
+ In , add text from RFC2818 ()
From 823c36c885b1318d3f1cbe744b4e5c0584f11af5 Mon Sep 17 00:00:00 2001
From: Julian Reschke
Date: Tue, 3 Sep 2019 12:18:45 +0100
Subject: [PATCH 05/14] fix XML
---
draft-ietf-httpbis-messaging-latest.xml | 5 +++--
draft-ietf-httpbis-semantics-latest.xml | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/draft-ietf-httpbis-messaging-latest.xml b/draft-ietf-httpbis-messaging-latest.xml
index 1e25bce8c..ad6dafab5 100644
--- a/draft-ietf-httpbis-messaging-latest.xml
+++ b/draft-ietf-httpbis-messaging-latest.xml
@@ -2022,7 +2022,8 @@ https://www.example.org
This &SHOULD; only be done when the application knows (typically
through detecting HTTP message boundaries) that it has received all
the message data that it cares about.
-
+
+
As specified in , any implementation which receives a
connection close without first receiving a valid closure alert (a
"premature close") &MUST-NOT; reuse that session. Note that a
@@ -2032,7 +2033,7 @@ https://www.example.org
request/response boundaries, it is necessary to examine the HTTP data
itself (specifically the Content-Length header) to determine whether
the truncation occurred inside a message or between messages.
-
+
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index 9573cf8c9..000de49e8 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -9664,7 +9664,7 @@ Content-Encoding: gzip
Matching is performed using the matching rules specified by
- . If more than one identity of a given type is present in
+ . If more than one identity of a given type is present in
the certificate (e.g., more than one dNSName name, a match in any one
of the set is considered acceptable.) Names may contain the wildcard
character * which is considered to match any single domain name
From ef0cfe2687c28c34f8438eefeb0479d2ea9bda74 Mon Sep 17 00:00:00 2001
From: Julian Reschke
Date: Tue, 3 Sep 2019 12:22:54 +0100
Subject: [PATCH 06/14] ref style
---
draft-ietf-httpbis-messaging-latest.xml | 2 +-
draft-ietf-httpbis-semantics-latest.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/draft-ietf-httpbis-messaging-latest.xml b/draft-ietf-httpbis-messaging-latest.xml
index ad6dafab5..9aa62707c 100644
--- a/draft-ietf-httpbis-messaging-latest.xml
+++ b/draft-ietf-httpbis-messaging-latest.xml
@@ -3455,7 +3455,7 @@ Upgrade: HTTP/2.0
- In and related Sections, move the trailing CRLF from the line grammars into the message format ()
- - In , add text from RFC2818 ()
+ - In , add text from RFC 2818 ()
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index 000de49e8..bcad57e0d 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -100,7 +100,7 @@
codes, response header fields, and content negotiation.
- This document obsoletes RFC2818, RFC 7231, RFC 7232, RFC 7233,
+ This document obsoletes RFC 2818, RFC 7231, RFC 7232, RFC 7233,
RFC 7235, RFC 7538, RFC 7615, and portions of RFC 7230.
From 32f92a026083091bd67fa2928f44d9ca25896f48 Mon Sep 17 00:00:00 2001
From: Julian Reschke
Date: Tue, 3 Sep 2019 12:26:41 +0100
Subject: [PATCH 07/14] prune reference
---
draft-ietf-httpbis-semantics-latest.xml | 36 ++++++-------------------
1 file changed, 8 insertions(+), 28 deletions(-)
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index bcad57e0d..8cac8e700 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -10438,38 +10438,18 @@ Content-Encoding: gzip
-
+
-
-Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
+
+
+
+
+
+
-
-
-This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]
-
-
-
From e43f1e26ab65ec2c560b348e3a254e0659221236 Mon Sep 17 00:00:00 2001
From: Julian Reschke
Date: Tue, 3 Sep 2019 12:29:21 +0100
Subject: [PATCH 08/14] ref style
---
draft-ietf-httpbis-semantics-latest.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index 8cac8e700..c76e33e19 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -11700,7 +11700,7 @@ Content-Encoding: gzip
In , remove concept of "cacheable methods" in favor of prose ()
In , replace "authorize" with "fulfill" ()
In , removed a misleading statement about Content-Length (, )
- In , add text from RFC2818 ()
+ In , add text from RFC 2818 ()
From 065812bbe4f1de65f6d5e30e26e3debdb3dc62e9 Mon Sep 17 00:00:00 2001
From: Julian Reschke
Date: Tue, 3 Sep 2019 12:37:01 +0100
Subject: [PATCH 09/14] add "changes from 2818" section
---
draft-ietf-httpbis-semantics-latest.xml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index c76e33e19..eee39c6fd 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -211,6 +211,8 @@
The other parts of RFC 7230 are
obsoleted by "HTTP/1.1 Messaging" .
This document also obsoletes
+ RFC 2818
+ (see ),
RFC 7231
(see ),
RFC 7232
@@ -11549,6 +11551,12 @@ Content-Encoding: gzip
+
+
Removed a superfluous requirement about setting Content-Length
From 4e77d4a506472030b491d410604e72b7f19cb42d Mon Sep 17 00:00:00 2001
From: Mark Nottingham
Date: Mon, 30 Sep 2019 15:39:47 +1000
Subject: [PATCH 10/14] Ack EKR for 2818.
---
draft-ietf-httpbis-semantics-latest.xml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/draft-ietf-httpbis-semantics-latest.xml b/draft-ietf-httpbis-semantics-latest.xml
index 9573cf8c9..e07ee107f 100644
--- a/draft-ietf-httpbis-semantics-latest.xml
+++ b/draft-ietf-httpbis-semantics-latest.xml
@@ -11730,12 +11730,13 @@ This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation
This edition of the HTTP specification builds on the many contributions that went into
RFC 1945,
RFC 2068,
- RFC 2145, and
- RFC 2616, including
+ RFC 2145,
+ RFC 2616, and
+ RFC 2818, including
substantial contributions made by the previous authors, editors, and
Working Group Chairs: Tim Berners-Lee, Ari Luotonen, Roy T. Fielding,
Henrik Frystyk Nielsen, Jim Gettys, Jeffrey C. Mogul, Larry Masinter,
- Paul J. Leach, and Yves Lafon.
+ Paul J. Leach, Eric Rescorla, and Yves Lafon.
See for further
From ba0ed08b8dd272ac3642013dd783bcdf8f7c329e Mon Sep 17 00:00:00 2001
From: "Roy T. Fielding"
Date: Mon, 28 Oct 2019 16:32:59 -0700
Subject: [PATCH 11/14] update generated files
---
draft-ietf-httpbis-messaging-latest.html | 142 +++++----
draft-ietf-httpbis-semantics-latest.html | 354 ++++++++++++++---------
httpbis-errata-status.html | 34 +--
outlineALL.html | 42 +--
4 files changed, 343 insertions(+), 229 deletions(-)
diff --git a/draft-ietf-httpbis-messaging-latest.html b/draft-ietf-httpbis-messaging-latest.html
index ec0eb49a5..54be11981 100644
--- a/draft-ietf-httpbis-messaging-latest.html
+++ b/draft-ietf-httpbis-messaging-latest.html
@@ -837,9 +837,10 @@
9.5. Concurrency
9.6. Failures and Timeouts
9.7. Tear-down
- 9.8. Upgrade
@@ -1425,7 +1426,7 @@ 5. Upgrade
standard |
-
+ |
|
@@ -2341,100 +2342,119 @@
-