org.bouncycastle.asn1.DLSequence.getObjects()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(134)

本文整理了Java中org.bouncycastle.asn1.DLSequence.getObjects()方法的一些代码示例,展示了DLSequence.getObjects()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DLSequence.getObjects()方法的具体详情如下:
包路径:org.bouncycastle.asn1.DLSequence
类名称:DLSequence
方法名:getObjects

DLSequence.getObjects介绍

暂无

代码示例

代码示例来源:origin: open-eid/digidoc4j

private DigestAlgorithm getExtensionDigestAlgorithm(byte[] octets) {
  ASN1Encodable oid = ASN1Sequence.getInstance(octets).getObjectAt(0);
  String oidString = ((DLSequence) oid).getObjects().nextElement().toString();
  return DigestAlgorithm.forOID(oidString);
 }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

private int getBodyLength()
  throws IOException
{
  if (bodyLength < 0)
  {
    int length = 0;
    for (Enumeration e = this.getObjects(); e.hasMoreElements();)
    {
      Object obj = e.nextElement();
      length += ((ASN1Encodable)obj).toASN1Primitive().toDLObject().encodedLength();
    }
    bodyLength = length;
  }
  return bodyLength;
}

代码示例来源:origin: redfish64/TinyTravelTracker

private int getBodyLength()
  throws IOException
{
  if (bodyLength < 0)
  {
    int length = 0;
    for (Enumeration e = this.getObjects(); e.hasMoreElements();)
    {
      Object obj = e.nextElement();
      length += ((ASN1Encodable)obj).toASN1Primitive().toDLObject().encodedLength();
    }
    bodyLength = length;
  }
  return bodyLength;
}

代码示例来源:origin: com.yoti/yoti-sdk-impl

private String findExtension(X509Certificate certificate, AnchorType anchorType) throws IOException {
  byte[] extension = certificate.getExtensionValue(anchorType.extensionOid);
  if (extension != null) {
    // Read the First object
    ASN1Primitive derObject = ASN1Primitive.fromByteArray(extension);
    if (derObject != null && derObject instanceof DEROctetString) {
      DEROctetString derOctetString = (DEROctetString) derObject;
      // Read the sub object which is expected to be a sequence
      ASN1Primitive asn1Primitive1 = ASN1Primitive.fromByteArray(derOctetString.getOctets());
      DLSequence dlSequence = (DLSequence) asn1Primitive1;
      // Enumerate all the objects in the sequence (though we expect only one)
      Enumeration<?> seqEnum = dlSequence.getObjects();
      if (seqEnum.hasMoreElements()) {
        // This object is OctetString we are looking for
        ASN1TaggedObject seqObj = (ASN1TaggedObject) seqEnum.nextElement();
        ASN1OctetString string = DEROctetString.getInstance(seqObj, false);
        // Convert to a java String
        String type = new String(string.getOctets(), DEFAULT_CHARSET);
        LOG.debug("Anchor certificate type: '{}' for extension: {}", type, anchorType.extensionOid);
        return type;
      }
    }
  }
  return null;
}

代码示例来源:origin: org.codelibs/jcifs

public KerberosRelevantAuthData ( byte[] token, Map<Integer, KerberosKey> keys ) throws PACDecodingException {
  DLSequence authSequence;
  try {
    try ( ASN1InputStream stream = new ASN1InputStream(new ByteArrayInputStream(token)) ) {
      authSequence = ASN1Util.as(DLSequence.class, stream);
    }
  }
  catch ( IOException e ) {
    throw new PACDecodingException("Malformed kerberos ticket", e);
  }
  this.authorizations = new ArrayList<>();
  Enumeration<?> authElements = authSequence.getObjects();
  while ( authElements.hasMoreElements() ) {
    DLSequence authElement = ASN1Util.as(DLSequence.class, authElements);
    ASN1Integer authType = ASN1Util.as(ASN1Integer.class, ASN1Util.as(DERTaggedObject.class, authElement, 0));
    DEROctetString authData = ASN1Util.as(DEROctetString.class, ASN1Util.as(DERTaggedObject.class, authElement, 1));
    this.authorizations.addAll(KerberosAuthData.parse(authType.getValue().intValue(), authData.getOctets(), keys));
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

/**
   * A note on the implementation:
   * <p>
   * As DL requires the constructed, definite-length model to
   * be used for structured types, this varies slightly from the
   * ASN.1 descriptions given. Rather than just outputting SEQUENCE,
   * we also have to specify CONSTRUCTED, and the objects length.
   */
  void encode(
    ASN1OutputStream out)
    throws IOException
  {
    ASN1OutputStream dOut = out.getDLSubStream();
    int length = getBodyLength();

    out.write(BERTags.SEQUENCE | BERTags.CONSTRUCTED);
    out.writeLength(length);

    for (Enumeration e = this.getObjects(); e.hasMoreElements();)
    {
      Object obj = e.nextElement();

      dOut.writeObject((ASN1Encodable)obj);
    }
  }
}

代码示例来源:origin: redfish64/TinyTravelTracker

/**
   * A note on the implementation:
   * <p>
   * As DL requires the constructed, definite-length model to
   * be used for structured types, this varies slightly from the
   * ASN.1 descriptions given. Rather than just outputting SEQUENCE,
   * we also have to specify CONSTRUCTED, and the objects length.
   */
  void encode(
    ASN1OutputStream out)
    throws IOException
  {
    ASN1OutputStream dOut = out.getDLSubStream();
    int length = getBodyLength();

    out.write(BERTags.SEQUENCE | BERTags.CONSTRUCTED);
    out.writeLength(length);

    for (Enumeration e = this.getObjects(); e.hasMoreElements();)
    {
      Object obj = e.nextElement();

      dOut.writeObject((ASN1Encodable)obj);
    }
  }
}

代码示例来源:origin: AgNO3/jcifs-ng

public KerberosRelevantAuthData ( byte[] token, Map<Integer, KerberosKey> keys ) throws PACDecodingException {
  DLSequence authSequence;
  try {
    try ( ASN1InputStream stream = new ASN1InputStream(new ByteArrayInputStream(token)) ) {
      authSequence = ASN1Util.as(DLSequence.class, stream);
    }
  }
  catch ( IOException e ) {
    throw new PACDecodingException("Malformed kerberos ticket", e);
  }
  this.authorizations = new ArrayList<>();
  Enumeration<?> authElements = authSequence.getObjects();
  while ( authElements.hasMoreElements() ) {
    DLSequence authElement = ASN1Util.as(DLSequence.class, authElements);
    ASN1Integer authType = ASN1Util.as(ASN1Integer.class, ASN1Util.as(DERTaggedObject.class, authElement, 0));
    DEROctetString authData = ASN1Util.as(DEROctetString.class, ASN1Util.as(DERTaggedObject.class, authElement, 1));
    this.authorizations.addAll(KerberosAuthData.parse(authType.getValue().intValue(), authData.getOctets(), keys));
  }
}

代码示例来源:origin: org.codelibs/jcifs

Enumeration<?> fields = sequence.getObjects();
while ( fields.hasMoreElements() ) {
  ASN1TaggedObject tagged = ASN1Util.as(ASN1TaggedObject.class, fields);
    Enumeration<?> parts = nameSequence.getObjects();
    while ( parts.hasMoreElements() ) {
      Object part = parts.nextElement();
  case 9: // Host Addresses
    DLSequence adressesSequence = ASN1Util.as(DLSequence.class, tagged);
    Enumeration<?> adresses = adressesSequence.getObjects();
    while ( adresses.hasMoreElements() ) {
      DLSequence addressSequence = ASN1Util.as(DLSequence.class, adresses);
    Enumeration<?> authElements = authSequence.getObjects();
    while ( authElements.hasMoreElements() ) {
      DLSequence authElement = ASN1Util.as(DLSequence.class, authElements);

代码示例来源:origin: AgNO3/jcifs-ng

Enumeration<?> fields = sequence.getObjects();
while ( fields.hasMoreElements() ) {
  ASN1TaggedObject tagged = ASN1Util.as(ASN1TaggedObject.class, fields);
    Enumeration<?> parts = nameSequence.getObjects();
    while ( parts.hasMoreElements() ) {
      Object part = parts.nextElement();
  case 9: // Host Addresses
    DLSequence adressesSequence = ASN1Util.as(DLSequence.class, tagged);
    Enumeration<?> adresses = adressesSequence.getObjects();
    while ( adresses.hasMoreElements() ) {
      DLSequence addressSequence = ASN1Util.as(DLSequence.class, adresses);
    Enumeration<?> authElements = authSequence.getObjects();
    while ( authElements.hasMoreElements() ) {
      DLSequence authElement = ASN1Util.as(DLSequence.class, authElements);

代码示例来源:origin: org.codelibs/jcifs

Enumeration<?> fields = sequence.getObjects();
while ( fields.hasMoreElements() ) {
  ASN1TaggedObject tagged = ASN1Util.as(ASN1TaggedObject.class, fields.nextElement());

代码示例来源:origin: org.codelibs/jcifs

Enumeration<?> fields = sequence.getObjects();
while ( fields.hasMoreElements() ) {
  ASN1TaggedObject tagged = ASN1Util.as(ASN1TaggedObject.class, fields);
    Enumeration<?> parts = nameSequence.getObjects();
    while ( parts.hasMoreElements() ) {
      Object part = parts.nextElement();

代码示例来源:origin: AgNO3/jcifs-ng

Enumeration<?> fields = sequence.getObjects();
while ( fields.hasMoreElements() ) {
  ASN1TaggedObject tagged = ASN1Util.as(ASN1TaggedObject.class, fields.nextElement());

代码示例来源:origin: AgNO3/jcifs-ng

Enumeration<?> fields = sequence.getObjects();
while ( fields.hasMoreElements() ) {
  ASN1TaggedObject tagged = ASN1Util.as(ASN1TaggedObject.class, fields);
    Enumeration<?> parts = nameSequence.getObjects();
    while ( parts.hasMoreElements() ) {
      Object part = parts.nextElement();

相关文章