2016-05-30 19 views

Antwort

2

Soweit ich es verstehe, gibt es keinen üblichen Weg, um die 'Schlüsselgröße' eines öffentlichen Schlüssels zu erhalten. Überprüfen Sie stattdessen Ihren öffentlichen Schlüssel, um festzustellen, ob er Schnittstellen wie RSAPublicKey oder DSAPublicKey implementiert. Ist dies der Fall, die verschiedenen Interface-Methoden verwenden, um eine Eigenschaft aus dem Schlüssel zu extrahieren und die Bitlänge, dass bekommen, zum Beispiel:

PublicKey publicKey = yourRequest.getPublicKey(); 
int keySize 
if (publicKey instanceof RSAPublicKey) { 
    keySize = ((RSAPublicKey)publicKey).getPublicExponent().bitLength(); 
} else if (publicKey instance DSAPublicKey) { 
    keySize = ((DSAPublicKey)publicKey).getY().bitLength(); 
} else { 
    // handle other public key types. 
} 
+2

Dank @Luke Woodward, es funktionierte prima, nur ein kleines zwicken für RSA keySize bekommen, es sollte sein ** keySize = ((RSAPublicKey) publicKey) .getModulus(). bitLength(); **, trotzdem vielen Dank. – technaren

Verwandte Themen