Howdy,

The following are some questions concerning SIP Digest MD5 Authorization.

1) Are UTF8-NONASCII allowed within username and realm?  Based upon the ABNF, 
it appears to be yes.  However since SIP authentication is based upon the HTTP 
specs (such as rfc2617 and rfc2616), I'm not sure if the SIP ABNF changes to 
include UTF8-NONASCII was intentional concerning the topic.  More specifically, 
I not sure if the rfc2616 TEXT snippet (or something else) somehow prevents 
UTF8-NONASCII.

2) Can the password used within Digest MD5 authentication calculation include 
UTF8-NONASCII?

3) If quoted-string username contains useless and required escaping of 
characters, is the escaped or un-escaped username supposed to be used within 
the calculation?  I assume the un-escaped username; however I thought I'd ask 
for completeness. 

Thanks,
Brett


-----------

RFC 2617:

username         = "username" "=" username-value
username-value   = quoted-string
realm       = "realm" "=" realm-value
realm-value = quoted-string

----

RFC 2616:

quoted-string  = ( <"> *(qdtext | quoted-pair ) <"> )
qdtext         = <any TEXT except <">>

The backslash character ("\") MAY be used as a single-character
quoting mechanism only within quoted-string and comment constructs.

quoted-pair    = "\" CHAR

Words of *TEXT MAY contain characters from character sets other 
than ISO-8859-1 [22] only when encoded according to the rules 
of RFC 2047 [14].

TEXT           = <any OCTET except CTLs, but including LWS>

----

RFC 3261:
Authorization     =  "Authorization" HCOLON credentials
credentials       =  ("Digest" LWS digest-response)
                     / other-response
digest-response   =  dig-resp *(COMMA dig-resp)
dig-resp          =  username / realm / nonce / digest-uri
                      / dresponse / algorithm / cnonce
                      / opaque / message-qop
                      / nonce-count / auth-param
username          =  "username" EQUAL username-value
username-value    =  quoted-string
realm               =  "realm" EQUAL realm-value
realm-value         =  quoted-string

A string of text is parsed as a single word if it is quoted using
double-quote marks.  In quoted strings, quotation marks (") and
backslashes (\) need to be escaped.

   quoted-string  =  SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
   qdtext         =  LWS / %x21 / %x23-5B / %x5D-7E / UTF8-NONASCII

The backslash character ("\") MAY be used as a single-character
quoting mechanism only within quoted-string and comment constructs.
Unlike HTTP/1.1, the characters CR and LF cannot be escaped by this
mechanism to avoid conflict with line folding and header separation.

quoted-pair  =  "\" (%x00-09 / %x0B-0C / %x0E-7F)


_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to