2010-12-08 3 views
0

결제 서버로 데이터를 보내고 결과를 받아야합니다. 나는 그것을 달성하기 위해 cUrl을 사용하기로 결정했습니다. 상대방이 공개 키처럼 작동하는 ssl 인증서를주었습니다 (올바르게 이해하면). cUrl 호출은 보안 문제에 대해 지불 서버의 개인 키를 가져올 수 없기 때문에 이해할 수없는 개인 키를 설정할 수 없다는 오류 메시지를 반환합니다. 나는 그들이 내 신분을 확인할 수 있도록 (즉, 내 서버 IP를 가지고 있고 그들이 나에게 준 인증서의 개인 키를 가정하고) 지불 서버에 내 SSL 인증서를 전달해야합니다.결제 서버 cUrl ssl 인증서가있는 http 게시글에 비공개 키를 묻습니다.

브라우저가 개인 키로 정보에 서명하지 않고 필요한 웹 사이트에 액세스하는 방법을 시뮬레이트해야한다고 가정합니다.

그래서 질문은 - cUrl http 게시물을 만드는 방법입니까?

$x = curl_init(); 
$options = array(
    CURLOPT_URL => $serverURL, 
    CURLOPT_VERBOSE => 1, 
    CURLOPT_SSLCERT => getcwd() . "/certificate.pem", 
    CURLOPT_SSL_VERIFYPEER => false, 
    CURLOPT_SSL_VERIFYHOST => 2, 
    CURLOPT_FAILONERROR => 1, 
    CURLOPT_HEADER => true, 
    CURLOPT_POST => 1, 
    CURLOPT_POSTFIELDS => $string, 
    CURLOPT_FOLLOWLOCATION => 0, 
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_TIMEOUT => 5, 
); 

curl_setopt_array($x, $options); 

$data = curl_exec($x); 


if (curl_errno($x)) { 
    echo curl_error($x) . " (" . curl_errno($x) . ")<br/>"; 
} else { 
    echo "reponse: "; 
    var_dump ($data); 
} 

답변

1

CURLOPT_SSL_VERIFYPEER가 허위 사실

+0

시도해도 - 효과 없음, 오류 : "개인 키 파일을 설정할 수 없음" – banesto

0

확인하지 않도록 설정해야합니다

는 지금은이 코드를 사용합니다. 나는 모든 자료를받지 못했던 것 같다. 제대로 작동하려면 열쇠와 키패드가 있어야합니다.

+0

어떤 certs 및 해당 키를 사용해야하는지 자세히 설명해 주시겠습니까? –

관련 문제