2012-07-26 15 views
6

私は、javaを使用して公開鍵を読み取って解析し、その妥当性、指数、モジュラスまたは有効かどうかをチェックする必要があります。私は以下のコードを試して問題を抱えていました。この問題の解決策を見つけてもらえますか?javaで公開鍵を解析して読み取る

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.ASN1Sequence.getInstanceでorg.bouncycastle.asn1.DERApplicationSpecific \t(不明なソース) \t org.bouncycastle.asn1.ASN1Sequenceで.getInstance(Unknown Source) \t at org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance(Unknown Source) – Sirish

+0

コメントにコードを投稿しないでください。質問を編集して追加してください。 – Tomer

答えて

関連する問題