도와주세요!!
글 수 15,339
2005.12.27 20:20:34 (*.241.222.110)
10619
안녕하세요.
임베디드 기기간의 암호와 통신을 하려고 합니다.
일단 www.openssl.org에서 openssl-0.9.7h를 받아서 임베디드용으로 컴파일을 했읍니다.
자료가 찾기 무지 힘들었는데요.. 아래와 같이 하면 됩니다.
① www.openssl.org에서 소스를 다운받아 압축을 해제한다.
② ./Configure linux-elf-arm --prefix=/usr/local/SSL --openssldir=/usr/ local/SSL/OPENSSL no-threads no-zlib no-asm
③ Makefile에서 CC를 크로스 컴파일러(ex. arm-linux-gcc)로 변경한다. Makefile이 여러 개인데 모두 변경해 주어야 한다.
④ apps 디렉토리 안에 있는 makefile에서 LIBSSL에 ‘-ldl’을 추가시킨다. 또 test 디렉토리의 makefile에 LIBCRYPTO에 ‘-ldl’을 추가시킨다.
⑤ make; make install을 통해서 컴파일한다.
⑥ arm-linux-gcc -print-search-dirs로 라이브러리 검색 디렉토리 목록을 찾은 후 액세스 가능한 디렉토리에 생성된 라이브러리 파일 2개와 pkgconfig 디렉토리를 복사한다.
일단 이렇게 해서. openssl를 컴파일 했구요.. falinux보드 ex-5보드상에서 돌아가는것을 확인했읍니다.
근데 암호화 통신을 하려고 할때 아래 처럼 system 명령을 써서 코딩 하는것 보단
라이브러리 이용해서 코딩하는것이 더 좋을듯한데요..
int main( int argc, char **argv )
{
system("./openssl genrsa -out private.key");
}
그래서 일단 openssl 소스에 있는 테스트 프로그램을 컴파일 해보기로 햇읍니다.
근데 이때 헤더 파일 include설정을 어떻게 해야 할지를 모르겠읍니다. 고수님들 도와주세요..
아래 내용중 include 경로 설정시에 EX-5도 같이 include해줘야 하는데
INCLUDEDIR = usr/armv5l-linux/include -->이렇게
INCLUDEDIR = usr/local/openssl-0.9.7h/OPENSSL/include/openssl
두개다 include경로를 설정할수 잇는 방법은 없는지요.??
아래는 제가 리눅스 host pc상에 셋팅 환경입니다.
openssl 설치 경로
usrlocalopenssl-0.9.7hinclude
Makefile 내용
# Makefile for a basic kernel module
CROSS_COMPILE=arm-linux-gcc
# Modify this statement to your kernel directory
#INCLUDEDIR = usr/armv5l-linux/include
INCLUDEDIR = usr/local/openssl-0.9.7h/OPENSSL/include/openssl
MODCFLAGS := -Wall -O3 -DMODULE -D__KERNEL__ -I$(INCLUDEDIR)
MODCFLAGS1 := -Wall -O3 -I$(INCLUDEDIR)
bftest:bftest.o
$(CROSS_COMPILE) $(MODCFLAGS1) -o bftest bftest.c -ldl -lssl -lcrypto
부탁좀 드립니다 도와주세요...
여기 아니면 메신져로 답해주셔도 됩니다.. oversky72@hotmail.com -> MSN
임베디드 기기간의 암호와 통신을 하려고 합니다.
일단 www.openssl.org에서 openssl-0.9.7h를 받아서 임베디드용으로 컴파일을 했읍니다.
자료가 찾기 무지 힘들었는데요.. 아래와 같이 하면 됩니다.
① www.openssl.org에서 소스를 다운받아 압축을 해제한다.
② ./Configure linux-elf-arm --prefix=/usr/local/SSL --openssldir=/usr/ local/SSL/OPENSSL no-threads no-zlib no-asm
③ Makefile에서 CC를 크로스 컴파일러(ex. arm-linux-gcc)로 변경한다. Makefile이 여러 개인데 모두 변경해 주어야 한다.
④ apps 디렉토리 안에 있는 makefile에서 LIBSSL에 ‘-ldl’을 추가시킨다. 또 test 디렉토리의 makefile에 LIBCRYPTO에 ‘-ldl’을 추가시킨다.
⑤ make; make install을 통해서 컴파일한다.
⑥ arm-linux-gcc -print-search-dirs로 라이브러리 검색 디렉토리 목록을 찾은 후 액세스 가능한 디렉토리에 생성된 라이브러리 파일 2개와 pkgconfig 디렉토리를 복사한다.
일단 이렇게 해서. openssl를 컴파일 했구요.. falinux보드 ex-5보드상에서 돌아가는것을 확인했읍니다.
근데 암호화 통신을 하려고 할때 아래 처럼 system 명령을 써서 코딩 하는것 보단
라이브러리 이용해서 코딩하는것이 더 좋을듯한데요..
int main( int argc, char **argv )
{
system("./openssl genrsa -out private.key");
}
그래서 일단 openssl 소스에 있는 테스트 프로그램을 컴파일 해보기로 햇읍니다.
근데 이때 헤더 파일 include설정을 어떻게 해야 할지를 모르겠읍니다. 고수님들 도와주세요..
아래 내용중 include 경로 설정시에 EX-5도 같이 include해줘야 하는데
INCLUDEDIR = usr/armv5l-linux/include -->이렇게
INCLUDEDIR = usr/local/openssl-0.9.7h/OPENSSL/include/openssl
두개다 include경로를 설정할수 잇는 방법은 없는지요.??
아래는 제가 리눅스 host pc상에 셋팅 환경입니다.
openssl 설치 경로
usrlocalopenssl-0.9.7hinclude
Makefile 내용
# Makefile for a basic kernel module
CROSS_COMPILE=arm-linux-gcc
# Modify this statement to your kernel directory
#INCLUDEDIR = usr/armv5l-linux/include
INCLUDEDIR = usr/local/openssl-0.9.7h/OPENSSL/include/openssl
MODCFLAGS := -Wall -O3 -DMODULE -D__KERNEL__ -I$(INCLUDEDIR)
MODCFLAGS1 := -Wall -O3 -I$(INCLUDEDIR)
bftest:bftest.o
$(CROSS_COMPILE) $(MODCFLAGS1) -o bftest bftest.c -ldl -lssl -lcrypto
부탁좀 드립니다 도와주세요...
여기 아니면 메신져로 답해주셔도 됩니다.. oversky72@hotmail.com -> MSN