본문 바로가기
#컴퓨터 과학 [Computer Science]/운영체제 (Operating System)

[OS - 🍎 macOS] Build ARM OpenSSL 1.1.1 (How to Compile OpenSSL 1.1.1 for Apple Silicon)

by cy_mos 2021. 5. 4.
반응형
카테고리 (Category) 작성 날짜 (Write Date) 최근 수정 날자 (Recent Write Date) 작성자 (Writer)
Operating System 2021.05.04. 15:29 2021.05.04. 16:41 Dev.Yang

 

OpenSSL은 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판이다. C 언어로 작성되어 있는 중심 라이브러리 안에는, 기본적인 암호화 기능 및 여러 유틸리티 함수들이 구현되어 있다.

 

폴더 경로 (Folder Path) 설명 (Comments)
/usr/local/bin OpenSSL 실행 파일을 저장하고 있는 폴더
/usr/local/lib OpenSSL 라이브러리 파일을 저장하고 있는 폴더
/usr/local/include OpenSSL 헤더 파일을 저장하고 있는 폴더
/usr/local/share OpenSSL 문서 및 메뉴얼 파일을 저장하고 있는 폴더
/usr/local/ssl OpenSSL 설정 및 인증서 파일을 저장하고 있는 폴더

 OpenSSL 1.1.1 설치 및 빌드하기 (Building and install the ARM)

 

OpenSSL 1.1.1 설치를 하는 과정 중 Configuremake 작업을 수행하기 전에 (Run Configure and make similar to before) Configurations/10.main.conf 경로에 파일 내용을 수정하여야 하며 “darwin64-x86_64-cc” 블록 아래에 추가합니다.

 

"darwin64-arm64-cc" => {
    inherit_from     => [ "darwin-common", asm("aarch64_asm") ],
    CFLAGS           => add("-Wall"),
    cflags           => add("-arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"),
    lib_cppflags     => add("-DL_ENDIAN"),
    bn_ops           => "SIXTY_FOUR_BIT_LONG",
    perlasm_scheme   => "macosx",
},

 

위 사전 작업을 수행한 뒤 OpenSSL 1.1.1 설치에 관련된 명령어는 아래와 같습니다.

 

./Configure shared enable-rc5 zlib darwin64-arm64-cc no-asm
sudo make
sudo make install

⚓ OpenSSL 1.1.1 멀티아키텍처 바이너리 생성하기 (Create OpenSSL 1.1.1 Fat Binary)

 

Fat Binary (= Multiarchitecture Binary) 작업을 수행하여야 하는 라이브러리 파일 목록은 아래와 같습니다. /usr/local/lib 경로 아래에 해당 라이브러리 파일들이 존재합니다.

 

  • libssl.1.1.dylib
  • libcrypto.1.1.1.dylib
  • libssl.a
  • libcrypto.a

 

OpenSSL 1.1.1 Fat Binary 생성 명령어
lipo -create -output libcrypto.a [libcrypto.a ARM_BUILD_TARGET_PATH] [libcrypto.a INTEN_BUILD_TARGET_PATH]
lipo -create -output libcrypto.1.1.dylib [libcrypto.1.1.dylib ARM_BUILD_TARGET_PATH] [libcrypto.1.1.dylib INTEN_BUILD_TARGET_PATH]
lipo -create -output libssl.a [libssl.a ARM_BUILD_TARGET_PATH] [libssl.a INTEN_BUILD_TARGET_PATH]
lipo -create -output libssl.1.1.dylib [libssl.1.1.dylib ARM_BUILD_TARGET_PATH] [libssl.1.1.dylib INTEN_BUILD_TARGET_PATH]

🚀 REFERENCE

 

How to Compile OpenSSL 1.1.1 for Apple Silicon

The long-rumored ARM Mac is on the horizon. With this comes the big work of porting and re-compiling current applications. But many Mac App Store apps are dependent on OpenSSL, which doesn’t yet su…

cutecoder.org

 

/index.html

OpenSSL is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. For more information about the team and community around th

www.openssl.org

 

macOS에 OpenSSL 설치하기

install OpenSSL on macOS

progtrend.blogspot.com

반응형

댓글