package won.cryptography.ssl; import sun.security.x509.X500Name; import java.io.IOException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; /** * User: ypanchenko * Date: 19.10.2015 */ public class AliasFromCNGenerator implements AliasGenerator { @Override public String generateAlias(final X509Certificate certificate) throws CertificateException { String alias = null; try { X500Name dnName = new X500Name(certificate.getSubjectDN().getName()); alias = dnName.getCommonName(); } catch (IOException e) { throw new CertificateException("SubjectDN problem - cannot generate alias", e); } if (alias == null || alias.isEmpty()) { throw new CertificateException("CN is null - cannot accept as alias"); } return alias; } }