2013-10-25 2 views
0

Zend 2를 사용하기 시작했는데 (로컬에서) 잘 작동하지만 https를 통해 다른 서버로 데이터를 전달할 수는 없습니다.2 왜 SSL을 인증하지 않습니까?

나는 그것이 ssl certs에 관해서는 약간의 멍청하다. 나는 이것이 문제가있는 곳이라고 생각한다. 나는 CERT, 개인 키와 CA의 인증서를 가지고있다 -이 우리의 서버에 우리의 가상 호스트 도메인 중 하나의 SSL 인증서에 사용되는 위치는 다음과 같습니다 : -

SSLCertificateFile /usr/local/psa/var/certificates/cert-#### 
SSLCACertificateFile /usr/local/psa/var/certificates/cert-#### 

모든 예에서 나는 그들이 읽기 /etc/ssl/certs/ca-bundle.pem '에 있습니다. 내 질문은 내가 어떻게 Zend 2 원하는이 .pem 파일을 만들려면 함께 스틱 것입니다? 나는 모든 ----- BEGIN CERTIFICATE ----- 해시/키 ----- END CERTIFICATE -----가 포함 된 .pem 파일을 만들고 ca-bundle.pem이라고 명명했습니다. 하지만 아파치가 '위치를 확인할 수 없습니다'라는 오류를 내게 던졌습니다. 어떻게 작동합니까? 여기에 내가 어댑터에 대해 가지고있는 코드 조각입니다 : -

$adapter = new Zend\Http\Client\Adapter\Socket(); 
$adapter->setStreamContext(array(
'ssl' => array(
    'verify_peer' => true, 
    'allow_self_signed' => false, 
    'cafile' => '/usr/local/psa/var/certificates/ca-bundle.pem', 
    'verify_depth' => 5, 
    'CN_match' => 'https://www.mydomain.co.uk' 
) 
)); 

$client->setAdapter($adapter); 

감사합니다,

조이

답변

0

먼저,하지만 난 당신이 이미 올바르게 그랬 같아요 How to get .pem file from .key and .crt files?

오류 Unable to set verify locations은 Apache가 키를 찾거나 읽을 수 없기 때문입니다.

솔루션 :

  1. 경로를 확인할 수는
  2. 는 PEM 파일 저도 같은 오류가 발생
0

아파치가 실행되는 WWW-사용자가 읽을 수 있는지 확인 올 때 설치하려고 작곡가. 다음 명령은 나를 위해 문제를 해결했습니다.

sudo update-ca-certificates 

주어진 지침에 따라이 서버에 SSL 인증서를 설치했으며 https 연결을 위해 작동했습니다. Composer를 설치하려고 할 때 "위치를 확인할 수 없습니다"오류가 표시되는 경우에만 발생했습니다. 나는 이것이 다른 사람들에게 저에게 비용을들이는 연구 시간을 절약 할 수 있기를 바랍니다.

관련 문제