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

enrollement works fine

parent 7eb70b0d
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,7 @@ import net.jami.jams.ca.workers.csr.utils.CertificateSigner;
import net.jami.jams.ca.workers.csr.utils.ExtensionLibrary;
import net.jami.jams.common.objects.devices.Device;
import net.jami.jams.common.objects.user.User;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.cert.X509v3CertificateBuilder;
import org.bouncycastle.cert.jcajce.JcaX509CertificateHolder;
......@@ -16,6 +17,9 @@ import java.util.Date;
@Slf4j
public class DeviceBuilder {
private static final ASN1ObjectIdentifier DEVICE_ID_FIELD = new ASN1ObjectIdentifier("0.9.2342.19200300.100.1.1");
private static final ASN1ObjectIdentifier DEVICE_CN = new ASN1ObjectIdentifier("2.5.4.3");
public static Device generateDevice(User user, Device device){
try {
X509v3CertificateBuilder builder = new X509v3CertificateBuilder(
......@@ -27,6 +31,11 @@ public class DeviceBuilder {
device.getCertificationRequest().getSubjectPublicKeyInfo()
);
device.setCertificate(CertificateSigner.signCertificate(user.getPrivateKey(),builder, ExtensionLibrary.deviceExtensions));
for(int i=0; i < device.getCertificationRequest().getSubject().getRDNs().length;i++) {
if(device.getCertificationRequest().getSubject().getRDNs()[i].getFirst().getType().equals(DEVICE_ID_FIELD)){
device.setDeviceId(device.getCertificationRequest().getSubject().getRDNs()[i].getFirst().getValue().toString());
}
}
//kill off the certification request it's useless.
device.setCertificationRequest(null);
return device;
......
......@@ -18,8 +18,6 @@ import static net.jami.jams.server.Server.*;
public class RegisterDeviceFlow {
public static DeviceRegistrationResponse registerDevice(String username, DeviceRegistrationRequest registrationRequest){
//User always exists now because we auto-create on log-in
//and search.
try {
StatementList statementList = new StatementList();
statementList.addStatement(new StatementElement("username", "=", username, ""));
......
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