Contents of a Digest Challenge
The size of a Digest Access challenge must be less than 2048 bytes. The following example shows a challenge assigned to the character string szChallenge.
szChallenge = "realm=\"Microsoft_Example_Forest\",";
algorithm = "MD5-sess\", qop=\"auth\", nonce=\"0123456789abcdef\"";
Note
The challenge string is enclosed in double quotes and contains embedded double quotes. Embedded double quotes must be preceded (escaped) with a backslash (\).
A Digest challenge can contain the following directives.
Directive | Description |
---|---|
realm | An implementation-defined hint to the client about which credentials are required. The client should display this information to the user if it is prompting for credentials. |
algorithm | Microsoft Digest supports MD5 and MD5-Sess. For optimal performance, use MD5-Sess. |
qop | This directive can be set to auth, auth-int, or auth-conf. For more information, see Quality of Protection and Ciphers. |
nonce | A unique encoded value generated by the server for each challenge. This value must not be altered by the client. |
opaque | Contains a reference for the security context that is being established. For more information, see Maintaining the Security Context Between Connections. |
cipher(SASL only) | The list of ciphers that the server supports. This element can be present in a Digest SASL challenge only if the qop directive specifies auth-conf. For more information, see Quality of Protection and Ciphers. |
charset | This directive can be set to utf-8 if the server can process UTF-8–encoded user names and realms. If the client understands the charset directive, it can respond by using UTF-8–encoded values. |
Microsoft Digest generates the Digest challenge string for server applications. For details, see Generating the Digest Challenge.