如何修复 X509Certificate 中的空 getPublicKey
How to fix empty getPublicKey in X509Certificate
我创建了一个 java 方法,它等于 X509Certificate#certificate.getPublicKey().getAlgorithm()
用我的字符串。但是当我调用 getPublicKey() 时我有错误,它是 null 并且我有 ArrayIndexOutOfBoundsException。如何解决这个问题。条件 (getPublicKey != null) 对我不起作用。
public boolean supports(X509Certificate certificate) {
try {
final String algorithm = certificate.getPublicKey().getAlgorithm();
if ("RSA".equals(algorithm)) {
return certificate.getSignature().length * 8 == keySize;
}
} catch (ArrayIndexOutOfBoundsException ex) {
log.warn(" can't get the public key from certificate ", ex);
}
return false;
}
}
也许使用一些条件?
我希望我的应用程序不会崩溃。
我用这个条件修复了它
boolean[] withKeys = certificate.getKeyUsage();
if (withKeys != null && withKeys[5])
您还可以检查您的 public 密钥是否可用
java.security.cert.X509Certificate#getKeyUsage()
我创建了一个 java 方法,它等于 X509Certificate#certificate.getPublicKey().getAlgorithm()
用我的字符串。但是当我调用 getPublicKey() 时我有错误,它是 null 并且我有 ArrayIndexOutOfBoundsException。如何解决这个问题。条件 (getPublicKey != null) 对我不起作用。
public boolean supports(X509Certificate certificate) {
try {
final String algorithm = certificate.getPublicKey().getAlgorithm();
if ("RSA".equals(algorithm)) {
return certificate.getSignature().length * 8 == keySize;
}
} catch (ArrayIndexOutOfBoundsException ex) {
log.warn(" can't get the public key from certificate ", ex);
}
return false;
}
}
也许使用一些条件?
我希望我的应用程序不会崩溃。
我用这个条件修复了它
boolean[] withKeys = certificate.getKeyUsage();
if (withKeys != null && withKeys[5])
您还可以检查您的 public 密钥是否可用
java.security.cert.X509Certificate#getKeyUsage()