Hi.  I'm running ActiveState Perl 5.8.3 on Windows 2000.  I installed the
package for Crypt-SSleay so I can use LWP UserAgent for HTTPS sites.  One
site is not working, and if I use the IE browser to access it, I get a
security alert pop-up asking if I want to proceed.  If I say yes, the next
screen is a login requesting username and password.  But when I'm using
Perl to try this, it doesn't work and I get "401 Unauthorized".  I added
the credentials including the username and password, but still no go, and
I think it's because it's looking for a certificate.  So I added the line:
 
$ENV{HTTPS_CERT_FILE} = 'd:\cisf_cert.cer';

The file is an export of my system certificate using IE - Tools - Internet
Options - Content - Certificates - Intermediate Certificate Authorities
(selection) - Export (DER X.509 format).
But this results in the error:

"500 configure certs failed: failed to load d:\cisf_cert.cer: No such file
or directory."

Here's also the LWP Debugfile info:
# LWP::DebugFile logging to d:lwp.log
# Time now: {1080243689} = Thu Mar 25 12:41:29 2004
LWP::UserAgent::new: ()
LWP::UserAgent::proxy: ARRAY(0x1bc5ff4) http://xxx.xx.x.xx:80
LWP::UserAgent::proxy: http http://xxx.xx.x.xx:80
LWP::UserAgent::proxy: ftp http://xxx.xx.x.xx:80
# Time now: {1080243690} = Thu Mar 25 12:41:30 2004
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: GET https://...af.mil/
LWP::UserAgent::_need_proxy: Not proxied
# Time now: {1080243694} = Thu Mar 25 12:41:34 2004
LWP::Protocol::http::request: ()
LWP::UserAgent::request: Simple response: Internal Server Error

If I comment out the line with $ENV{HTTPS_CERT_FILE}, I get 

# LWP::DebugFile logging to d:lwp.log
# Time now: {1080243689} = Thu Mar 25 12:41:29 2004
LWP::UserAgent::new: ()
LWP::UserAgent::proxy: ARRAY(0x1bc5ff4) http://xxx.xx.x.xx:80
LWP::UserAgent::proxy: http http://xxx.xx.x.xx:80
LWP::UserAgent::proxy: ftp http://xxx.xx.x.xx:80
# Time now: {1080243690} = Thu Mar 25 12:41:30 2004
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: GET https://...af.mil/
LWP::UserAgent::_need_proxy: Not proxied
# Time now: {1080243694} = Thu Mar 25 12:41:34 2004
LWP::Protocol::http::request: ()
# Time now: {1080244406} = Thu Mar 25 12:53:26 2004
LWP::UserAgent::request: Simple response: Found
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: GET https://...af.mil/
LWP::UserAgent::_need_proxy: Not proxied
LWP::Protocol::http::request: ()
# Time now: {1080244407} = Thu Mar 25 12:53:27 2004
LWP::Protocol::collect: read 223 bytes
LWP::UserAgent::request: Simple response: Unauthorized

The DOS window says, "401 Unauthorized".

I looked at where the error of "failed to load" is coming from in SSL.pm,
and it's where it tries to load the file into $ctx:

} elsif (/CERT/) {
$ctx->use_certificate_file($file ,1) || die("failed to load $file: $!");

But I can't figure out why it doesn't return successfully.
Appreciate any help or suggestions.
Tony
([EMAIL PROTECTED])




Reply via email to