PKI 인프라를 사용하여 서버 간 OpenVPN을 설정하고 있는데 작동하지 않습니다. 인증서 체인에 문제가 있다고 생각하지만 방법을 설명하지 못했습니다. 오프라인 루트 CA와 인증서 계층이 있습니다. CA는 EJBCA라는 제품에 의해 외부 적으로 관리됩니다. 그림으로 체인은 다음과 같습니다 (이름이 변경됨).
RootCA -> OnlineSubCA -> SubCA1 -> VPNCA
CA VPNCA로 서버 및 클라이언트 인증서에 서명하고 해당 시스템에 인증서 체인이 있습니다. OpenVPN을 디버깅하는 동안 "openssl s_server"및 s_client "를 사용하여 CA 체인이라고 믿었습니다. 특히 서버에서 :
openssl s_server -cert server.cert -key server.key -CAfile chained.pem -verify 5
그리고 클라이언트에서
openssl s_client -cert client.cert -key client.key -CAfile chained.pem -verify 5
서버는 다른 것들 중에서도 뱉어냅니다.
depth=3 C = CA, O = My Company, CN = OnlineSubCA
verify error:num=24:invalid CA certificate
verify return:1
depth=3 C = CA, O = My Company, CN = OnlineSubCA
verify error:num=26:unsupported certificate purpose
verify return:1
depth=4 C = CA, O = My Company, CN = RootCA, emailAddress = certs@mycompany.com
verify return:1
depth=3 C = CA, O = My Company, CN = OnlineSubCA
verify return:1
depth=2 CN = SubCA1, O = My Company, C = CA
verify return:1
depth=1 CN = VPNCA
verify return:1
depth=0 C = CA, ST = , L = , O = My Company, OU = , CN = client1.mycompany.com, emailAddress = pki@mycompany.com
verify return:1
그리고 이것이 어떻게 또는 왜 그런지를 설명하기 위해 완전히 손실되었습니다. OpenVPN도 클라이언트에서 비슷한 오류로 실패합니다.
VERIFY ERROR: depth=3, error=invalid CA certificate: /C=CA/O=My_Company/CN=OnlineSubCA
Ubuntu 12.04에서 OpenVPN 2.2.1 및 OpenSSL 1.0.1을 실행하고 있습니다. 둘 다 시간이 동기화되었습니다.
더 이상 진행하는 방법이 없어졌습니다. 모든 아이디어 / 제안은 크게 감사하겠습니다.