मेरे पास एक बाइनरी फ़ाइल में एम्बेडेड आरएसए सार्वजनिक कुंजी के मॉड्यूलस & है, और मैं पूरे ब्लॉब निकालने और उपयोग करने योग्य बनाने की कोशिश कर रहा हूं। पेम सार्वजनिक कुंजी।कच्चे मॉड्यूलस और एक्सपोनेंट को आरएसए सार्वजनिक कुंजी (.pem प्रारूप) में परिवर्तित करने के लिए कैसे करें
वर्तमान में, मैं पूर्ण 260 बाइट्स (एक्सपोनेंट के लिए 4 बाइट, मॉड्यूलस के लिए 256 बाइट्स) निकालने जा रहा हूं और बेस 64 के रूप में एन्कोडिंग।
tail -c $((filesize - start_of_key_data)) filename | head -c $size_of_key_data | base64 > outkey
यह मैं निम्न स्ट्रिंग देता है::
<<<<<< modulus & exponent extracted from binary file, base64-encoded >>>>>>
tZyrQA6cZFJfVm6FyXwtZaLQYg8EecuO+ObrHTwc8JO+XrgnpNAdmlhbAEPxSNnjwhNnbYGYGL4F
vzmnZXzZU71Key42HQPh1k2Zx1UDbrH5ciODKx1ZbuEx8K24SHnL1nY/H75hwhT/ZRRVGQDvYDT+
sgzw2vmV66+dflw1Zs8BLhqjLjczdHvjeVXsDRJ9Mvvd/dhFH8UlTf4JpLGya9nsNIfNBBIf1Lll
RWwCTiEIbaOMgWcLjLV/2tk/j5Dra/oQnVf/2hVsEF/hXEx41YjeEW/warweoDVG7zaxrHEc/k/r
ZCUCZKxf8nBKdqax/gRICvkG6e5xg2GQw0W/ZwABAAE=
अब, जब मैं key.pem कुंजीयुग्म कि मापांक & प्रतिपादक मूल रूप से निकाले गए थे ले मैं निम्नलिखित शेल कमांड का उपयोग करते हुए कि कर रहा हूँ , और इसलिए
openssl rsa -in key.pem -pubout -out pubkey.pem
मैं इस स्ट्रिंग प्राप्त की तरह सार्वजनिक भाग प्रदर्शित (मैं हैडर & पाद लाइनों छोड़ दी हैं:
<<<<<<<<< valid public key data extracted from keypair >>>>>>>>>
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtZyrQA6cZFJfVm6FyXwt
ZaLQYg8EecuO+ObrHTwc8JO+XrgnpNAdmlhbAEPxSNnjwhNnbYGYGL4FvzmnZXzZ
U71Key42HQPh1k2Zx1UDbrH5ciODKx1ZbuEx8K24SHnL1nY/H75hwhT/ZRRVGQDv
YDT+sgzw2vmV66+dflw1Zs8BLhqjLjczdHvjeVXsDRJ9Mvvd/dhFH8UlTf4JpLGy
a9nsNIfNBBIf1LllRWwCTiEIbaOMgWcLjLV/2tk/j5Dra/oQnVf/2hVsEF/hXEx4
1YjeEW/warweoDVG7zaxrHEc/k/rZCUCZKxf8nBKdqax/gRICvkG6e5xg2GQw0W/
ZwIDAQAB
आप देख सकते हैं कि कुंजी डेटा जो मैं निकाला है और base64 एनकोडेड अपने आप वास्तव में key.pem openssl का उपयोग कर से निकाला वैध सार्वजनिक कुंजी डेटा के डेटा में मौजूद है। लेकिन वहाँ शुरुआत में 45 अक्षर हैं, मेरे अपने निकाले गए डेटा नहीं है कि -
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
और पिछले 8 अक्षर भी भिन्न होते हैं।
ZwIDAQAB
क्या कोई मॉड्यूलस और एक्सपोनेंट को उपयोग करने योग्य सार्वजनिक कुंजी में परिवर्तित करने के बारे में कुछ सलाह दे सकता है?
(लक्ष्य एक bash लिपि में ऐसा करने के लिए, अजगर या सी नहीं के रूप में मैंने देखा है कई सुझाव दे सकता है।)
भयानक जवाब! –