OpenSSL 커맨드에 대한 사용법은 꽤 많은 문서가 있다. 그러나 crypto library를 사용해서 암호화를 하는 부분에 대한 문서는 만족할만한 수준이 안된다. 그래서 문서 찾아 해메다가 결국엔 openssl 커맨드의 소스코드를 분석해서 파일 암호화를 하는 루틴을 작성했다.
암호화 알고리즘의 변경을 쉽게 할 수 있도록 EVP라는 high-level interface를 사용했고, BIO를 사용해서 파일 입/출력 작업만으로 암/복호화가 가능하도록 했다. 일단 내가 당장 필요한게 blowfish 알고리즘을 사용한 파일 암/복호화 루틴이라서 그것만 가능하도록 코딩했다. 암호화 알고리즘도 선택할 수 있도록 추후 수정이 필요하겠다.
간단한 테스트에서는 아직 아무런 문제가 없는데, 혹시 버그가 있을지 모르니 좀 더 테스트가 요구된다.
cipher.c.txt
comments
comments rss (+댓글 쓰러가기)cc ciphermain.c -I/usr/local/ssl/include -L/usr/local/ssl/lib -lssl -lcrypto -lsocket -lnsl -ldl
하면 솔라리스에서도 경고 몇개 뜨지만 컴파일 되네요. openSSL은 /usr/local/ssl에 있습니다 ^^
여기 코드는 라이브러리 형태로 사용하려고 만든거라서 main 함수는 빠졌어요.
전화번호는 그대로인데... ^^ 혹시 문자를 못 본건감... ^^
술한잔 해요~ 어디서 일하세요? 지난 회사 그대론가요?