지난번 질문 하다 다시 도움을 얻을수 있을까 글을 올려 봅니다.
서버와 제가(client)통신을 해서 json으로 자료를 주고 받는 구조입니다. 이건 다 처리가 끝났는데, 서버쪽에서 2 way authentication을 해야 된다고 합니다.
PHP상에서 그걸 구현 해야 하는데, 2 way 인증이 흔하지 않아서 그런지 도통 자료를 찾을수가 없습니다. 자바쪽은 그런대로 자료가 보이는데 PHP가 어렵네요. 이론적으로 2 way가 이런거다라는건 많이들 있는데 실제 구현쪽이 거의 보이질 않습니다.
지금 서버쪽으로 부터 pem 인증서는 받아놓은 상태인데, 삽질중이네요.
혹시 자료나 아시는 부분 있으신분 계시면 부탁 드리겠습니다.
----------------------------------
혹시나 같은걸 찾으시는 분이 계실까봐 결과 update 합니다.
이중인증을 해야 하는데, PHP상에서는 방법이 없어서 curl을 사용 해야 합니다.
curl --cacert /인증서.ca --cert /인증서.pem --key /privatekey.key SERVER_URL
위와 같이 인증서와 client에서 만 키를 옵션으로 주면 됩니다.
java에서는 keystore에 인증서를 저장하고, 소스에서 그 저장된 인증서를 명시해주면 되는 식이더군요.
아마도 이중인증이 주로 엔터프라이즈 환경에서 사용하다 보니 java는 프레임웍내에서 지원을 하는데 php는 없는듯 합니다.
1. 서버 인증서
2. 서버 인증서를 발급한 기관(ca) 인증서
3. 클라이언트 인증서
4. 클라이언트 인증서를 발급한 기관(ca) 인증서
5. 클라이언트 private key
정도 네요.
작업하신 내용을 서버 쪽에도 클라이언트 ca 인증서로 작업하시고 3,5번 파일 사용하여 연결하시면 될듯 하네요.
https://www.example-code.com/phpExt/http_tlsMutualAuthentication.asp
구글링 해보니 몇가지 나오긴 하네요.
2 way ssl authentication php