/** * Parse a UPN value * * @param value The ASN.1 representation of the UPN (cannot be null). * @return The parsed UPN value. */ protected String parseOtherNameUpn( ASN1Primitive value ) { String otherName = null; if (value instanceof ASN1TaggedObject) { ASN1TaggedObject taggedObject = (ASN1TaggedObject) value; ASN1Primitive objectPrimitive = taggedObject.getObject(); if (objectPrimitive instanceof ASN1String) { otherName = ((ASN1String)objectPrimitive).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 XmppAddr value as specified in RFC 6120. * * @param xmppAddr The ASN.1 representation of the xmppAddr value (cannot be null). * @return The parsed xmppAddr value. */ protected String parseOtherNameXmppAddr( ASN1Primitive xmppAddr ) { // Get the nested object if the value is an ASN1TaggedObject or a sub-type of it if (ASN1TaggedObject.class.isAssignableFrom(xmppAddr.getClass())) { ASN1TaggedObject taggedObject = (ASN1TaggedObject) xmppAddr; ASN1Primitive objectPrimitive = taggedObject.getObject(); if (ASN1String.class.isAssignableFrom(objectPrimitive.getClass())) { return ((ASN1String) objectPrimitive).getString(); } } // RFC 6120 says that this should be a UTF8String. Lets be tolerant and allow all text-based values. return ( (ASN1String) xmppAddr ).getString(); }
final ASN1Primitive value = taggedValue.getObject();
static public ASN1TaggedObject getInstance( ASN1TaggedObject obj, boolean explicit) { if (explicit) { return (ASN1TaggedObject)obj.getObject(); } throw new IllegalArgumentException("implicitly tagged tagged object"); }
static public ASN1TaggedObject getInstance( ASN1TaggedObject obj, boolean explicit) { if (explicit) { return (ASN1TaggedObject)obj.getObject(); } throw new IllegalArgumentException("implicitly tagged tagged object"); }
public static Time getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); // must be explicitly tagged }
public static DVCSTime getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); // must be explicitly tagged }
public static ResponderID getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); // must be explicitly tagged }
public static Data getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); }
public static AttCertIssuer getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); // must be explicitly tagged }
public static Data getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); }
public static AttCertIssuer getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); // must be explicitly tagged }
public static X962Parameters getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(obj.getObject()); // must be explicitly tagged }
public static RequestedCertificate getInstance(ASN1TaggedObject obj, boolean explicit) { if (!explicit) { throw new IllegalArgumentException("choice item must be explicitly tagged"); } return getInstance(obj.getObject()); }
/** * * @param type * @param tagged * @return tagged object contents cast to type * @throws PACDecodingException */ public static <T extends ASN1Primitive> T as ( Class<T> type, ASN1TaggedObject tagged ) throws PACDecodingException { return as(type, tagged.getObject()); }
private PKIBody(ASN1TaggedObject tagged) { tagNo = tagged.getTagNo(); body = getBodyForType(tagNo, tagged.getObject()); }
private PKIBody(ASN1TaggedObject tagged) { tagNo = tagged.getTagNo(); body = getBodyForType(tagNo, tagged.getObject()); }
private Asn1P11Params(final ASN1TaggedObject taggedObject) throws BadAsn1ObjectException { int tagNo = taggedObject.getTagNo(); if (tagNo == 0) { this.p11Params = Asn1RSAPkcsPssParams.getInstance(taggedObject.getObject()); } else { throw new BadAsn1ObjectException("invalid tag " + tagNo); } }
private OtherName(ASN1Sequence seq) { this.typeID = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); this.value = ASN1TaggedObject.getInstance(seq.getObjectAt(1)).getObject(); // explicitly tagged }
private SafeBag( ASN1Sequence seq) { this.bagId = (ASN1ObjectIdentifier)seq.getObjectAt(0); this.bagValue = ((ASN1TaggedObject)seq.getObjectAt(1)).getObject(); if (seq.size() == 3) { this.bagAttributes = (ASN1Set)seq.getObjectAt(2); } }