다른 시스템에서 사용하려면 빌드 libssl*
와 바이너리가 필요합니다 . libcrypto*
이를 위해 간단한 스크립트를 작성했습니다.
#!/bin/bash
set -evx
OPENSSL_VERSION="1.0.2l"
TARGET=openssl-linux64
/bin/rm -fr $TARGET
curl -O -L http://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz
tar -xvzf openssl-$OPENSSL_VERSION.tar.gz
mv openssl-$OPENSSL_VERSION $TARGET
cd $TARGET
./Configure linux-x86_64 -shared
make
모든 것이 잘 작동하는 것 같았고 결국 두 개의 라이브러리가 생겼습니다. 불행히도 그들은 libssl.so.1.0.0
and 라고 불립니다 libcrypto.so.1.0.0
. 오히려 헷갈리네요...
이것은 단지 엉망인 버전 관리입니까, 아니면 무슨 일이 일어나고 있습니까?
정확히 무엇이 생산되었는지 어떻게 알 수 있나요? 믿어야 할까요?
중요한 경우: 내 시스템은 "Linux 4.4.0-116-generic #140-Ubuntu SMP Mon x86_64 GNU/Linux"입니다.
답변1
예, 맞습니다. 패키지 버전이 1.0.2l이더라도 라이브러리 버전은 1.0.0입니다. 모든 버전이 1.0이기 때문입니다.
라이브러리 버전이 정의되어 있습니다.여기소스 트리에서 이 정의 위에는 이를 더 자세히 설명하는 주석이 있습니다.
이것이 귀하의 질문에 대한 답변이 되기를 바랍니다.