private String doPrimitive(ASN1Primitive primitive) throws IOException { if (primitive == null || primitive instanceof ASN1Null) { return ""; } else if (primitive instanceof ASN1Sequence) { return doCollection(((ASN1Sequence) primitive).toArray()); } else if (primitive instanceof ASN1Set) { return doCollection(((ASN1Set) primitive).toArray()); } else if (primitive instanceof DERTaggedObject) { final DERTaggedObject tagged = ((DERTaggedObject) primitive); return "<table><tr><td>" + /* tagged.getTagNo() + */ "</td><td>" + doPrimitive(tagged.getObject()) + "</td></tr></table>"; } else { return "<table><tr><td colspan='2'>" + asString(primitive) + "</td></tr></table>"; } }
DERTaggedObject derTaggedObject = (DERTaggedObject)ocspResponderId.toASN1Primitive(); if (2 == derTaggedObject.getTagNo()) { ASN1OctetString keyHashOctetString = (ASN1OctetString)derTaggedObject.getObject(); byte key[] = keyHashOctetString.getOctets(); responderId.setByKey(key); } else { X500Name name = X500Name.getInstance(derTaggedObject.getObject()); String nameStr = name.toString(); responderId.setByName(nameStr);
DEROctetString uri = (DEROctetString) location.getObject(); InputStream in = null; try
&& location.getTagNo() == GeneralName.uniformResourceIdentifier) DEROctetString url = (DEROctetString) location.getObject(); String ocspURL = new String(url.getOctets()); LOG.info("OCSP URL: " + ocspURL);
/** * * @param derObject Primitive object to convert to Enumerated * @return org.bouncycastle.asn1.ASN1Enumerated ASN1 Enumerated, or null if not possible to convert * @see org.bouncycastle.asn1.ASN1Primitive */ public static ASN1Enumerated getDEREnumerated(ASN1Primitive derObject) { ASN1Enumerated derEnumerated = null; if (derObject instanceof DERTaggedObject) { ASN1Primitive object = ((DERTaggedObject) derObject).getObject(); if (object instanceof ASN1Enumerated) { derEnumerated = (ASN1Enumerated) object; } } else if (derObject instanceof ASN1Enumerated) { derEnumerated = (ASN1Enumerated) derObject; } return derEnumerated; }
DERIterator(Enumeration enumeration) { while (enumeration.hasMoreElements()) { ASN1Primitive primitive = (ASN1Primitive) enumeration.nextElement(); if (primitive instanceof DERTaggedObject) { DERTaggedObject tagged = (DERTaggedObject) primitive; derTaggedObjects.put(tagged.getTagNo(), tagged.getObject()); } else { list.add(primitive); } } iterator = list.iterator(); }
private CRLBag( ASN1Sequence seq) { this.crlId = (ASN1ObjectIdentifier)seq.getObjectAt(0); this.crlValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); }
private CertBag( ASN1Sequence seq) { this.certId = (ASN1ObjectIdentifier)seq.getObjectAt(0); this.certValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); }
private CertBag( ASN1Sequence seq) { this.certId = (ASN1ObjectIdentifier)seq.getObjectAt(0); this.certValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); }
private String getIdentifyFromBytes(byte[] itemBytes) { try (ASN1InputStream decoder = new ASN1InputStream(itemBytes)) { ASN1Encodable encoded = decoder.readObject(); encoded = ((DERSequence) encoded).getObjectAt(1); encoded = ((DERTaggedObject) encoded).getObject(); encoded = ((DERTaggedObject) encoded).getObject(); return ((DERUTF8String) encoded).getString(); } catch (IOException e) { return ""; } } }
public OtherInfo( ASN1Sequence seq) { Enumeration e = seq.getObjects(); keyInfo = new KeySpecificInfo((ASN1Sequence)e.nextElement()); while (e.hasMoreElements()) { DERTaggedObject o = (DERTaggedObject)e.nextElement(); if (o.getTagNo() == 0) { partyAInfo = (ASN1OctetString)o.getObject(); } else if (o.getTagNo() == 2) { suppPubInfo = (ASN1OctetString)o.getObject(); } } }
private static String parseGn(GeneralName gn) { try { if (GeneralName.uniformResourceIdentifier == gn.getTagNo()) { ASN1String str = (ASN1String) ((DERTaggedObject) gn.toASN1Primitive()).getObject(); return str.getString(); } } catch (Exception e) { LOG.warn("Unable to parse GN " + gn, e); } return null; }
@Override public void parse(ASN1Primitive derObject) { DERTaggedObject derTaggedObject = (DERTaggedObject) derObject; DERSequence derSequence = (DERSequence) derTaggedObject.getObject(); int total = derSequence.size(); for (int i = 0; i < total; i++) { ObjectIdentifier objectIdentifier = new ObjectIdentifier(); objectIdentifier.parse(derSequence.getObjectAt(i).toASN1Primitive()); if (this.pathLenConstraints == null) { this.pathLenConstraints = new ArrayList<ObjectIdentifier>(); } this.pathLenConstraints.add(objectIdentifier); } }
/** * * * @return the authority key identifier of a certificate * */ public String getAuthorityKeyIdentifier() { // TODO - Precisa validar este metodo com a RFC try { DLSequence sequence = (DLSequence) getExtensionValue(Extension.authorityKeyIdentifier.getId()); if (sequence == null || sequence.size() == 0) { return null; } DERTaggedObject taggedObject = (DERTaggedObject) sequence.getObjectAt(0); DEROctetString oct = (DEROctetString) taggedObject.getObject(); return toString(oct.getOctets()); } catch (Exception error) { logger.info(error.getMessage()); return null; } }
private String doPrimitive(ASN1Primitive primitive) throws IOException { if (primitive == null || primitive instanceof ASN1Null) { return ""; } else if (primitive instanceof ASN1Sequence) { return doCollection(((ASN1Sequence) primitive).toArray()); } else if (primitive instanceof ASN1Set) { return doCollection(((ASN1Set) primitive).toArray()); } else if (primitive instanceof DERTaggedObject) { final DERTaggedObject tagged = ((DERTaggedObject) primitive); return "<table><tr><td>" + /* tagged.getTagNo() + */ "</td><td>" + doPrimitive(tagged.getObject()) + "</td></tr></table>"; } else { return "<table><tr><td colspan='2'>" + asString(primitive) + "</td></tr></table>"; } }
/** * Obtém o Identificador de chave de autoridade de um certificado * * @return O Identificador de chave de autoridade * @throws IOException Retorna a exceção IOException */ public String getAuthorityKeyIdentifier() throws IOException { // TODO - Precisa validar este metodo com a RFC DLSequence sequence = (DLSequence) getExtensionValue(Extension.authorityKeyIdentifier.getId()); if (sequence == null || sequence.size() == 0) { return null; } DERTaggedObject taggedObject = (DERTaggedObject) sequence.getObjectAt(0); DEROctetString oct = (DEROctetString) taggedObject.getObject(); return toString(oct.getOctets()); }
private void extractSigningCertificateFormResponderId(final CertificatePool certificatePool) { final RespID responderId = basicOCSPResp.getResponderId(); final ResponderID responderIdAsASN1Object = responderId.toASN1Object(); final DERTaggedObject derTaggedObject = (DERTaggedObject) responderIdAsASN1Object.toASN1Primitive(); if (2 == derTaggedObject.getTagNo()) { throw new DSSException("Certificate's key hash management not implemented yet!"); } final ASN1Primitive derObject = derTaggedObject.getObject(); final byte[] derEncoded = DSSASN1Utils.getDEREncoded(derObject); final X500Principal x500Principal_ = new X500Principal(derEncoded); final X500Principal x500Principal = DSSUtils.getX500Principal(x500Principal_); final List<CertificateToken> certificateTokens = certificatePool.get(x500Principal); for (final CertificateToken issuerCertificateToken : certificateTokens) { if (isSignedBy(issuerCertificateToken)) { break; } } }
private String getUrl(DistributionPointName distributionPoint) { if ((distributionPoint != null) && (DistributionPointName.FULL_NAME == distributionPoint.getType())) { final GeneralNames generalNames = (GeneralNames) distributionPoint.getName(); if ((generalNames != null) && (generalNames.getNames() != null && generalNames.getNames().length > 0)) { for (GeneralName generalName : generalNames.getNames()) { if (GeneralName.uniformResourceIdentifier == generalName.getTagNo()) { ASN1String str = (ASN1String) ((DERTaggedObject) generalName.toASN1Primitive()).getObject(); return str.getString(); } } } } return null; }