将KeyPair转换为RSAKey

时间:2013-03-05 08:23:05

标签: java cryptography rsa bouncycastle jce

我正试图找出KeyPair的比特长度。在寻找解决方法时,我遇到了以下代码片段。

public boolean checkKey(RSAKey key) {
    if ( key.getModulus().bitLength() == 1024 )
        return true;
    return false;
}

我期待的输入是“KeyPair”。有人能指出我做的文件: -

  1. 演示如何将KeyPair转换为RSAKey
  2. 或演示如何计算KeyPair的位长度

1 个答案:

答案 0 :(得分:2)

这应该为RSA密钥执行(假设keyPairKeyPair实例):

PublicKey publicKey = keyPair.getPublic();

if (publicKey instanceof RSAPublicKey) {
  return ((RSAPublicKey) publicKey).getModulus().bitLength();
}

如果您需要检查其他密钥类型,请相应检查文档和代码,例如:

if (publicKey instanceof DSAPublicKey) {
  return ((DSAPublicKey) publicKey).getY().bitLength();
}