2011-12-15 2 views
-1

PHP cURL을 사용하여 https 호스트에 연결하려고하지만 호스트 또는 CA 경로에서 반환 한 인증서를 사용하고 싶지 않습니다.PHP cURL을 사용하여 https 호스트에 로컬 SSL 인증서를 지정 하시겠습니까?

로컬로 인증서를 가지고 있으므로 호스트에서 반환 한 인증서 대신 로컬 파일을 사용하고 CA에 의존하지 마십시오.

나는 여러 가지를 연구하고 시도했지만, 호스트에서 인증서를 가져 와서 CA 경로를 따르는 일반적인 기본 경로를 제외하고는 아무 것도 작동하지 않습니다.

기존 호스트 인증서를 변경하는 것은 옵션이 아닙니다.

+0

기본 인증서를 건너 뛰는 이유를 알면 도움이 될 수 있습니다. 이것은 cURL 통화에서 속도 문제일까요? –

+0

CA를 신뢰하거나 참조 할 필요가 없습니다. 실제로는 기본 방법을 사용하고 일단 성공하면 cURL이 서버에서 가져온 인증서를 로컬 복사본과 비교하는 해결 방법을 개발했습니다. 나는 cURL이 이미 그것을 지원한다면 차라리 좀 더 직접적인 방법을 원합니다. – danorton

+0

나는 당신의 추론을 정말로 이해하지 못합니다. CA가 서명하고 발급 한 인증서를 사용할 때 이미 인증서 소유자가 자신이 말하는 사람이라는 것을 확인한 CA를 신뢰하고 있습니다. – middus

답변

0

나는 당신을 이해하는지 잘 모르겠습니다. 질문이 잘못되었거나 SSL에 관한 근본적인 오해가 있습니다.

호스트 인증서 (공개 키)를 사용해야합니다. 그렇지 않으면 호스트가 보내는 것을 이해하지 못합니다.

+0

원래 쿼리에서 : "... 로컬에 인증서가 있습니다 ...". 답장을 보내지 않고 답장을받지 못했습니다. (이것은 원래의 질의에 대한 주석으로 귀속됩니다.) – danorton

+0

@danorton 글쎄, 질문을 제기하는 사람이 반드시 그것을 읽는 사람들에게 명확하지는 않은 것으로 보이는 것이 분명해 보입니다. 내게는 로컬 인증서가 "호스트에 의해 반환 된 인증서"와 동일하다는 것이 명확하지 않습니다. 그 인증서를 사용하고 싶지 않다고 특별히 언급했기 때문입니다. 이것이 내가 너에게 뭔가 잘못되었다는 결론에 도달 한 이유이다. 나에게 이것은 유효한 대답이다. – middus

관련 문제