S
Sascha
Hi,
I've upgraded my web server (W2K, IIS5) to W2K3, IIS6.0 with the web
application (ASP, not ASP:NET) that uses client certificates.
Now the site doesn't work :-(
Basically, when the user provides the client certificate, the asp page takes
the public key and checks in the database for that public key. If it finds
the key, it then maps the user to the firm's id.
The code that takes the client cert looks like this:
<%
function iif(bool, valTrue, valFalse)
if bool then
iif=valTrue
else
iif=valFalse
end if
end function
function leadZero(num)
leadZero = iif(len(cstr(num))<2,"0" & cstr(num), cstr(num))
end function
pk = Request.ClientCertificate("PublicKey")
for i=1 to len(pk)
pk2 = pk2 & leadZero(hex(asc(mid(pk,i,1))))
next
%>
On the W2k, you would have the public key in pk2 variable which is correct
when cheched in the database.
On the W2k3, you get something completely different in the pk2 variable, and
of course that value doesn't get passed the database check.
In short, the Request.ClientCertificate("PublicKey") provides two different
values for w2k and w2k3.
What's up with that?
Can someone help? Microsoft?
I've searched everything for this....
I've upgraded my web server (W2K, IIS5) to W2K3, IIS6.0 with the web
application (ASP, not ASP:NET) that uses client certificates.
Now the site doesn't work :-(
Basically, when the user provides the client certificate, the asp page takes
the public key and checks in the database for that public key. If it finds
the key, it then maps the user to the firm's id.
The code that takes the client cert looks like this:
<%
function iif(bool, valTrue, valFalse)
if bool then
iif=valTrue
else
iif=valFalse
end if
end function
function leadZero(num)
leadZero = iif(len(cstr(num))<2,"0" & cstr(num), cstr(num))
end function
pk = Request.ClientCertificate("PublicKey")
for i=1 to len(pk)
pk2 = pk2 & leadZero(hex(asc(mid(pk,i,1))))
next
%>
On the W2k, you would have the public key in pk2 variable which is correct
when cheched in the database.
On the W2k3, you get something completely different in the pk2 variable, and
of course that value doesn't get passed the database check.
In short, the Request.ClientCertificate("PublicKey") provides two different
values for w2k and w2k3.
What's up with that?
Can someone help? Microsoft?
I've searched everything for this....