2010-06-18 5 views
5

펄에서 LWP를 사용하여 웹 페이지를 요청하고 있으며 웹 서버가 제공하는 SSL 인증서에 액세스 할 수 있기를 원합니다 (만료 날짜를 찾고 있습니다). 인증서, 다른 것들 중에서). 원하는 정보는 Crypt :: SSLeay가 요청에 추가하는 세 개의 헤더에 없습니다. SSL 인증서에 대해 객체 참조 (이상적으로)를 얻을 수있는 방법을 간과하는 방법이 있습니까? 몇 가지 펄 문서와 구글을 스캔했지만 긴 주간이었고 아마도 옳은 것을 읽지 못했을 것입니다.LWP 요청을 통해 반환 된 SSL 인증서를 검사합니다.

피할 수 있다면 별도의 원시 SSL 연결을 만들어 인증서를 직접 가져오고 싶지 않습니다. 인증 된 웹 프록시가 있고 LWP를 사용하면이 문제가 투명하게 사라집니다. :) 그리고 내가 필요로하는 데이터가 내 컴퓨터/어딘가에 이미 전송 중일 때 두 개의 연결을 만드는 것은 어리석은 일이다. ...

+0

관련 항목 : http://stackoverflow.com/questions/74358 – daxim

답변

3

LWP가 제공하는 콜백 중 소켓에 대한 (의도적 인) 액세스는 없지만, 하나의 잠재적 인 해결 방법 인 것 같습니다. LWP에 keep_aliveconn_cache 옵션을 제공하면 LWP는 연결 소켓을 인수로 사용하여 conn_cache 개체에서 ->deposit 개체를 호출합니다. dummy conn-cache 객체를 작성하거나 LWP가 제공하는 LWP::ConnCache을 "창의적으로"사용할 수 있습니다.

어쨌든 백핸드 메소드를 사용하여 소켓을 확보하면 의 서브 클래스가됩니다 (ssleay를 사용한다고 가정 할 때) ->get_peer_certificate을 호출 할 수 있습니다.

+1

어둡고 악한 곳이 있지만 작동/보입니다. :) 감사. – dannysauer

관련 문제