View Issue Details

IDProjectCategoryView StatusLast Update
000415810000-005: Information ModelSpecpublic2020-12-09 16:13
ReporterThomas Merk Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionwon't fix 
Product Version1.02 
Summary0004158: case sensitivity of server URI - clarification
Description

According to specification (1.04, part 5, 6.3.1 - ServerType) the serverUri shall be case sensitive.

The serverURI shall match the applicationUri (in ApplicationDescription) and shall match the application URI in the certificate, all of them should be compared case-sensitive???

This contradicts the RFC 2141, where is stated:
URN Syntax
...

  1. Syntax
    ...
    <URN> ::= "urn:" <NID> ":" <NSS>
    where <NID> is the Namespace Identifier,
    and <NSS> is the Namespace Specific String.
    The leading "urn:" sequence is case-insensitive.
    ...

Somewhere later it is stated:
Further, the Namespace Identifier is case insensitive, so that "ISBN" and "isbn" refer to the same namespace.
and:

  1. Lexical Equivalence in URNs
    ...
    Two URNs are lexically equivalent if they are octet-by-octet equal after the following preprocessing:
    1. normalize the case of the leading "urn:" token
    2. normalize the case of the NID
    3. normalizing the case of any %-escaping
      Note that %-escaping MUST NOT be removed.
      Some namespaces may define additional lexical equivalences, such as case-insensitivity of the NSS (or parts thereof).
      Additional lexical equivalences MUST be documented as part of namespace registration,
      MUST always have the effect of eliminating some of the false negatives obtained by the procedure above,
      and MUST NEVER say that two URNs are not equivalent if the procedure above says they are equivalent.

In the OPC UA specifications I did not find any further hint, how URIs shall be compared, however URI mismatches must not be suppressed.

In part 4 (6.1.3) it is stated
Application and Software Certificates contain an application
or product URI that shall match the URI specified in the
ApplicationDescription provided with the Certificate.
This check is skipped for CA Certificates.
This error may not be suppressed.
The gatewayServerUri is used to validate an
Application Certificate when connecting to a Gateway Server (see 7.1).

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Jim Luth

2018-04-24 16:53

administrator   ~0009015

Clarify that UA comparisons are all by string and case sensitive further restricting what is allowed in the RFC.

Jeff Harding

2020-06-29 19:10

developer   ~0012509

Are we sure we want to override the RFC here?
I think we should discuss a special case for UA allowing case insensitivity for URIs.

Jeff Harding

2020-12-09 16:12

developer   ~0013426

Concluded that the existing text is ok as is.

Jim Luth

2020-12-09 16:13

administrator   ~0013427

Agreed to no-fix in Virtual F2F.

Issue History

Date Modified Username Field Change
2018-02-13 16:26 Thomas Merk New Issue
2018-04-24 16:53 Jim Luth Note Added: 0009015
2018-04-24 16:53 Jim Luth Assigned To => Jeff Harding
2018-04-24 16:53 Jim Luth Status new => assigned
2020-06-29 19:10 Jeff Harding Note Added: 0012509
2020-12-09 16:12 Jeff Harding Status assigned => resolved
2020-12-09 16:12 Jeff Harding Resolution open => won't fix
2020-12-09 16:12 Jeff Harding Fixed in Version => 1.05
2020-12-09 16:12 Jeff Harding Note Added: 0013426
2020-12-09 16:13 Jim Luth Status resolved => closed
2020-12-09 16:13 Jim Luth Fixed in Version 1.05 =>
2020-12-09 16:13 Jim Luth Note Added: 0013427