2016-10-15 5 views
1

SSL/TLS를 사용하여 httpbin.org에 연결하기 위해 OpenSSL 라이브러리를 사용하는 C 프로그램이 있습니다. 클라이언트 프로그램은 서버와의 연결을 설정할 수 있습니다.클라이언트 프로그램이 개인 CA의 인증서를 확인합니까?

이제 개인 또는 내부 CA에서 인증서에 서명 한 자체 서버에 연결하고 싶습니다. 클라이언트 측에서는 OpenSSL이 인증서 확인을 위해 자체 CA를 사용하도록하고 싶습니다. 그럼, 내 질문은 :

라이브러리를 사용하여 자체 CA 인증서를로드하고 서버 인증서 확인을 위해 해당 CA 만 사용하도록하려면 어떻게해야합니까?

답변

1

유효성 확인을 위해 어떤 CA를 사용해야하는지 지정하는 것은 CA 보유 방법 (즉, X509 구조, 단일 파일, 인증서가있는 디렉토리 목록 ...)에 따라 여러 가지 방법으로 수행 할 수 있습니다. 마지막 점은 질문에서 자세히 설명하지 않았기 때문에 가장 단순한 경우에 대한 대답을 제한합니다. 하나의 CA 또는 하나의 파일 안에 PEM ​​형식의 CA 목록입니다. 검증을위한 유일한 CA 저장소로이 파일을 설정하는 것은 다음과 같은 SSL_CTX_verify_location 수행 할 수 있습니다 : (오류 처리 등) 자세한 내용은

SSL_CTX_load_verify_locations(ctx, "ca.pem", NULL); 

the documentionexamples on how to use it를 참조하십시오.

+2

다른 사람에게 웹 검색을 요청하는 것이 도움이되지 않습니다. 호기심에서 왜 대부분 코드가없는 답을 제공합니까? 스택 오버플로는 프로그래밍 및 개발 사이트이지만 MCVE가 부족한 유형의 경향이 있습니다. 위의 대답은 아마도 주석이어야합니다. 그 이유는 거의 당신의 대답을 upvote. – jww

+2

@ jww : 나는 stackoverflow가 코드 작성 서비스라고 생각하지 않지만 OP가 빠져있는 필수 정보를 제공해야한다고 생각합니다. 이 경우 OP가 CA를 지정하는 방법을 모른다고 생각합니다. * "라이브러리를 사용하여 자체 CA 인증서를로드하려면 어떻게합니까?"*. 따라서 사용 된 함수의 이름, 함수에 대한 문서화 및이 함수를 사용하는 방법을 보여주는 많은 예제에 대한 링크를 제공했습니다. 더 많은 일을해야한다는 생각이 들지 않으면 자유롭게 해보십시오. –

+0

스택 오버플로는 프로그래밍 및 개발 관련 질문에 대한 사이트입니다. 기능, 코드, 사용법 및 설명을 제공하는 것을 피할 수있는 방법은 거의 없습니다. 불행히도, 그것은 많은 답이 실제로 복사/붙여 넣기가 될 것이라는 것을 의미합니다. 아마도 [질문에 대한 좋은 대답을 쓰려면 어떻게합니까?] (http://meta.stackexchange.com/q/7656/173448)를 검토해야합니다. 답안에 코드를 제공하는 것을 싫어하는 유일한 사람인 것 같습니다. 코드 작성 서비스가 거의 웃기 때문에 답변을 피하는 것에 대한 귀하의 입장을 찾았습니다. – jww

관련 문제