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

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

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

DLSequence.size介绍

暂无

代码示例

代码示例来源:origin: org.apache.ratis/ratis-proto-shaded

private static <T> T findObject(DLSequence sequence, ASN1ObjectIdentifier oid, Class<T> type) {
  for (ASN1Encodable element : sequence) {
    if (!(element instanceof DLSequence)) {
      continue;
    }
    DLSequence subSequence = (DLSequence) element;
    if (subSequence.size() != 2) {
      continue;
    }
    ASN1Encodable key = subSequence.getObjectAt(0);
    ASN1Encodable value = subSequence.getObjectAt(1);
    if (key.equals(oid) && type.isInstance(value)) {
      return type.cast(value);
    }
  }
  return null;
}

代码示例来源:origin: eu.eu-emi.security/canl

/**
 * Used to get the AC extension object.
 * 
 * @return The AC object
 */
public AttributeCertificate[] getAttributeCertificates()
{
  DLSequence seqac = (DLSequence) ac.getObjectAt(0);
  AttributeCertificate[] ret = new AttributeCertificate[seqac.size()];
  for (int i=0; i<ret.length; i++)
    ret[i] = AttributeCertificate.getInstance(seqac.getObjectAt(i));
  return ret;
}

代码示例来源:origin: org.demoiselle.signer/core

DLSequence sequence = (DLSequence) getExtensionValue(Extension.certificatePolicies.getId());
if (sequence != null) {
  for (int pos = 0; pos < sequence.size(); pos++) {
    DLSequence sequence2 = (DLSequence) sequence.getObjectAt(pos);
    ASN1ObjectIdentifier policyIdentifier = (ASN1ObjectIdentifier) sequence2.getObjectAt(0);

代码示例来源:origin: arhs/sd-dss

if (dlSequence.size() != 2) {

代码示例来源:origin: org.demoiselle.signer/signature-core

DLSequence sequence = (DLSequence) getExtensionValue(Extension.certificatePolicies.getId());
if (sequence != null) {
  for (int pos = 0; pos < sequence.size(); pos++) {
    DLSequence sequence2 = (DLSequence) sequence.getObjectAt(pos);
    ASN1ObjectIdentifier policyIdentifier = (ASN1ObjectIdentifier) sequence2.getObjectAt(0);

代码示例来源:origin: org.demoiselle.signer/core

/**
 *     *
 * @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;
  }
    
}

代码示例来源:origin: org.demoiselle.signer/policy-engine

@Override
public void parse(ASN1Primitive derObject) {
  ASN1Sequence sequence = ASN1Object.getDERSequence(derObject);
  ASN1Primitive policyInfos = sequence.getObjectAt(0).toASN1Primitive();
  DLSequence policyInfosSequence = (DLSequence) policyInfos;
  if (policyInfosSequence != null && policyInfosSequence.size() > 0) {
    this.policyInfos = new ArrayList<>();
    for (int i = 0; i < policyInfosSequence.size(); i++) {
      PolicyInfo policyInfo = new PolicyInfo();
      policyInfo.parse(policyInfosSequence.getObjectAt(i).toASN1Primitive());
      this.policyInfos.add(policyInfo);
    }
  }
  this.nextUpdate = new Time();
  this.nextUpdate.parse(sequence.getObjectAt(1).toASN1Primitive());
}

代码示例来源:origin: esig/dss

if (dlSequence.size() != 2) {

代码示例来源:origin: spoofzu/DeepViolet

for (int i=0; i < dl.size() ; i++ ) {

代码示例来源:origin: org.demoiselle.signer/signature-core

/**
 * 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());
}

代码示例来源:origin: esig/dss

public static Map<String, String> get(final X500Principal x500Principal) {
  Map<String, String> treeMap = new HashMap<String, String>();
  final byte[] encoded = x500Principal.getEncoded();
  final ASN1Sequence asn1Sequence = ASN1Sequence.getInstance(encoded);
  final ASN1Encodable[] asn1Encodables = asn1Sequence.toArray();
  for (final ASN1Encodable asn1Encodable : asn1Encodables) {
    final DLSet dlSet = (DLSet) asn1Encodable;
    for (int ii = 0; ii < dlSet.size(); ii++) {
      final DLSequence dlSequence = (DLSequence) dlSet.getObjectAt(ii);
      if (dlSequence.size() != 2) {
        throw new DSSException("The DLSequence must contains exactly 2 elements.");
      }
      final ASN1Encodable asn1EncodableAttributeType = dlSequence.getObjectAt(0);
      final String stringAttributeType = getString(asn1EncodableAttributeType);
      final ASN1Encodable asn1EncodableAttributeValue = dlSequence.getObjectAt(1);
      final String stringAttributeValue = getString(asn1EncodableAttributeValue);
      treeMap.put(stringAttributeType, stringAttributeValue);
    }
  }
  return treeMap;
}

代码示例来源:origin: arhs/sd-dss

private static HashMap<String, String> get(final X500Principal x500Principal) {
  HashMap<String, String> treeMap = new HashMap<String, String>();
  final byte[] encoded = x500Principal.getEncoded();
  final ASN1Sequence asn1Sequence = ASN1Sequence.getInstance(encoded);
  final ASN1Encodable[] asn1Encodables = asn1Sequence.toArray();
  for (final ASN1Encodable asn1Encodable : asn1Encodables) {
    final DLSet dlSet = (DLSet) asn1Encodable;
    for (int ii = 0; ii < dlSet.size(); ii++) {
      final DLSequence dlSequence = (DLSequence) dlSet.getObjectAt(ii);
      if (dlSequence.size() != 2) {
        throw new DSSException("The DLSequence must contains exactly 2 elements.");
      }
      final ASN1Encodable asn1EncodableAttributeType = dlSequence.getObjectAt(0);
      final String stringAttributeType = getString(asn1EncodableAttributeType);
      final ASN1Encodable asn1EncodableAttributeValue = dlSequence.getObjectAt(1);
      final String stringAttributeValue = getString(asn1EncodableAttributeValue);
      treeMap.put(stringAttributeType, stringAttributeValue);
    }
  }
  return treeMap;
}

代码示例来源:origin: org.demoiselle.signer/policy-engine

public void parse(ASN1Primitive derObject) {
  ASN1Sequence sequence = ASN1Object.getDERSequence(derObject);
  ASN1Primitive firstObject = sequence.getObjectAt(0).toASN1Primitive();
  this.version = new Version();
  int indice = 0;
  if (firstObject instanceof ASN1Integer) {
    this.version.parse(firstObject);
    indice++;
  }
  ASN1Primitive policyInfos = sequence.getObjectAt(indice).toASN1Primitive();
  DLSequence policyInfosSequence = (DLSequence) policyInfos;
  if (policyInfosSequence != null && policyInfosSequence.size() > 0) {
    this.policyInfos = new ArrayList<>();
    for (int i = 0; i < policyInfosSequence.size(); i++) {
      PolicyInfo policyInfo = new PolicyInfo();
      policyInfo.parse(policyInfosSequence.getObjectAt(i).toASN1Primitive());
      this.policyInfos.add(policyInfo);
    }
  }
  this.nextUpdate = new GeneralizedTime();
  this.nextUpdate.parse(sequence.getObjectAt(indice + 1).toASN1Primitive());
}

代码示例来源:origin: iNPUTmice/ComplianceTester

private static OtherName parseOtherName(byte[] otherName) {
  try {
    ASN1Primitive asn1Primitive = ASN1Primitive.fromByteArray(otherName);
    if (asn1Primitive instanceof DERTaggedObject) {
      ASN1Primitive inner = ((DERTaggedObject) asn1Primitive).getObject();
      if (inner instanceof DLSequence) {
        DLSequence sequence = (DLSequence) inner;
        if (sequence.size() >= 2 && sequence.getObjectAt(1) instanceof DERTaggedObject) {
          String oid = sequence.getObjectAt(0).toString();
          ASN1Primitive value = ((DERTaggedObject) sequence.getObjectAt(1)).getObject();
          if (value instanceof DERUTF8String) {
            return new OtherName(oid, ((DERUTF8String) value).getString());
          } else if (value instanceof DERIA5String) {
            return new OtherName(oid, ((DERIA5String) value).getString());
          }
        }
      }
    }
    return null;
  } catch (IOException e) {
    return null;
  }
}

代码示例来源:origin: iNPUTmice/caas

private static OtherName parseOtherName(byte[] otherName) {
  try {
    ASN1Primitive asn1Primitive = ASN1Primitive.fromByteArray(otherName);
    if (asn1Primitive instanceof DERTaggedObject) {
      ASN1Primitive inner = ((DERTaggedObject) asn1Primitive).getObject();
      if (inner instanceof DLSequence) {
        DLSequence sequence = (DLSequence) inner;
        if (sequence.size() >= 2 && sequence.getObjectAt(1) instanceof DERTaggedObject) {
          String oid = sequence.getObjectAt(0).toString();
          ASN1Primitive value = ((DERTaggedObject) sequence.getObjectAt(1)).getObject();
          if (value instanceof DERUTF8String) {
            return new OtherName(oid, ((DERUTF8String) value).getString());
          } else if (value instanceof DERIA5String) {
            return new OtherName(oid, ((DERIA5String) value).getString());
          }
        }
      }
    }
    return null;
  } catch (IOException e) {
    return null;
  }
}

相关文章