Skip to content
Snippets Groups Projects
Commit 1f0ebd42 authored by Felix Sidokhine's avatar Felix Sidokhine
Browse files

Added the JamiID generation routine

parent 357b1e1d
No related branches found
No related tags found
No related merge requests found
...@@ -13,7 +13,9 @@ import org.bouncycastle.cert.X509CRLHolder; ...@@ -13,7 +13,9 @@ import org.bouncycastle.cert.X509CRLHolder;
import org.bouncycastle.cert.ocsp.OCSPReq; import org.bouncycastle.cert.ocsp.OCSPReq;
import org.bouncycastle.cert.ocsp.OCSPResp; import org.bouncycastle.cert.ocsp.OCSPResp;
import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.util.encoders.Hex;
import java.security.MessageDigest;
import java.security.Security; import java.security.Security;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
......
...@@ -22,6 +22,12 @@ ...@@ -22,6 +22,12 @@
<artifactId>commons-codec</artifactId> <artifactId>commons-codec</artifactId>
<version>${commons.codec.version}</version> <version>${commons.codec.version}</version>
</dependency> </dependency>
<dependency>
<groupId>net.jami</groupId>
<artifactId>jams-common</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
module jami.dht { module jami.dht {
exports net.jami.jams.dht;
requires lombok; requires lombok;
requires msgpack.core; requires msgpack.core;
requires org.apache.commons.codec; requires org.apache.commons.codec;
requires org.slf4j; requires org.slf4j;
requires jams.common;
} }
\ No newline at end of file
...@@ -20,6 +20,7 @@ package net.jami.jams.dht; ...@@ -20,6 +20,7 @@ package net.jami.jams.dht;
*/ */
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.jami.jams.common.objects.user.User;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.MessageDigestAlgorithms; import org.apache.commons.codec.digest.MessageDigestAlgorithms;
...@@ -122,4 +123,14 @@ public class DeviceReceiptGenerator { ...@@ -122,4 +123,14 @@ public class DeviceReceiptGenerator {
} }
public static String generateJamiId(User user){
try {
return Hex.encodeHexString(MessageDigest.getInstance(MessageDigestAlgorithms.SHA_1).digest(user.getCertificate().getPublicKey().getEncoded()));
}
catch (Exception e){
log.error("Could not generate JamiId with error " + e.toString());
return null;
}
}
} }
...@@ -49,6 +49,12 @@ ...@@ -49,6 +49,12 @@
<version>${javax.servlet.version}</version> <version>${javax.servlet.version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>net.jami</groupId>
<artifactId>jami-dht</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -10,6 +10,7 @@ module jams.server { ...@@ -10,6 +10,7 @@ module jams.server {
requires javassist; requires javassist;
requires datastore; requires datastore;
requires org.apache.xbean.classloader; requires org.apache.xbean.classloader;
requires jami.dht;
exports net.jami.jams.server.servlets.general to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.general to org.apache.tomcat.embed.core;
exports net.jami.jams.server.servlets.filters to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.filters to org.apache.tomcat.embed.core;
exports net.jami.jams.server.servlets.api.auth to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.api.auth to org.apache.tomcat.embed.core;
......
package net.jami.jams.server.core.workflows; package net.jami.jams.server.core.workflows;
import net.jami.jams.common.objects.user.User; import net.jami.jams.common.objects.user.User;
import net.jami.jams.dht.DeviceReceiptGenerator;
import net.jami.jams.dht.ETHAddressGenerator;
import static net.jami.jams.server.Server.certificateAuthority; import static net.jami.jams.server.Server.certificateAuthority;
...@@ -8,17 +10,15 @@ public class RegisterUserFlow { ...@@ -8,17 +10,15 @@ public class RegisterUserFlow {
//Get the CA, sign, return the Jami ID. //Get the CA, sign, return the Jami ID.
public static User createUser(User user){ public static User createUser(User user){
//This generates the X509 Fields we need.
user = certificateAuthority.getSignedCertificate(user); user = certificateAuthority.getSignedCertificate(user);
//while(ethKeyPair == null){ String[] ethKeyPair = null;
// ethKeyPair = ETHAddressGenerator.generateAddress(); while(ethKeyPair == null){
//} ethKeyPair = ETHAddressGenerator.generateAddress();
//user.setEthAddress(ethKeyPair[0]); }
//user.setEthKey(ethKeyPair[1]); user.setEthAddress(ethKeyPair[0]);
//user.setJamiId(Hex.encodeHexString(MessageDigest.getInstance(MessageDigestAlgorithms.SHA_1).digest(userKeyPair.getPublic().getEncoded()))); user.setEthKey(ethKeyPair[1]);
//user.setEthAddress(); user.setJamiId(DeviceReceiptGenerator.generateJamiId(user));
//user.setJamiId();
return user; return user;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment