2016-06-09 2 views

답변

1

TLS 백엔드 및 선택한 라이브러리에 따라 다릅니다.

OpenSSL이 가장 보편적으로 사용되는 것으로 알고 있으므로 사용하겠습니다. libcurl이 OpenSSL을 사용하도록 빌드 될 때, libcurl 자체는 설정시에 사용하도록 지시 한 임의의 파일 장치를 사용하려고 시도하지만, 현재의 OpenSSL 버전이 자체 엔트로피 시드를 수행한다는 것을 확신합니다. curl의 configure 스크립트에 --with-random으로 제어 할 수 없습니다.

libcurl이 다른 TLS 백엔드 중 하나를 사용하도록 빌드 된 경우 모두 자체적으로 임의의 엔트로피 시드를 수행하므로 libcurl이 알고있는 임의 파일은 전혀 사용되지 않습니다.

+0

감사합니다. 환경 설정에서/dev/random을 사용하도록 openssl을 구성 했으므로 curl 명령 실행에도 반영됩니다. 이를 확인하기 위해 커널 함수 get_random_bytes, random_read 및 urandom_read를 char/random.c에 액세스하는 프로세스를 기록했고 curl 프로세스가 random_read를 발견했습니다. 하지만 get_random_bytes와 random_read가 동일한 프로세스가 먼저 발견되었습니다. 기대 되니? 또는 이것을 확인하는 더 좋은 방법이 있습니까? 나는 또한 curl 명령어의 strace를했고 그것은 단지/dev/random으로 지적되었다. – KhannaKapil