2013-07-04 2 views
1

SSL을 기반으로하는 Apache mod_perl 웹 서비스를 구성했습니다. 물론 브라우저에서 https를 사용하여 웹 서비스에 액세스 할 수 있습니다. CA 인증서를 브라우저의 신뢰 목록에 서명 한 경우) 웹 서비스에 액세스하지만 SOAP :: Lite를 사용할 때 실패했습니다. 나는 응답을https를 기반으로 SOAP :: Lite를 사용하여 인증서 확인에 실패했습니다.

$ENV{HTTPS_CERT_FILE} = '/etc/pki/tls/mycerts/client.crt'; 
$ENV{HTTPS_KEY_FILE} = '/etc/pki/tls/mycerts/client.key'; 
#$ENV{HTTPS_CA_FILE} = '/etc/pki/tls/mycerts/ca.crt'; 
#$ENV{HTTPS_CA_DIR} = '/etc/pki/tls/mycerts/ca.key'; 
#$ENV{HTTPS_VERSION} = 3; 
$ENV{SSL_ca_file}='/etc/pki/tls/mycerts/ca.crt'; 
$ENV{SSL_ca_pah}='/etc/pki/tls/mycerts/'; 
#$ENV{SSL_cert_file}='/etc/pki/tls/mycerts/client.key'; 
#$ENV{SSL_key_file}='/etc/pki/tls/mycerts/client.crt'; 
$ENV{PERL_LWP_SSL_CA_FILE}='/etc/pki/tls/mycerts/ca.crt'; 
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=1; 
#$ENV{PERL_LWP_SSL_CA_PATH}='/etc/pki/tls/mycerts/'; 
use SOAP::Lite; 
my $name = "wuchang"; 
print "\n\nCalling the SOAP Server to say hello\n\n"; 
print SOAP::Lite 
    -> uri('http://localhost/mod_perl_rules1') 
    -> proxy('https://localhost/mod_perl_rules1') 
    -> result; 

: 이 내 소스 코드

500 Can't connect to localhost:443 (certificate verify failed) at /root/Desktop/test.pl line 18 

내 인증서 형식이 생성 incorrect.I 사용하려면 openssl 경우 정말 디버그 이걸 모르는 수없는 내 인증서, 클라이언트 인증서, 서버 인증서 및 내 자체 서명 된 CA 인증서 포함 및 CA 서명 클라이언트 및 서버 cert.I 정말 무엇이 잘못되고 있는지 모르겠다.

+0

[가능한 LWP를 SSL 서버 인증서의 유효성을 검사하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/74358/how-can-i-get-lwp-to-validate-ssl-server- 인증서) – rjzii

답변

-1

인증서를 확인하지 말라고 지시하십시오. 다음과 같이 SSL 확인을 0으로 설정하십시오.

$ ENV {PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

관련 문제