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;
import org.bouncycastle.cert.ocsp.OCSPReq;
import org.bouncycastle.cert.ocsp.OCSPResp;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.util.encoders.Hex;
import java.security.MessageDigest;
import java.security.Security;
import java.util.concurrent.atomic.AtomicReference;
......
......@@ -22,6 +22,12 @@
<artifactId>commons-codec</artifactId>
<version>${commons.codec.version}</version>
</dependency>
<dependency>
<groupId>net.jami</groupId>
<artifactId>jams-common</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
module jami.dht {
exports net.jami.jams.dht;
requires lombok;
requires msgpack.core;
requires org.apache.commons.codec;
requires org.slf4j;
requires jams.common;
}
\ No newline at end of file
......@@ -20,6 +20,7 @@ package net.jami.jams.dht;
*/
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.Hex;
import org.apache.commons.codec.digest.MessageDigestAlgorithms;
......@@ -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 @@
<version>${javax.servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.jami</groupId>
<artifactId>jami-dht</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
......
......@@ -10,6 +10,7 @@ module jams.server {
requires javassist;
requires datastore;
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.filters 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;
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;
......@@ -8,17 +10,15 @@ public class RegisterUserFlow {
//Get the CA, sign, return the Jami ID.
public static User createUser(User user){
//This generates the X509 Fields we need.
user = certificateAuthority.getSignedCertificate(user);
//while(ethKeyPair == null){
// ethKeyPair = ETHAddressGenerator.generateAddress();
//}
//user.setEthAddress(ethKeyPair[0]);
//user.setEthKey(ethKeyPair[1]);
//user.setJamiId(Hex.encodeHexString(MessageDigest.getInstance(MessageDigestAlgorithms.SHA_1).digest(userKeyPair.getPublic().getEncoded())));
//user.setEthAddress();
//user.setJamiId();
String[] ethKeyPair = null;
while(ethKeyPair == null){
ethKeyPair = ETHAddressGenerator.generateAddress();
}
user.setEthAddress(ethKeyPair[0]);
user.setEthKey(ethKeyPair[1]);
user.setJamiId(DeviceReceiptGenerator.generateJamiId(user));
return user;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment