Hi,
Domain parameter is not used to calculate the response in Digest
authentication and hence will not affect the calculation using
the algorithm.
I would like to bring to your notice that the nonce parameter
in the 401 response is
"ouaECxW4AwA=052615b8b67d137234d9087a0acc857f04caa958"
and the nonce specified in the REGISTER request is
"OuaECxW4AwA=052615b8b67d137234d9087a0acc857f04caa958".
The first character is of a different case, though the
one specified in the 401 response is used for the calculation
of the response.
I am not very sure if this is a typo in the mail, but if it
is not then I believe this is the cause for your problem.
Hope this helps.
regards,
Madhusudan SN.
Hughes Software Systems
Bangalore. INDIA.
sipdev <[EMAIL PROTECTED]> on 03/06/2003 12:38:48 AM
To: Sip-implementors <[EMAIL PROTECTED]>
cc: (bcc: Sunkara Nagaraja Madhusudan/HSSBLR)
Subject: [Sip-implementors] WWW-Authenticate MD5 issue
Hello All,
Not exactly a SER question, but perhaps someone can help regardless...
I'm having troubles with MD5 algorithm and authorizing against a SIP
client.
I have verified the MD5 alrogithm is working properly and is output correct
results, and I can authorize against one of our SER proxies.
However, when I authorize against another proxy I'm having troubles and the
only difference I notice is that it has a domain field. I've read the IETF
spec about domain, but I'm unclear about how it will effect the algorithm:
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 65.39.185.155:5060
From: <sip:[EMAIL PROTECTED]:5060>
To: <sip:[EMAIL PROTECTED]:5060>;tag=fea7371f
Call-ID: [EMAIL PROTECTED]
CSeq: 694980 REGISTER
WWW-Authenticate: Digest
algorithm=MD5,domain="/",nonce="ouaECxW4AwA=052615b8b67d137234d9087a0acc857
f04caa958",realm="sipinfo.iprimus.net"
Content-Length: 0
How does the domain="/" affect my variables as input into this algorithm:
(Hard coded values just to for sake of clarity)
LPCSTR szUserName = "user54";
LPCSTR szRealm = "sipinfo.iprimus.net";
LPCSTR szPassword = "password";
CVsMD5 cMD5A1Hash;
cMD5A1Hash.Write((const BYTE *)szUserName, strlen(szUserName));
cMD5A1Hash.Write((const BYTE *)":", strlen(":"));
cMD5A1Hash.Write((const BYTE *)szRealm, strlen(szRealm));
cMD5A1Hash.Write((const BYTE *)":", strlen(":"));
cMD5A1Hash.Write((const BYTE *)szPassword, strlen(szPassword));
cMD5A1Hash.Close();
CVsString cA1Hash = cMD5A1Hash.GetDigest();
LPCSTR szMethod = "REGISTER";
LPCSTR szURI = "sip:primus.net";
CVsMD5 cMD5A2Hash;
cMD5A2Hash.Write((const BYTE *)szMethod, strlen(szMethod));
cMD5A2Hash.Write((const BYTE *)":", strlen(":"));
cMD5A2Hash.Write((const BYTE *)szURI, strlen(szURI));
cMD5A2Hash.Close();
CVsString cA2Hash = cMD5A2Hash.GetDigest();
LPCSTR szA1Hash = (LPCSTR)cA1Hash;
LPCSTR szNonce = "ouaECxW4AwA=052615b8b67d137234d9087a0acc857f04caa958";
LPCSTR szA2Hash = (LPCSTR)cA2Hash;
CVsMD5 cMD5Response;
cMD5Response.Write((const BYTE *)szA1Hash, strlen(szA1Hash));
cMD5Response.Write((const BYTE *)":", strlen(":"));
cMD5Response.Write((const BYTE *)szNonce, strlen(szNonce));
cMD5Response.Write((const BYTE *)":", strlen(":"));
cMD5Response.Write((const BYTE *)szA2Hash, strlen(szA2Hash));
cMD5Response.Close();
My output is:
REGISTER sip:iprimus.net SIP/2.0
Via: SIP/2.0/UDP 65.39.185.155:5060
From: sip:[EMAIL PROTECTED]
To: sip:[EMAIL PROTECTED]
Contact: sip:[EMAIL PROTECTED]:5060
Call-ID: [EMAIL PROTECTED]
CSeq: 694981 REGISTER
Content-Length: 0
Expires: 3600
Authorization: Digest
username="user54",realm="sipinfo.iprimus.net",nonce="OuaECxW4AwA=052615b8b6
7d137234d9087a0acc857f04caa958",response="a3e82b6874e0a39d0b9d70aad8781d37"
,uri="sip:iprimus.net"
The response when using the same server nonce does NOT match another SIP
client I use (which can authorize to the server)... What am I doing wrong??
Thanks in advance
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors