Skip to content

Commit

Permalink
Fix: #850. Obsolete parameters.
Browse files Browse the repository at this point in the history
  • Loading branch information
ioggstream committed Oct 7, 2020
1 parent 4490f41 commit 46ce422
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions draft-ietf-httpbis-digest-headers.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ transformations (eg. transfer codings for HTTP/1.1 see 6.1 of
A representation digest consists of
the value of a checksum computed on the entire selected `representation data`
(see Section 7 of {{SEMANTICS}}) of a resource identified according to Section 5.5.2 of {{SEMANTICS}}
together with an indication of the algorithm used (and any parameters)
together with an indication of the algorithm used

~~~ abnf
representation-data-digest = digest-algorithm "="
Expand Down Expand Up @@ -278,6 +278,8 @@ A recipient MAY ignore any or all of the representation-data-digests in a Digest
field. This allows the recipient to choose which digest-algorithm(s) to use for
validation instead of verifying every received representation-data-digest.

A recipient MUST ignore a representation-data-digest containing parameters.

A sender MAY send a representation-data-digest using a digest-algorithm without
knowing whether the recipient supports the digest-algorithm, or even knowing
that the recipient will ignore it.
Expand Down Expand Up @@ -327,15 +329,13 @@ Two examples of its use are

# Digest Algorithm Values {#algorithms}

Digest-algorithm values are used to indicate a specific digest computation. For
some digest-algorithms, one or more parameters can be supplied.
Digest-algorithm values are used to indicate a specific digest computation.

~~~
digest-algorithm = token
~~~

The BNF for "parameter" is defined in Section 5.7.6 of
{{SEMANTICS}}. All digest-algorithm values are case-insensitive
All digest-algorithm values are case-insensitive
but the lower case is preferred.

The Internet Assigned Numbers Authority (IANA) acts as a registry for
Expand Down Expand Up @@ -464,6 +464,12 @@ This RFC deprecates the negotiation of Content-MD5 as it has been obsoleted by
[RFC7231].
The `contentMD5` token defined in Section 5 of [RFC3230] MUST NOT be used as a digest-algorithm.

# Obsolete Digest Header Field Parameters {#obsolete-parameters}

This RFC obsoletes the usage of parameters with `Digest` introduced in
Section 4.1.1 and 4.2 of [RFC3230] because this feature has not been widely deployed
and complicates field-value processing.

# Relationship to Subresource Integrity (SRI)

Subresource Integrity [SRI] is an integrity mechanism that shares some
Expand Down Expand Up @@ -1059,7 +1065,13 @@ in conjuction with the encrypted content-coding {{?RFC8188}}.

## Algorithm Agility

...
Algorithm agility is achieved establishing the IANA Digest Algorithm Values registry,
and adding it the "Status" field making it possible to deprecate and obsolete insecure algorithms.

The now obsoleted [RFC3230] allowed passing parameters to digest-algorithms:
if those parameters are used to verify the checksum, there will be enough space for bad or insecure
implementations. If a digest-algorithm want to support parameters, it can encode them into the
representation-data-digest.

# IANA Considerations

Expand Down Expand Up @@ -1483,3 +1495,4 @@ _RFC Editor: Please remove this section before publication._
* Reference httpbis-semantics #1156
* Add contentMD5 as an obsoleted digest-algorithm #1249
* Use lowercase digest-algorithms names in the doc and in the digest-algorithm IANA table.
* Obsolete parameters #850

0 comments on commit 46ce422

Please sign in to comment.