में द्विआधारी कुंजी मैं एक विशेष निजी कुंजी बाइनरी DER
प्रारूप (PKCS#8
) रूबी में में एन्कोड लोड करने के लिए कोशिश कर रहा हूँ।लोड PKCS # 8 रूबी
हालांकि, OpenSSL::PKey
इसे पहचान नहीं होगा। मैं इसे कुछ सांत्वना काम कर रही है और एक PEM
तो जैसे और इसे एक से काम कर सकते हैं:
openssl pkcs8 -inform DER -in file.key -passin pass:xxxxxxxx >private_key.pem
इस के बाद, कुंजी सही तरीके से पढ़ा जा सकता है।
हालांकि, क्योंकि मैं फाइलों को लिखने और पढ़ने की बजाय स्मृति में पूरी प्रक्रिया को पूरा करना चाहता हूं।
तो मेरा सवाल यह है: क्या रूबी/ओपनएसएसएल में बाइनरी एन्कोडेड DER
प्रारूप से निजी कुंजी लोड करना संभव है?
अपने समय के लिए धन्यवाद,
फर्नांडो
यह गलत है। पीईएम के लिए, रूबी स्रोत PEM_read_bio_RSAPrivateKey को कॉल करता है, जो PEM_read_bio_PrivateKey को कॉल करता है, जो हां, PKCS # 8 को संभालता है। हालांकि, जब डीईआर, रूबी स्रोत d2i_RSAPrivateKey_bio को कॉल करता है, जो ASN1_item_i2d_bio (ASN1_ITEM_rptr (RSAPrivateKey), बीपी, आरएसए) (openssl-1.0.1m/crypto/rsa/rsa_asn1.c: ASN1_SEQUENCE_cb (RSAPrivateKey, rsa_cb) = {ASN1_SIMPLE (RSA , संस्करण, लंबा), ...) जो * पीकेसीएस # 8 * नहीं पढ़ेगा। डीईआर-एनकोडेड पीकेसीएस # 8 * ओपनएसएसएल :: पीकेई :: आरएसए.न्यू का उपयोग करके सीधे लोड नहीं किया जा सकता है। –
मेरा बुरा। मुझे नहीं पता था कि ओबीएसएसएल दस्तावेज में जो कहा गया है उससे रूबी में ओपनएसएसएल का कार्यान्वयन अलग था ... –