2013-07-03 6 views
58

PEM_read_bio_PrivateKey()NULL देता है यदि ईसीबी मोड में डीईएस ईडीई द्वारा निजी कुंजी एन्क्रिप्ट की जाती है तो NULL लौटाता है। मुद्दा EVP_DecryptFinal_ex() में क्या होता है:PEM_read_bio_PrivateKey() ईसीबी मोड में केवल

4128:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:

ही निजी कुंजी सीबीसी मोड में डेस EDE से एन्क्रिप्टेड है, तो इस समारोह ठीक काम करता है।

मैंने जांच की, यह समस्या openssl 0.9.8r/y संस्करणों (FIPS के बिना) पर पुन: उत्पन्न होती है। यदि openssl FIPS के साथ बनाया गया है तो समस्या नहीं होती है।

इस व्यवहार का कारण क्या है?

धन्यवाद!

+1

crypto.SE में आपका स्वागत है। आपका प्रश्न शायद [openssl-users] (http://www.openssl.org/support/community.html) मेलिंग सूची पर पूछे जाने के लिए बेहतर अनुकूल है। – archie

+2

क्या आपने यह सुनिश्चित किया है कि [उचित एल्गोरिदम लोड करें?] (Http://www.openssl.org/docs/crypto/OpenSSL_add_all_algorithms.html) – javex

+0

हां, मैं OpenSSL_add_all_algorithms() को कॉल करता हूं। मैंने यह भी जांच की कि एक निजी कुंजी पढ़ने के लिए सही सिफर का चयन किया गया है। अजीब लगता है कि यह केवल FIPS के साथ काम करता है। – Alex

उत्तर

1

ओपनएसएसएल स्रोतों को देखते हुए, यह तब हो सकता है जब एन्क्रिप्टेड डेटा में पैडिंग अमान्य हो। क्या यह विभिन्न चाबियों के साथ होता है, और क्या आप एक नमूना प्रदान कर सकते हैं? और, इस तरह की चाबियाँ उत्पन्न करने के लिए किस उपकरण का उपयोग किया जाता है (यानी ओपनएसएसएल या नहीं)? शायद, यह सही एक के बजाय पैडिंग/या शून्य पैडिंग लिखता है।

संबंधित मुद्दे