package org.jboss.security.auth.certs;
import java.security.Principal;
import java.security.cert.X509Certificate;
import org.jboss.security.CertificatePrincipal;
import org.jboss.security.SimplePrincipal;
public class SubjectCNMapping
implements CertificatePrincipal
{
public Principal toPrinicipal(X509Certificate[] certs)
{
Principal cn = null;
Principal subject = certs[0].getSubjectDN();
String dn = subject.getName().toLowerCase();
int index = dn.indexOf("cn=");
if( index >= 0 )
{
int comma = dn.indexOf(',', index);
if( comma < 0 )
comma = dn.length();
String name = dn.substring(index+3, comma);
cn = new SimplePrincipal(name);
}
else
{
cn = subject;
}
return cn;
}
}