2012-10-16 91 views
5

मैंने क्रिप्टिव समर्थन (यानी हार्डवेयर त्वरण) के साथ ओपनएसएसएल संकलित किया, लेकिन दुर्भाग्य से डिफ़ॉल्ट इंजन अभी भी सॉफ्टवेयर है।मैं openssl के डिफ़ॉल्ट बैकएंड इंजन को कैसे कॉन्फ़िगर कर सकता हूं?

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

"सही" संख्या पैदावार, लेकिन ProFTP (जो भी OpenSSL का उपयोग करता है) किसी भी प्रदर्शन लाभ जब इस्तेमाल किया (एफ़टीपी सुरक्षित, FTPS, हालांकि आप इसे कहते हैं) नहीं दिखाता है।

इंजन में एईएस-128, एईएस -192, आरसी 4, एसएचए -1, डीईएस, ट्रिपल-डीईएस और कुछ अन्य के लिए समर्थन है।

मेरे /etc/ssl/openssl.cnf इस तरह दिखता है:

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

[engine_section] 
cryptodev = cryptodev_section 

[cryptodev_section] 
default_algorithms = ALL 

मैं कोड में देखा है, लेकिन वे परिभाषित करता है के साथ बुरा बातें करते हैं, को पुनर्परिभाषित, undefines, प्रोटोटाइप जो एक दर्द का पता लगाने बनाता है ... के साथ संयुक्त

यदि उपर्युक्त सही है, तो उपयोगकर्ता को CTX_SSL या समान बनाता है जब इंजन को प्रारंभ करने के लिए क्या नियमित कहा जाता है?

उत्तर

1

OpenSSL's config(5) के अनुसार: "कमांड डिफ़ॉल्ट_एल्गोरिदम डिफ़ॉल्ट एल्गोरिदम सेट करता है जो इंजन ENGINE_set_default_string()" कार्यों का उपयोग करके आपूर्ति करेगा। मुझे विश्वास नहीं है कि "ऑल" एक वैध इंजन है। आप engine_id से default_algorithms निर्दिष्ट करने का प्रयास कर सकते हैं।


आप स्रोत कोड में यह कर रहे हैं, तो कॉल करने का प्रयास:

: यदि आप एक ENGINE* है, तो

ENGINE_load_builtin_engines(); 

द्वारा

ENGINE_register_all_complete(); 

पीछा किया, तो आप की तरह कुछ कर सकते हैं

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

मुझे इस विषय पर किसी भी अच्छे दस्तावेज से अवगत नहीं है, लेकिन मैंने विगा, मैसीयर और चंद्र की पुस्तक की जांच नहीं की है। हम में से कुछ Libcrypto API के लिए ओपनएसएसएल विकी टॉक पेज पर चर्चा कर रहे थे।

+0

मैंने कॉन्फ़िगरेशन का उपयोग करके इसे हल करने में कामयाब रहा, लेकिन मैं इसे अपडेट करना भूल गया और मेरे पास अब रेपो तक पहुंच नहीं है जिसमें कॉन्फ़िगरेशन है, वैसे भी बहुत अच्छा संकेत - पुराने ओपनएसएल संस्करणों में 'ENGINE_set_default_ciphers 'नहीं है (http://forums.freebsd.org/showthread.php?t=7418 से)। – drahnr

+0

वहां आप यह भी देख सकते हैं कि 'ALL' मान्य होना चाहिए। – drahnr