OS X 10.7에서 TextEdit 및 gcc를 사용하여 소형 터미널 프로그램을 만듭니다. 나는 OpenSSL을 프로그래밍하는 법을 배우려고 노력하고 있지만, (나는 더 이상 사용하지 않는 문제로 인해) 드라마를 컴파일하고있다. 내가 봤 거든 그래서 SO를 읽었지만, 2011 이전 (문제가 나타 났을 때), iOS (OS X 용 프로그래밍이지만 플랫폼 독립적이 되려고 함) 또는 Xcode 사용에 대한 대화 나는 그렇지 않습니다 - 나는 TextEdit을 선호합니다).OS X 10.7에서 gcc를 사용하는 OpenSSL
누구든지 gcc를 사용하여 OS X에 OpenSSL 프로그램을 설치하는 방법에 대한 간단한 단계별 절차의 올바른 방향을 지적 할 수 있습니까? 기록을 위해
, 이것은 내가 촬영 한 정확한 단계입니다 :은 OpenSSL은 MacPorts를
'하려면 openssl 버전'을 통해 설치 "2013은 OpenSSL 1.0.1e 2월 11일을"
반환
이 파일을 컴파일하려고합니다 : http://saju.net.in/code/misc/openssl_aes.c.txt
'aes.c'로 이름이 바뀌었고 'g CC -o AES aes.c '나는 (어떤 결과에 대한) 다음 플래그 시도했습니다
: -lcrypto, lssl, -Wno 오류 = 사용되지-선언
특정 출력 I을 gcc에서 가져 오기는 다음과 같습니다.
Brads-MacBook-Air:Desktop brad$ gcc -o aes aes.c -lssl -lcrypto -Wno-error=deprecated-declarations
aes.c: In function ‘aes_init’:
aes.c:30: warning: ‘EVP_BytesToKey’ is deprecated (declared at /usr/include/openssl/evp.h:572)
aes.c:30: warning: ‘EVP_aes_256_cbc’ is deprecated (declared at /usr/include/openssl/evp.h:786)
aes.c:30: warning: ‘EVP_sha1’ is deprecated (declared at /usr/include/openssl/evp.h:666)
aes.c:36: warning: ‘EVP_CIPHER_CTX_init’ is deprecated (declared at /usr/include/openssl/evp.h:636)
aes.c:37: warning: ‘EVP_EncryptInit_ex’ is deprecated (declared at /usr/include/openssl/evp.h:581)
aes.c:37: warning: ‘EVP_aes_256_cbc’ is deprecated (declared at /usr/include/openssl/evp.h:786)
aes.c:38: warning: ‘EVP_CIPHER_CTX_init’ is deprecated (declared at /usr/include/openssl/evp.h:636)
aes.c:39: warning: ‘EVP_DecryptInit_ex’ is deprecated (declared at /usr/include/openssl/evp.h:590)
aes.c:39: warning: ‘EVP_aes_256_cbc’ is deprecated (declared at /usr/include/openssl/evp.h:786)
aes.c: In function ‘aes_encrypt’:
aes.c:51: error: ‘AES_BLOCK_SIZE’ undeclared (first use in this function)
aes.c:51: error: (Each undeclared identifier is reported only once
aes.c:51: error: for each function it appears in.)
aes.c:55: warning: ‘EVP_EncryptInit_ex’ is deprecated (declared at /usr/include/openssl/evp.h:581)
aes.c:59: warning: ‘EVP_EncryptUpdate’ is deprecated (declared at /usr/include/openssl/evp.h:583)
aes.c:62: warning: ‘EVP_EncryptFinal_ex’ is deprecated (declared at /usr/include/openssl/evp.h:584)
aes.c: In function ‘aes_decrypt’:
aes.c:75: error: ‘AES_BLOCK_SIZE’ undeclared (first use in this function)
aes.c:77: warning: ‘EVP_DecryptInit_ex’ is deprecated (declared at /usr/include/openssl/evp.h:590)
aes.c:78: warning: ‘EVP_DecryptUpdate’ is deprecated (declared at /usr/include/openssl/evp.h:592)
aes.c:79: warning: ‘EVP_DecryptFinal_ex’ is deprecated (declared at /usr/include/openssl/evp.h:594)
aes.c: In function ‘main’:
aes.c:136: warning: ‘EVP_CIPHER_CTX_cleanup’ is deprecated (declared at /usr/include/openssl/evp.h:637)
aes.c:137: warning: ‘EVP_CIPHER_CTX_cleanup’ is deprecated (declared at /usr/include/openssl/evp.h:637)
일반적으로 Apple의 0.9.8 버전의 OpenSSL은 사용하지 마십시오. TLS 1.1과 1.2는 없지만 EC 등의 완전한 지원이 부족합니다. OS X에서 OpenSSL을 빌드하려면 OpenSSL wiki의 [컴파일 및 설치] (https://wiki.openssl.org/index.php/Compilation_and_Installation)를 참조하십시오. . 필자는 OS X 명령어를 작성하여 작동한다는 것을 알고 있습니다. – jww