如何通过Java SDK获取Azure Key Vault中已有密钥的密钥大小?
获取Azure Key Vault中RSA密钥的密钥大小
你需要将获取到的KeyVaultKey转换为对应的密钥类型子类(这里是RsaKeyVaultKey),才能访问RSA密钥专属的keySize属性。原因是KeyVaultKey作为基类仅包含所有密钥类型的通用属性,而密钥大小这类专属属性存储在对应的子类中。
修改后的代码示例:
KeyVaultKeyIdentifier identifier = new KeyVaultKeyIdentifier(keyId); KeyVaultKey key = keyClient.getKey(identifier.getName(), identifier.getVersion()); // 验证密钥类型并转换为RSA密钥子类 if (key instanceof RsaKeyVaultKey) { RsaKeyVaultKey rsaKey = (RsaKeyVaultKey) key; int keySize = rsaKey.getKeySize(); // 使用获取到的密钥大小 }
当你创建RSA密钥时,createRsaKeyWithResponse返回的KeyVaultKey本质就是RsaKeyVaultKey实例;同理,调用getKey获取该密钥时,返回的对象也可以安全地转换为这个子类,从而获取密钥大小、公钥等RSA专属信息。
内容的提问来源于stack exchange,提问作者Vishal Poddar
相关产品推荐
相关产品推荐

