2012-10-16 5 views
5

cryptodev 지원 (즉, 하드웨어 가속)으로 OpenSSL을 컴파일했지만 불행히도 기본 엔진은 여전히 ​​소프트웨어입니다.openssl의 기본 백엔드 엔진을 어떻게 구성 할 수 있습니까?

time openssl speed -evp aes-128-cbc -engine cryptodev 

는 "오른쪽"수를 산출하지만, (FTP 안전, FTPS, 그러나 당신은 그것을 호출)를 사용하는 경우 (또한 OpenSSL을 사용) ProFTP은 성능 향상을 표시하지 않습니다.

이 엔진은 AES-128, AES-192, RC4, SHA-1, DES, Triple-DES 및 기타 몇 가지 엔진을 지원합니다.

/etc/ssl/openssl.cnf은 다음과 같습니다,

#... 
# a lot of generic stuff... 
#... 

[engine_section] 
cryptodev = cryptodev_section 

[cryptodev_section] 
default_algorithms = ALL 

내가 코드에 보였다,하지만 그들은 정의와 불쾌한 일을 재정의, 정의를 해제, 고통을 추적하게 프로토 타입 ... 결합

위의 내용이 정확하다면 사용자가 CTX_SSL 또는 비슷한 것을 만들 때 엔진을 초기화하기 위해 호출되는 루틴은 무엇입니까?

답변

1

OpenSSL's config(5)에 따르면 : "명령 default_algorithms는 ENGINE이 ENGINE_set_default_string()"함수를 사용하여 제공 할 기본 알고리즘을 설정합니다. 나는 "ALL"이 유효한 엔진이라고 믿지 않습니다. engine_id에서 default_algorithms까지 입력 해보십시오. 당신은 소스 코드에서이 일을하는 경우


호출 시도 :

:

ENGINE_load_builtin_engines(); 

ENGINE_register_all_complete(); 

다음에 당신이 ENGINE*있는 경우에, 당신은 뭔가를 할 수 있습니다

ENGINE* eng = ENGINE_by_id("XXX"); 
ENGINE_set_default(eng, ENGINE_METHOD_ALL); 
OpenSSL_add_all_algorithms(); 

나는 그 주제에 대해 좋은 문서를 모르고 있지만, 비에가, 마시 어, 찬드라의 책은 확인하지 않았다. 우리 중 일부는 Libcrypto API에 대한 OpenSSL wiki 토론 페이지에서이 문제를 논의하고있었습니다.

+0

설정을 사용하여 soley를 고칠 수 있었지만, 이것을 업데이트하는 것을 잊었으며, 더 이상 설정을 포함하고있는 repo에 대한 액세스 권한이 없습니다. 오래된 힌트 - 오래된 openssl 버전에는 'ENGINE_set_default_ciphers'가없는 것 같습니다. (http://forums.freebsd.org/showthread.php?t=7418에서). – drahnr

+0

거기에'ALL'이 유효하다는 것을 볼 수 있습니다. – drahnr

관련 문제