openssl
के साथ उपयोग किए जाने वाले पीईएम प्रारूप में आरएसए पबलिक कुंजी उत्पन्न करने के लिए, आप इन चरणों का पालन कर सकते हैं।
एक ASN1 परिभाषा फ़ाइल
अपने मापांक शामिल हैं और प्रतिपादक
# Start with a SEQUENCE
asn1=SEQUENCE:pubkeyinfo
# pubkeyinfo contains an algorithm identifier and the public key wrapped
# in a BIT STRING
[pubkeyinfo]
algorithm=SEQUENCE:rsa_alg
pubkey=BITWRAP,SEQUENCE:rsapubkey
# algorithm ID for RSA is just an OID and a NULL
[rsa_alg]
algorithm=OID:rsaEncryption
parameter=NULL
# Actual public key: modulus and exponent
[rsapubkey]
n=INTEGER:0x%%MODULUS%%
e=INTEGER:0x%%EXPONENT%%
संपादन के बजाय
को संशोधित निम्नलिखित टेम्पलेट बनाएँ, आप भी स्क्रिप्ट इस sed का उपयोग कर सकते हैं
sed -i "s/%%MODULUS%%/$(xxd -ps -c 256 mymodulus.bin)/" def.asn1
नोट -c 256
होना चाहिए बाइट्स में अपनी मुख्य लंबाई के अनुसार चुना गया।
आप एक्सपोनेंट के लिए एक समान कमांड का उपयोग कर सकते हैं।
अपने RSA कुंजी
उपयोग निम्नलिखित openssl आदेश उत्पन्न करें। यह आपको एक डीईआर एन्कोडेड आरएसए कुंजी देगा।
openssl asn1parse -genconf def.asn1 -out pubkey.der -noout
तो यह एक पीईएम कुंजी में तब्दील
openssl rsa -in pubkey.der -inform der -pubin -out pubkey.pem
का उपयोग करके सत्यापित अपने प्रमुख
आप या तो openssl dgst -verify
या openssl rsautl -verify
"... कुछ लिखने को छोड़कर उपयोग कर सकते हैं कार्यक्रम ... "ठीक है अगर आप [एफएक्यू] (http://stackoverflow.com/faq) पढ़ते हैं तो आप उसे जानते होंगे क्या stackoverflow के लिए है। –
ग्रेग्स: यह ऐसा नहीं है :) मेरे पास प्रोग्राम है जो यह करता है लेकिन मेरा ग्राहक दावा करता है कि यह ठीक से काम नहीं करता है। तो उसे साबित करने के लिए कि वह गलत है, मैं यह दिखाना चाहता हूं कि उदाहरण के लिए openssl (जिसे वह भरोसा कर सकता है) मेरे कार्यक्रम की तरह व्यवहार करता है। – emstol
क्या आप किसी दिए गए मॉड्यूलस और एक्सपोनेंट से आरएसए * संरचना चाहते हैं? – doptimusprime