From 035874efe04370c17cacfc03ba305de65c2f146b Mon Sep 17 00:00:00 2001 From: Felix Sidokhine <felix.sidokhine@randstad.ca> Date: Wed, 13 May 2020 15:19:36 +0300 Subject: [PATCH] fixed minor NPE bug --- .../src/main/java/net/jami/datastore/dao/DeviceDao.java | 2 +- .../jami/jams/ca/workers/csr/builders/UserBuilder.java | 9 +++++---- .../net/jami/jams/common/objects/devices/Device.java | 3 ++- .../objects/responses/DeviceRegistrationResponse.java | 2 ++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/datastore/src/main/java/net/jami/datastore/dao/DeviceDao.java b/datastore/src/main/java/net/jami/datastore/dao/DeviceDao.java index cc069316..9f7db3e5 100644 --- a/datastore/src/main/java/net/jami/datastore/dao/DeviceDao.java +++ b/datastore/src/main/java/net/jami/datastore/dao/DeviceDao.java @@ -20,7 +20,7 @@ public class DeviceDao extends AbstractDao<Device> { String createTable = "CREATE TABLE devices (" + "deviceId varchar(255), " + "owner varchar(255)," + - "displayName varchar(10)," + + "displayName varchar(255)," + "certificate varchar(5000), "+ "privatekey varchar(5000)," + "PRIMARY KEY (deviceId))"; diff --git a/jams-ca/src/main/java/net/jami/jams/ca/workers/csr/builders/UserBuilder.java b/jams-ca/src/main/java/net/jami/jams/ca/workers/csr/builders/UserBuilder.java index 117523f2..2ec6e9c8 100644 --- a/jams-ca/src/main/java/net/jami/jams/ca/workers/csr/builders/UserBuilder.java +++ b/jams-ca/src/main/java/net/jami/jams/ca/workers/csr/builders/UserBuilder.java @@ -19,8 +19,9 @@ import java.util.Date; @Slf4j public class UserBuilder { - public static User generateUser(User user){ + public static User generateUser(User user) { try { + KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(4096); KeyPair keyPair = keyPairGenerator.generateKeyPair(); @@ -33,10 +34,10 @@ public class UserBuilder { SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded()) ); user.setPrivateKey(keyPair.getPrivate()); - user.setCertificate(CertificateSigner.signCertificate(JamsCA.CA.getPrivateKey(),builder, ExtensionLibrary.userExtensions)); + user.setCertificate(CertificateSigner.signCertificate(JamsCA.CA.getPrivateKey(), builder, ExtensionLibrary.userExtensions)); + return user; - } - catch (Exception e){ + } catch (Exception e) { log.error("Could not generate a user certificate: " + e.toString()); return null; } diff --git a/jams-common/src/main/java/net/jami/jams/common/objects/devices/Device.java b/jams-common/src/main/java/net/jami/jams/common/objects/devices/Device.java index 669de80b..036a7983 100644 --- a/jams-common/src/main/java/net/jami/jams/common/objects/devices/Device.java +++ b/jams-common/src/main/java/net/jami/jams/common/objects/devices/Device.java @@ -37,7 +37,8 @@ public class Device extends X509Entity implements DatabaseObject { ps.setString(2, owner); ps.setString(3,displayName); ps.setString(4, X509Utils.getPEMStringFromCertificate(this.getCertificate())); - ps.setString(5, X509Utils.getPEMStringFromPrivateKey(this.getPrivateKey())); + //Devices do not have private keys exposed. + ps.setString(5, ""); return ps; } diff --git a/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java b/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java index 23c29363..b7d96d2c 100644 --- a/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java +++ b/jams-common/src/main/java/net/jami/jams/common/objects/responses/DeviceRegistrationResponse.java @@ -22,6 +22,8 @@ public class DeviceRegistrationResponse { for(int i=0;i<certificateChain.length;i++){ stringBuilder.append(X509Utils.getPEMStringFromCertificate(certificateChain[i])).append("\n"); } + //remove the last \n because it's useless. + stringBuilder.deleteCharAt(stringBuilder.length()-1); this.certificateChain = stringBuilder.toString(); } -- GitLab