OpenSSL을 사용하여 서버의 인증서를 확인하고 있습니다. OpenSSL은 기본 제공 루트 CA가 없으므로 출하되므로 루트 CA 인증서를 소프트웨어 (OpenSSL에 정적으로 링크)와 함께 배포해야합니다. 일반적으로 인증서 파일을 PEM 형식으로 배포하고 SSL_CTX_load_verify_locations를 호출하는 방법이 있습니다.C++/OpenSSL : 파일이 아닌 버퍼에서 루트 CA 사용 (SSL_CTX_load_verify_locations)
그러나이 함수는 파일/디렉토리 경로를 사용하고 파일 시스템에서 직접 루트 인증서 파일을 읽습니다. 파일 시스템에 저장하는 대신 바이너리에 인증서를 하드 코딩 할 수 있기를 정말로 원합니다.
다른 말로하면 우리는 파일 경로 대신 X509 *를 사용하는 SSL_CTX_load_verify_locations와 같은 기능을 갖고 싶어합니다.
이와 비슷한 것이 있습니까? 또는 함께 해킹 할 수있는 쉬운 방법이 있습니까? 우리는 이것에 대해 많은 정보를 찾을 수없는 것 같습니다.
제안 해 주셔서 감사합니다.
SSL_CTX_load_verify_locations를 호출하기 전에 하드 코드 된 루트 인증서를 디스크에 저장하지 못하게하는 이유는 무엇입니까? –
그러나 보안 응용 프로그램이므로 악의적 인 간섭이 걱정됩니다. 특히 루트 인증서 파일을 찾아서 덮어 쓰기가 쉬운 경우 SSL을 사용하는 모든 트랜잭션을 방해 할 수 있습니다. 필요하다면이 경로를 사용할 것이지만 루트 인증서를 바이너리 자체로 컴파일 할 수 있다면 좋을 것입니다. – DSII
루트 CA를 파일로 저장하는 것보다 더 안전하게 하드 코딩하지 않아도됩니다. –