/** * 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; } }
final ASN1TaggedObject taggedValue = (ASN1TaggedObject) otherNameSeq.getObjectAt( 1 ); final int tagNo = taggedValue.getTagNo(); if ( tagNo != 0 )
private void extractPathProcInput(ASN1Encodable obj) { ASN1TaggedObject tagged = ASN1TaggedObject.getInstance(obj); switch (tagged.getTagNo()) { case 0: this.pathProcInput = PathProcInput.getInstance(tagged, false); break; default: throw new IllegalArgumentException("Unknown tag encountered: " + tagged.getTagNo()); } }
private KeyRecRepContent(ASN1Sequence seq) { Enumeration en = seq.getObjects(); status = PKIStatusInfo.getInstance(en.nextElement()); while (en.hasMoreElements()) { ASN1TaggedObject tObj = ASN1TaggedObject.getInstance(en.nextElement()); switch (tObj.getTagNo()) { case 0: newSigCert = CMPCertificate.getInstance(tObj.getObject()); break; case 1: caCerts = ASN1Sequence.getInstance(tObj.getObject()); break; case 2: keyPairHist = ASN1Sequence.getInstance(tObj.getObject()); break; default: throw new IllegalArgumentException("unknown tag number: " + tObj.getTagNo()); } } }
private String dumpTaggedObject(ASN1TaggedObject o) throws Asn1Exception, IOException { StringBuilder sb = new StringBuilder(); sb.append(indentSequence.toString(indentLevel)); if (o instanceof BERTaggedObject) { sb.append("BER TAGGED ["); } else { sb.append("TAGGED ["); } sb.append(Integer.toString(o.getTagNo())); sb.append(']'); if (!o.isExplicit()) { sb.append(" IMPLICIT "); } sb.append(":"); sb.append(NEWLINE); if (o.isEmpty()) { sb.append("EMPTY"); } else { sb.append(dump(o.getObject())); } return sb.toString(); }
private OtherName(ASN1Sequence seq) { this.typeID = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); this.value = ASN1TaggedObject.getInstance(seq.getObjectAt(1)).getObject(); // explicitly tagged }
public static POPOPrivKey getInstance(Object obj) { if (obj instanceof POPOPrivKey) { return (POPOPrivKey)obj; } if (obj != null) { return new POPOPrivKey(ASN1TaggedObject.getInstance(obj)); } return null; }
static public ASN1TaggedObject getInstance( Object obj) { if (obj == null || obj instanceof ASN1TaggedObject) { return (ASN1TaggedObject)obj; } else if (obj instanceof byte[]) { try { return ASN1TaggedObject.getInstance(fromByteArray((byte[])obj)); } catch (IOException e) { throw new IllegalArgumentException("failed to construct tagged object from byte[]: " + e.getMessage()); } } throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); }
/** * Create a private key parameter from a PKCS8 PrivateKeyInfo encoding. * * @param privateKeyInfoData the PrivateKeyInfo encoding * @return a suitable private key parameter * @throws IOException on an error decoding the key */ public static AsymmetricKeyParameter createKey( byte[] privateKeyInfoData) throws IOException { return createKey( PrivateKeyInfo.getInstance(ASN1TaggedObject.fromByteArray(privateKeyInfoData)) ); }
/** * 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(); }
public int getType() { return declaration.getTagNo(); }
private NameConstraints(ASN1Sequence seq) { Enumeration e = seq.getObjects(); while (e.hasMoreElements()) { ASN1TaggedObject o = ASN1TaggedObject.getInstance(e.nextElement()); switch (o.getTagNo()) { case 0: permitted = createArray(ASN1Sequence.getInstance(o, false)); break; case 1: excluded = createArray(ASN1Sequence.getInstance(o, false)); break; default: throw new IllegalArgumentException("Unknown tag encountered: " + o.getTagNo()); } } }
private CertifiedKeyPair(ASN1Sequence seq) { certOrEncCert = CertOrEncCert.getInstance(seq.getObjectAt(0)); if (seq.size() >= 2) { if (seq.size() == 2) { ASN1TaggedObject tagged = ASN1TaggedObject.getInstance(seq.getObjectAt(1)); if (tagged.getTagNo() == 0) { privateKey = EncryptedValue.getInstance(tagged.getObject()); } else { publicationInfo = PKIPublicationInfo.getInstance(tagged.getObject()); } } else { privateKey = EncryptedValue.getInstance(ASN1TaggedObject.getInstance(seq.getObjectAt(1))); publicationInfo = PKIPublicationInfo.getInstance(ASN1TaggedObject.getInstance(seq.getObjectAt(2))); } } }
private SignatureCheck(ASN1Sequence seq) { this.signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); int index = 1; if (seq.getObjectAt(1) instanceof ASN1TaggedObject) { this.certificates = ASN1Sequence.getInstance(ASN1TaggedObject.getInstance(seq.getObjectAt(index++)).getObject()); } else { this.certificates = null; } this.signatureValue = DERBitString.getInstance(seq.getObjectAt(index)); }
public static DistributionPointName getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(ASN1TaggedObject.getInstance(obj, true)); }
static public ASN1TaggedObject getInstance( Object obj) { if (obj == null || obj instanceof ASN1TaggedObject) { return (ASN1TaggedObject)obj; } else if (obj instanceof byte[]) { try { return ASN1TaggedObject.getInstance(fromByteArray((byte[])obj)); } catch (IOException e) { throw new IllegalArgumentException("failed to construct tagged object from byte[]: " + e.getMessage()); } } throw new IllegalArgumentException("unknown object in getInstance: " + obj.getClass().getName()); }
static public ASN1TaggedObject getInstance( ASN1TaggedObject obj, boolean explicit) { if (explicit) { return (ASN1TaggedObject)obj.getObject(); } throw new IllegalArgumentException("implicitly tagged tagged object"); }
public int getType() { return declaration.getTagNo(); }