Curl HTTPS 요청은 "SSL 피어가 수신 한 핸드 셰이크 메시지를 예상하지 않았습니다."를 제공합니다.

Bart Friederichs

한 컴퓨터 (PHP 5.2.17)에서는 잘 작동하지만 다른 컴퓨터 (PHP 5.6.13)에서는 실패하는 간단한 cURL 코드가 있습니다. 최신 버전에서 cURL 호출은 다음과 함께 예외를 발생시킵니다.

SSL 피어가 수신 한 핸드 셰이크 메시지를 예상하지 않았습니다.

코드는 다음과 같습니다.

private function postRequest($url, $request) {
    $curl = curl_init($url);

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,  FALSE);
    curl_setopt($curl, CURLOPT_CAINFO,          "certificate.der");
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,  2);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,  1);
    curl_setopt($curl, CURLOPT_POST,            1);
    curl_setopt($curl, CURLOPT_POSTFIELDS,      $request);
    curl_setopt($curl, CURLOPT_HTTPHEADER,      array('Content-Type: text/xml'));

    $r = curl_exec($curl);
    if ($r == false) {
        $r = curl_error($curl);
    }

    return $r;
}
페드로 로비 토

다음을 사용할 수 있습니다.

curl_setopt($curl, CURLOPT_SSLVERSION,  CURL_SSLVERSION_SSLv3);

옵션은 다음과 같습니다.

CURL_SSLVERSION_DEFAULT

CURL_SSLVERSION_TLSv1

TLSv1.x

CURL_SSLVERSION_SSLv2

SSLv2

CURL_SSLVERSION_SSLv3

SSLv3

CURL_SSLVERSION_TLSv1_0

TLSv1.0 (Added in 7.34.0)

CURL_SSLVERSION_TLSv1_1

TLSv1.1 (Added in 7.34.0)

CURL_SSLVERSION_TLSv1_2

TLSv1.2 (Added in 7.34.0) 

http://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관