2016-03-22 268 views
0

希望有人能幫助我。我正在英國開發一個網站,該網站需要將物業發佈到Zoopla和Prime Location。我正在使用這個工具(#顯示需要的安全性)https://realtime-listings.webservices.zpg.co.uk/docs/latest/documentation.html#security使用Guzzle進行OpenSSL身份驗證

HTTP /身份驗證這類東西我很苦惱,所以我會喜歡它,如果有人能夠讓我啓動和運行。

基本上我已經按照上面提到的所有步驟操作,現在我擁有從他們返回並簽名的證書。我正在努力配置Guzzle來驗證和使用這個API。我有一個private.pem文件和signed.crt文件(他們已經給出)。

我最好的嘗試,到目前爲止是:

$client = new \GuzzleHttp\Client([ 'exceptions' => false ]); 
$request = $client->get('https://realtime-listings-api.webservices.zpg.co.uk/sandbox/v1/listing/list', array(), array(
    'cert'  => '/Applications/MAMP/htdocs/mywebsite/signed.crt', 
    //'ssl_key' => '/Applications/MAMP/htdocs/mywebsite/private.pem' 
)); 
var_dump($request->getBody()); 

但是,這只是給我的錯誤:

捲曲錯誤35:未知的SSL協議錯誤的連接實時-上市的API。 webservices.zpg.co.uk:443(見http://curl.haxx.se/libcurl/c/libcurl-errors.html

這整個概念是新的給我,所以如果有人能夠提供一些援助,來換取我連我b非常感謝。

回答

0

即上市僅支持TLS v1.2所以你需要告訴你的狂飲客戶端看:

$request = $client->get('https://realtime-listings-api.webservices.zpg.co.uk/sandbox/v1/listing/list', array(), array(
    'cert'  => '/Applications/MAMP/htdocs/mywebsite/signed.crt', 
    'ssl_key' => '/Applications/MAMP/htdocs/mywebsite/private.pem', 
    'curl.options' => array(
     'CURLOPT_SSLVERSION' => 'CURL_SSLVERSION_TLSv1_2', 
    ) 
)); 

您還需要包括你的證書和SSL密鑰使他們的請求時。

最後,他們需要你,爲了你提供生成他們public.csr文件的副本,以驗證您的要求:This is the link they provided to upload your csr

+0

你好,非常感謝。你真的很棒。我在Mac上使用Laravel和MAMP,所以有兩件事情已經曝光。我將需要使用Homestead,以便cUrl能夠工作,並且我還需要將我的服務器更新到CentOS 7.這兩個應該使我處於正確的軌道,所以非常感謝 –