Browse Source

fixed possible NPE

pull/9737/head
YevhenBondarenko 3 years ago
parent
commit
3477cc1b79
  1. 6
      common/util/src/main/java/org/thingsboard/common/util/SslUtil.java
  2. 6
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/credentials/CertPemCredentials.java

6
common/util/src/main/java/org/thingsboard/common/util/SslUtil.java

@ -73,7 +73,7 @@ public class SslUtil {
@SneakyThrows @SneakyThrows
public static PrivateKey readPrivateKey(String fileContent, String passStr) { public static PrivateKey readPrivateKey(String fileContent, String passStr) {
char[] password = StringUtils.isEmpty(passStr) ? EMPTY_PASS : passStr.toCharArray(); char[] password = getPassword(passStr);
PrivateKey privateKey = null; PrivateKey privateKey = null;
JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter(); JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter();
@ -102,4 +102,8 @@ public class SslUtil {
return privateKey; return privateKey;
} }
public static char[] getPassword(String passStr) {
return StringUtils.isEmpty(passStr) ? EMPTY_PASS : passStr.toCharArray();
}
} }

6
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/credentials/CertPemCredentials.java

@ -47,7 +47,7 @@ public class CertPemCredentials implements ClientCredentials {
protected String caCert; protected String caCert;
private String cert; private String cert;
private String privateKey; private String privateKey;
private String password = ""; private String password;
@Override @Override
public CredentialsType getType() { public CredentialsType getType() {
@ -87,7 +87,7 @@ public class CertPemCredentials implements ClientCredentials {
private KeyManagerFactory createAndInitKeyManagerFactory() throws Exception { private KeyManagerFactory createAndInitKeyManagerFactory() throws Exception {
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(loadKeyStore(), password.toCharArray()); kmf.init(loadKeyStore(), SslUtil.getPassword(password));
return kmf; return kmf;
} }
@ -107,7 +107,7 @@ public class CertPemCredentials implements ClientCredentials {
CertPath certPath = factory.generateCertPath(certificates); CertPath certPath = factory.generateCertPath(certificates);
List<? extends Certificate> path = certPath.getCertificates(); List<? extends Certificate> path = certPath.getCertificates();
Certificate[] x509Certificates = path.toArray(new Certificate[0]); Certificate[] x509Certificates = path.toArray(new Certificate[0]);
keyStore.setKeyEntry(PRIVATE_KEY_ALIAS, privateKey, password.toCharArray(), x509Certificates); keyStore.setKeyEntry(PRIVATE_KEY_ALIAS, privateKey, SslUtil.getPassword(password), x509Certificates);
} }
return keyStore; return keyStore;
} }

Loading…
Cancel
Save