protected String parseOtherNameUpn( ASN1Primitive value )
    {
        String otherName = null;
        if (value instanceof ASN1TaggedObject) {
            final ASN1TaggedObject taggedObject = (ASN1TaggedObject) value;
            final ASN1UTF8String instance = ASN1UTF8String.getInstance(taggedObject, true);
            otherName = instance.getString();
        }
        if (otherName == null) {
            Log.warn("UPN type unexpected, UPN extraction failed: " + value.getClass().getName() + ":" + value.toString());
        } else {
            Log.debug("UPN from certificate has value of: " + otherName );
        }
        return otherName;
    }
Parse a UPN value 

@param value The ASN.1 representation of the UPN (cannot be null).
@return The parsed UPN value.
xmppserver/src/main/java/org/jivesoftware/util/cert/SANCertificateIdentityMapping.java