diff --git a/smp-angular/src/app/app.component.html b/smp-angular/src/app/app.component.html
index 7675cb99e4f95ddcc07d058718369f48632e2794..13cf389c53cd9b0d5aeb8d1d87e910d03d2145d0 100644
--- a/smp-angular/src/app/app.component.html
+++ b/smp-angular/src/app/app.component.html
@@ -5,7 +5,7 @@
     <div id="topLogo">
       <img src="assets/images/smp_logo_icon.svg" [attr.height]="fullMenu ? '74px' : '40px'" [attr.width]="fullMenu ? '74px' : '40px'"/>
       <div id="topLogoText" *ngIf="fullMenu">
-        <h1>eDelivery SMP <span>Administration <br>Console</span></h1>
+        <div style="font-weight: bold;font-size: 15px">eDelivery SMP <span style="font-weight: normal;font-size: 14px">Administration <br>Console</span></div>
       </div>
     </div>
 
diff --git a/smp-angular/src/app/user/certificate-ro.model.ts b/smp-angular/src/app/user/certificate-ro.model.ts
index c2cd98568142de1b2498c55d53fb43f99122cc71..a14dbb8b8ca66683701f4ebecf25dc98db2dc00a 100644
--- a/smp-angular/src/app/user/certificate-ro.model.ts
+++ b/smp-angular/src/app/user/certificate-ro.model.ts
@@ -8,6 +8,7 @@ export interface CertificateRo {
   fingerprints: string;
   blueCoatHeader?:string;
   encodedValue?:string;
+  crlUrl?: String;
   alias?:string;
   invalid?:boolean;
   invalidReason?:string;
diff --git a/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts
index 983157c0ad7f1027cc95eb88d65d97724b0d43af..821a4a3387a0da5b20ea89ffcfcf45886d64a493 100644
--- a/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts
+++ b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts
@@ -138,6 +138,8 @@ export class UserDetailsDialogComponent {
         password: '',
         confirmation: '',
         role: '',
+        encodedValue:'',
+        crlUrl:'',
         status: SearchTableEntityStatus.NEW,
         statusPassword: SearchTableEntityStatus.NEW,
         certificate: this.newCertificateRo(),
@@ -180,6 +182,8 @@ export class UserDetailsDialogComponent {
       'validTo': new FormControl({value: '', disabled: true}, Validators.required),
       'issuer': new FormControl({value: '', disabled: true}, Validators.required),
       'serialNumber': new FormControl({value: '', disabled: true}, Validators.required),
+      'crlUrl': new FormControl({value: '', disabled: true}),
+      'encodedValue': new FormControl({value: '', disabled: true}),
       'certificateId': new FormControl({value: '', disabled: true,}, [Validators.required]),
       'isCertificateValid': new FormControl({value: 'true', disabled: true,}, [Validators.requiredTrue]
       ),
@@ -205,6 +209,8 @@ export class UserDetailsDialogComponent {
     this.userForm.controls['issuer'].setValue(this.current.certificate.issuer);
     this.userForm.controls['serialNumber'].setValue(this.current.certificate.serialNumber);
     this.userForm.controls['certificateId'].setValue(this.current.certificate.certificateId);
+    this.userForm.controls['crlUrl'].setValue(this.current.certificate.crlUrl);
+    this.userForm.controls['encodedValue'].setValue(this.current.certificate.encodedValue);
     this.userForm.controls['isCertificateValid'].setValue(!this.current.certificate.invalid);
 
 
@@ -233,6 +239,8 @@ export class UserDetailsDialogComponent {
             'issuer': res.issuer,
             'serialNumber': res.serialNumber,
             'certificateId': res.certificateId,
+            'crlUrl': res.crlUrl,
+            'encodedValue': res.encodedValue,
             'isCertificateValid': !res.invalid
           });
           this.certificateValidationMessage = res.invalidReason;
@@ -259,7 +267,8 @@ export class UserDetailsDialogComponent {
       this.userForm.controls['validFrom'].setValue(this.tempStoreForCertificate.validFrom);
       this.userForm.controls['validFrom'].setValue(this.tempStoreForCertificate.validFrom);
       this.userForm.controls['validTo'].setValue(this.tempStoreForCertificate.validTo);
-
+      this.userForm.controls['encodedValue'].setValue(this.tempStoreForCertificate.encodedValue);
+      this.userForm.controls['crlUrl'].setValue(this.tempStoreForCertificate.crlUrl);
       this.certificateValidationMessage = this.tempStoreForCertificate.invalidReason;
       this.isCertificateInvalid= this.tempStoreForCertificate.invalid;
 
@@ -271,6 +280,9 @@ export class UserDetailsDialogComponent {
       this.tempStoreForCertificate.serialNumber = this.userForm.controls['serialNumber'].value;
       this.tempStoreForCertificate.validFrom = this.userForm.controls['validFrom'].value;
       this.tempStoreForCertificate.validTo = this.userForm.controls['validTo'].value;
+      this.tempStoreForCertificate.encodedValue = this.userForm.controls['encodedValue'].value;
+      this.tempStoreForCertificate.crlUrl = this.userForm.controls['crlUrl'].value;
+
       this.tempStoreForCertificate.invalidReason = this.certificateValidationMessage;
       this.tempStoreForCertificate.invalid = this.isCertificateInvalid;
 
@@ -280,6 +292,8 @@ export class UserDetailsDialogComponent {
       this.userForm.controls['serialNumber'].setValue("");
       this.userForm.controls['validFrom'].setValue("");
       this.userForm.controls['validTo'].setValue("");
+      this.userForm.controls['crlUrl'].setValue("");
+      this.userForm.controls['encodedValue'].setValue("");
       this.userForm.controls['isCertificateValid'].setValue("true");
 
       this.certificateValidationMessage = null;
@@ -333,6 +347,8 @@ export class UserDetailsDialogComponent {
       this.current.certificate.serialNumber = this.userForm.controls['serialNumber'].value;
       this.current.certificate.validFrom = this.userForm.controls['validFrom'].value;
       this.current.certificate.validTo = this.userForm.controls['validTo'].value;
+      this.current.certificate.crlUrl = this.userForm.controls['crlUrl'].value;
+      this.current.certificate.encodedValue = this.userForm.controls['encodedValue'].value;
       this.current.certificate.invalid = this.isCertificateInvalid;
       this.current.certificate.invalidReason = this.certificateValidationMessage;
     } else {
@@ -377,6 +393,8 @@ export class UserDetailsDialogComponent {
       serialNumber: '',
       certificateId: '',
       fingerprints: '',
+      crlUrl:'',
+      encodedValue:'',
     }
   }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java
index 7b1c4113e7bed99fda369e0228ee12c5e266d182..d9c704bdbbc82931bb6546b1fe33e3a915196489 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java
@@ -27,6 +27,9 @@ public class CertificateROToDBCertificateConverter implements Converter<Certific
         target.setSerialNumber(source.getSerialNumber());
         target.setIssuer(source.getIssuer());
         target.setSubject(source.getSubject());
+        target.setCrlUrl(source.getCrlUrl());
+        target.setPemEncoding(source.getEncodedValue());
+
         return target;
     }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBCertificateToCertificateROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBCertificateToCertificateROConverter.java
index a7e55effe436db6532412916a374553731465ba6..0185049eb8f0aec3428971227e2b0c0116197b7a 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBCertificateToCertificateROConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBCertificateToCertificateROConverter.java
@@ -27,6 +27,8 @@ public class DBCertificateToCertificateROConverter implements Converter<DBCertif
         target.setSerialNumber(source.getSerialNumber());
         target.setIssuer(source.getIssuer());
         target.setSubject(source.getSubject());
+        target.setCrlUrl(source.getCrlUrl());
+        target.setEncodedValue(source.getPemEncoding());
         return target;
     }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/X509CertificateToCertificateROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/X509CertificateToCertificateROConverter.java
index 0f5cf610d59f79da98c790ddb210c65e5d26e13e..50f2afec8a332305c830b19131027989685de0d6 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/X509CertificateToCertificateROConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/X509CertificateToCertificateROConverter.java
@@ -6,6 +6,7 @@ import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.edelivery.smp.utils.X509CertificateUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.stereotype.Component;
@@ -36,6 +37,7 @@ public class X509CertificateToCertificateROConverter implements Converter<X509Ce
         String subject = cert.getSubjectX500Principal().getName(X500Principal.RFC2253);
         String issuer = cert.getIssuerX500Principal().getName(X500Principal.RFC2253);
         BigInteger serial = cert.getSerialNumber();
+        String url = X509CertificateUtils.getCrlDistributionUrl(cert);
 
         String certId = getCertificateIdFromCertificate(subject, issuer, serial);
         CertificateRO cro = new CertificateRO();
@@ -43,6 +45,7 @@ public class X509CertificateToCertificateROConverter implements Converter<X509Ce
         cro.setCertificateId(certId);
         cro.setSubject(subject);
         cro.setIssuer(issuer);
+        cro.setCrlUrl(url);
         // set serial as HEX
         cro.setSerialNumber(serial.toString(16));
         cro.setValidFrom(cert.getNotBefore());
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
index db0b62f62aa3947fa3fbe9e29d49262a030f6ee2..0aa6dc834c550937189416a92dea5fc915e05ad8 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
@@ -212,12 +212,12 @@ public class UITruststoreService {
             } catch (CertificateRevokedException ex) {
                 String msg = "Certificate: '" + cert.getCertificateId() + "'" +
                         " is revoked!";
-                LOG.securityWarn(SMPMessageCode.SEC_USER_CERT_INVALID, cert.getCertificateId(), msg);
-                throw new AuthenticationServiceException(msg);
+                LOG.securityWarn(SMPMessageCode.SEC_USER_CERT_INVALID, cert.getCertificateId(), msg, ex);
+                throw new CertificateException(msg);
             } catch (Throwable th) {
                 String msg = "Error occurred while validating CRL for certificate!";
                 LOG.error(SMPLogger.SECURITY_MARKER, msg + "Err: " + ExceptionUtils.getRootCauseMessage(th), th);
-                throw new AuthenticationServiceException(msg);
+                throw new CertificateException(msg);
             }
         }
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
index bdcfdc1ff5874ec39eaebefd57885473930019f9..9955c4553e97ae79ab8c77c59b90b7367fbcc3ce 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java
@@ -71,7 +71,7 @@ public class UIUserService extends UIServiceBase<DBUser, UserRO> {
             // validate certificate
             try {
                 truststoreService.checkFullCertificateValidity(user.getCertificate());
-            } catch (CertificateException e) {
+            } catch (CertificateException  e) {
                 LOG.warn("Set invalid cert status: " + user.getCertificate().getCertificateId() + " reason: " +e.getMessage());
                 user.getCertificate().setInvalid(true);
                 user.getCertificate().setInvalidReason(e.getMessage());
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/X509CertificateUtils.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/X509CertificateUtils.java
index 3a7537664eb944042216ce0e520c89fa237514ed..00a82b89473cec1a4609a2de8698d4b3a561dcec 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/X509CertificateUtils.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/X509CertificateUtils.java
@@ -107,6 +107,11 @@ public class X509CertificateUtils {
         return crlUrls;
     }
 
+    public static String getCrlDistributionUrl(X509Certificate cert) {
+        List<String> list = getCrlDistributionPoints(cert);
+        return list.isEmpty()?null:extractHttpCrlDistributionPoint(list);
+    }
+
     /**
      * Method retrieves https. If https does not exist it return http distribution list.
      * (LDAP is not allowed (FW OPEN) in targeted network)