Ho il requisito di leggere una chiave pubblica utilizzando java e analizzarlo, per verificarne la validità, l'esponente, il modulo o se è valido o meno. Ho provato il codice qui sotto, e avendo problemi. Potete per favore aiutarmi a trovare una soluzione per questo problema?analizza e legge una chiave pubblica in 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);
}
E qui è l'eccezione:
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)
che problemi stai avendo? qualche errore? – Tomer
@ ftom2 - Sì. Qui di seguito è la traccia un'eccezione - java.lang.IllegalArgumentException: sconosciuto oggetto in getInstance: org.bouncycastle.asn1.DERApplicationSpecific \t a org.bouncycastle.asn1.ASN1Sequence.getInstance (fonte sconosciuta) \t a org.bouncycastle.asn1.ASN1Sequence .getInstance (fonte sconosciuta) \t all'indirizzo org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance (fonte sconosciuta) – Sirish
Si prega di non inserire il codice nei commenti, basta modificare la domanda e aggiungerla. – Tomer