2012-05-19 2 views
1

나는 오픈 소스 PHP 응용 프로그램을 작성 중입니다. 중요한 데이터를 전송하려면 애플리케이션을 내 서버에 연결해야 할 수 있습니다. SSL을 내 서버에 설치했는데 제대로 설정했다고 생각하지만 여기 누군가가 확인할 수 있기를 바랍니다.오픈 소스 응용 프로그램에서 PHP cURL을 사용하여 ssl 설치

응용 프로그램이 다른 사용자 서버에서 사용되므로 서버 간 통신이됩니다.

내 서버에 연결할 때 사용자 서버를 클라이언트로 간주합니다. 내 서버는 서버에 연결되지 않으므로 SSL을 필요로하지 않습니다 (오른쪽)?

저는 연결하는 동안 cURL을 사용하여 (내 서버로) 및 POST 데이터를 호출합니다. 따라서 https 주소로 문의하십시오.

지금 나는 그것이 그럴 것이라고 생각했다. 주소를 https으로 지정하면 모든 것이 안전합니다. 나는 중개인에 대해 걱정하지 않고 안전하게 (신용 카드 번호, 암호 등) 좋아하는 것을 보낼 수 있습니다. 이야기의 끝.

그러나 주위 읽은 후

, 나는 어떤 사람들은 자신의 컬 세션에서 다른 물건을하고있는 것으로 나타났습니다 - 인증서 (가 .crt 파일)을 포함하여 같이 :

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt"); 

를 오픈 소스에 대한 것이 안전합니까? 나는 그것을해야합니까? 아니면 내가 가지고있는 것에 안전합니까?

답변

1

cURL을 설치하는 시스템에 따라 SSL 인증서를 확인하기위한 정보가 충분하거나 아닐 수도 있습니다 (중간 인증서와 루트 인증서를 웹 사이트 인증서에 연결하여 향상시킬 수 있습니다). http://curl.haxx.se/docs/sslcerts.html

특히, cURL은 이전 인증서 번들과 함께 제공되기 때문에 명시 적으로 명시 적으로 제공하는 것이 좋습니다. Firefox 소스 코드에서 가져온 최신 버전을 다운로드 할 수 있습니다. http://curl.haxx.se/docs/caextract.html

소프트웨어가 독점적으로 사용자의 서버와 통신하는 경우 사용자 자신의 공용 인증서 만 포함 된 번들을 제공 할 수도 있습니다. 이렇게하면 무료로 사용할 수있는 자체 서명 된 인증서를 사용할 수 있습니다.

+0

글쎄, 나는 다른 방법을 사용하여 내 서버에 연결하는 사람을 확인하므로 클라이언트의 공개 인증서가 필요 없다고 생각합니다. 그래서 그 외에는 시작할 수 있습니다. 내가 원하는 것을 게시 할 수 있습니까? 간단한'cURL'을 통해'https'에?고마워요 xD –

+0

아니요, 귀하의 서버가 자체 서명 된 인증서를 사용할 수 있다는 것을 의미합니다 :) 클라이언트는 올바르게 언급했듯이 자신의 인증서가 필요하지 않습니다. 번들없이 먼저 시도해 볼 수 있습니다. 어떻게 진행되는지보십시오. –

+0

인증서를 보내지 않고서는 보안상의 문제가 있습니까? 'cURL'을 통해'https'를 사용하거나 번들을 사용해야 만합니까? –

0

다른 쪽 끝의 서버가 사용자에게 특별히 제공하고 해당 클라이언트 인증서가있는 클라이언트가 아닌 다른 클라이언트로부터의 연결을 수락하지 않으면 CURL 호출을 따라 클라이언트 인증서를 첨부합니다.

여기 웹 사이트에 대해 이야기하는 경우 여기에 대해 걱정할 필요가 없습니다.

보안 된 리소스에 액세스하는 일부 서비스 공급자에 대해 이야기하고 클라이언트 인증서를 생성해야하는 경우 해당 서비스 공급자는 사용자를 위해 발급하고 명시 적으로 사용하도록 알려줍니다.

예를 들어 개인 회원 만 액세스 할 수있는 시스템이 있습니다. 다른 회원이 요청을 보내는 RPC 종점이 있습니다. 그리고 우리는 회원들 (웹 사이트와 같은 비공개 공개가 아닌)에 대한 액세스만을 허용하기 때문에 클라이언트 인증서를 발급하고 서비스 호출과 함께 첨부하도록 명시 적으로 지시합니다.

+0

그래서 나는 내가 가진 것을 가지고 있어도 괜찮습니까? - 내가 비공개로 연결하려고하지 않기 때문에. –

관련 문제