2012-07-26 10 views
6

में सार्वजनिक कुंजी पढ़ें, मुझे इसकी वैधता, एक्सपोनेंट, मॉड्यूलस या इसकी वैधता या नहीं, इसकी जांच करने के लिए जावा का उपयोग करके सार्वजनिक कुंजी पढ़ने और उसे पार्स करने की आवश्यकता है। मैंने नीचे दिए गए कोड की कोशिश की, और मुद्दों को हल किया। क्या आप कृपया इस समस्या के समाधान खोजने में मेरी मदद कर सकते हैं?पार्स और जावा

public static void getPublicKey(String key) throws Exception { 

key = key.replaceAll("-----BEGIN SSH2 PUBLIC KEY-----", ""); 
key = key.replaceAll("-----END SSH2 PUBLIC KEY-----", ""); 
KeyFactory kFactory = KeyFactory.getInstance("RSA", new BouncyCastleProvider()); 
byte pub_llave[] = new BASE64Decoder().decodeBuffer(key) ; 
X509EncodedKeySpec spec = new X509EncodedKeySpec(pub_llave); 
PublicKey pubkey = (PublicKey) kFactory.generatePublic(spec); 
} 

और यहाँ अपवाद है:

java.lang.IllegalArgumentException: unknown object in getInstance: org.bouncycastle.asn1.DERApplicationSpecific 
    at org.bouncycastle.asn1.ASN1Sequence.getInstance(Unknown Source) 
    at org.bouncycastle.asn1.ASN1Sequence.getInstance(Unknown Source) 
    at org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance(Unknown Source) 
+0

आपके पास क्या समस्याएं हैं? कोई त्रुटि? – Tomer

+0

@ ftom2 - हां। नीचे अपवाद का पता लगाने है - java.lang.IllegalArgumentException: getInstance में अज्ञात वस्तु: org.bouncycastle.asn1.DERApplicationSpecific \t org.bouncycastle.asn1.ASN1Sequence.getInstance (अज्ञात स्रोत) पर \t org.bouncycastle.asn1.ASN1Sequence पर .getInstance (अज्ञात स्रोत) \t org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance (अज्ञात स्रोत) – Sirish

+0

कृपया टिप्पणियों में कोड पोस्ट न करें, बस अपना प्रश्न संपादित करें और इसे जोड़ें। – Tomer

उत्तर

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