में एक्सएमएल डिजिटल हस्ताक्षर Crypt::OpenSSL::RSA
मॉड्यूल का उपयोग कर मैं पर्ल में एक्सएमएल पर डिजिटल हस्ताक्षर करने की कोशिश कर रहा हूं। मैं एक फाइल से एक निजी कुंजी लोड कर रहा हूँ। जावा का उपयोग कर एक कीस्टोर से निजी कुंजी उत्पन्न की गई थी।पर्ल
my $private = 'my_priv.key';
my $private_key = read_file($private);
print "my private key text is\n", $private_key;
आउटपुट, पूरे कुंजी यहाँ डाल नहीं, बस कुछ पहले लाइनों :-)
> -----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKAuqJ1ZkxHZStfSt0CdEsaSYuLO
> 6zDiTpt60asVLWpLe2bf...
my $rsa_priv = Crypt::OpenSSL::RSA->new_private_key($private_key);
print "my private key is\n",$rsa_priv->get_private_key_string();
आउटपुट:
नीचे मेरी पर्ल कोड है :
> -----BEGIN RSA PRIVATE KEY-----
> MIICXAIBAAKBgQCgLqidWZMR2UrX0rdAnRLGkmLizusw4k6betGrFS1qS3tm3+97
> wMvFXCx0Od8eb
$private_key
और $rsa_priv->get_private_key_string()
के परिणाम अलग हैं। क्या ऐसा व्यवहार करना चाहिए?
क्या कोई भी Crypt::OpenSSL::RSA
का उपयोग कर XML पर हस्ताक्षर करने में सक्षम है?
संपादित करें:
मैं निजी कुंजी को निकालने के लिए जावा कोड का उपयोग कर रहा हूँ, कोड नीचे के रूप में है `KeyStore ks = KeyStore.getInstance (" JKS ");
keypass = sPass.toCharArray();
FileInputStream fis = new FileInputStream(store);
ks.load(fis, sPass.toCharArray());
fis.close();
String eol = System.getProperty("line.separator");
Key k = ks.getKey(alias, keypass);
System.out.println("....Generating the Private Key.....");
String encKey = new BASE64Encoder().encode(k.getEncoded());
System.out.println("Encoded Key: " + encKey);
BufferedWriter myKey = null;
myKey = new BufferedWriter(new FileWriter(alias + "_priv.key"));
myKey.write("-----BEGIN PRIVATE KEY-----" + eol);
myKey.write(encKey + eol);
myKey.write("-----END PRIVATE KEY-----");
myKey.close();
System.out.println("....Private Key Generated.....");`
दोनों जावा और पर्ल का उपयोग कर, क्योंकि xmls मैं हस्ताक्षर करने के लिए कोशिश कर रहा हूँ पर्ल में हैं (यह एक पूरी बड़ा प्रणाली है) और कीस्टोर जावा में है।
पहली बार डिजिटल कुछ भी हस्ताक्षर करने और मेरे डिजिटल रूप से हस्ताक्षरित एक्सएमएल प्राप्तकर्ता प्रणाली
शायद यह अगर आप 'keytool' जावा निजी कुंजी उत्पन्न करने के लिए इस्तेमाल किया आदेश जोड़ने में मदद कर सकते हैं। –
ने निजी कुंजी – qateey