org.bouncycastle.asn1.ASN1EncodableVector类的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(593)

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

ASN1EncodableVector介绍

[英]Mutable class for building ASN.1 constructed objects.
[中]用于构建ASN的可变类。1.构造对象。

代码示例

代码示例来源:origin: hierynomus/sshj

/**
   * Encodes the signature as a DER sequence (ASN.1 format).
   */
  private byte[] asnEncode(byte[] sigBlob) throws IOException {
    byte[] r = new BigInteger(1, Arrays.copyOfRange(sigBlob, 0, 20)).toByteArray();
    byte[] s = new BigInteger(1, Arrays.copyOfRange(sigBlob, 20, 40)).toByteArray();

    ASN1EncodableVector vector = new ASN1EncodableVector();
    vector.add(new ASN1Integer(r));
    vector.add(new ASN1Integer(s));

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ASN1OutputStream asnOS = new ASN1OutputStream(baos);

    asnOS.writeObject(new DERSequence(vector));
    asnOS.flush();

    return baos.toByteArray();
  }
}

代码示例来源:origin: igniterealtime/Openfire

protected static GeneralNames getSubjectAlternativeNames( Set<String> sanDnsNames )
{
  final ASN1EncodableVector subjectAlternativeNames = new ASN1EncodableVector();
  if ( sanDnsNames != null )
  {
    for ( final String dnsNameValue : sanDnsNames )
    {
      subjectAlternativeNames.add(
        new GeneralName( GeneralName.dNSName, dnsNameValue )
      );
    }
  }
  return GeneralNames.getInstance(
    new DERSequence( subjectAlternativeNames )
  );
}

代码示例来源:origin: org.italiangrid/voms-api-java

public CertificateExtension generateVOMSExtension(
 List<X509AttributeCertificateHolder> acs) {
 ASN1EncodableVector vomsACs = new ASN1EncodableVector();
 for (X509AttributeCertificateHolder ac : acs)
  vomsACs.add(ac.toASN1Structure());
 DERSequence acSeq = new DERSequence(vomsACs);
 CertificateExtension ext = new CertificateExtension(
  VOMS_EXTENSION_OID.getId(), acSeq.toASN1Primitive(), false);
 return ext;
}

代码示例来源:origin: stackoverflow.com

ASN1EncodableVector v = new ASN1EncodableVector();
v.add(csrInfo);
ASN1ObjectIdentifier oid = new ASN1ObjectIdentifier("0.0");
v.add(new DERSequence(oid));
v.add(new DERBitString(new byte[] {}));
byte[] encoded = new DERSequence(v).getEncoded();
byte[] PKCS10= DataSignGeneration(encoded);

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

private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj)
  {
    if (obj != null)
    {
      v.add(new DERTaggedObject(true, tagNo, obj));
    }
  }
}

代码示例来源:origin: apache/pdfbox

ASN1EncodableVector vector = new ASN1EncodableVector();
if (unsignedAttributes != null)
    new DERSet(ASN1Primitive.fromByteArray(token)));
vector.add(signatureTimeStamp);
Attributes signedAttributes = new Attributes(vector);

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

public void addAttribute(String oid, ASN1Encodable value) 
{
  attributes.add(new Attribute(new ASN1ObjectIdentifier(oid), new DERSet(value)));
}

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

public RevRepContentBuilder add(PKIStatusInfo status, CertId certId)
{
  if (this.status.size() != this.revCerts.size())
  {
    throw new IllegalStateException("status and revCerts sequence must be in common order");
  }
  this.status.add(status);
  this.revCerts.add(certId);
  return this;
}

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

/**
 * Create a SEQUENCE containing a vector of objects.
 * @param v the vector of objects to be put in the SEQUENCE.
 */
protected ASN1Sequence(
  ASN1EncodableVector v)
{
  for (int i = 0; i != v.size(); i++)
  {
    seq.addElement(v.get(i));
  }
}

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

static BERSet createSet(ASN1EncodableVector v)
  {
    return v.size() < 1 ? EMPTY_SET : new BERSet(v);
  }
}

代码示例来源:origin: jamesdbloom/mockserver

/**
 * Create a certificate to use by a Certificate Authority, signed by a self signed certificate.
 */
private X509Certificate createCACert(PublicKey publicKey, PrivateKey privateKey) throws Exception {
  // signers name
  X500Name issuerName = new X500Name("CN=www.mockserver.com, O=MockServer, L=London, ST=England, C=UK");
  // subjects name - the same as we are self signed.
  X500Name subjectName = issuerName;
  // serial
  BigInteger serial = BigInteger.valueOf(new Random().nextInt(Integer.MAX_VALUE));
  // create the certificate - version 3
  X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(issuerName, serial, NOT_BEFORE, NOT_AFTER, subjectName, publicKey);
  builder.addExtension(Extension.subjectKeyIdentifier, false, createSubjectKeyIdentifier(publicKey));
  builder.addExtension(Extension.basicConstraints, true, new BasicConstraints(true));
  KeyUsage usage = new KeyUsage(KeyUsage.keyCertSign | KeyUsage.digitalSignature | KeyUsage.keyEncipherment | KeyUsage.dataEncipherment | KeyUsage.cRLSign);
  builder.addExtension(Extension.keyUsage, false, usage);
  ASN1EncodableVector purposes = new ASN1EncodableVector();
  purposes.add(KeyPurposeId.id_kp_serverAuth);
  purposes.add(KeyPurposeId.id_kp_clientAuth);
  purposes.add(KeyPurposeId.anyExtendedKeyUsage);
  builder.addExtension(Extension.extendedKeyUsage, false, new DERSequence(purposes));
  X509Certificate cert = signCertificate(builder, privateKey);
  cert.checkValidity(new Date());
  cert.verify(publicKey);
  return cert;
}

代码示例来源:origin: stackoverflow.com

ASN1EncodableVector signedAttributes = new ASN1EncodableVector();
signedAttributes.add(new Attribute(CMSAttributes.contentType, new DERSet(new ASN1ObjectIdentifier("1.2.840.113549.1.7.1"))));
signedAttributes.add(new Attribute(CMSAttributes.messageDigest, new DERSet(new DEROctetString(digestBytes))));
signedAttributes.add(new Attribute(CMSAttributes.signingTime, new DERSet(new DERUTCTime(signingDate))));

AttributeTable signedAttributesTable = new AttributeTable(signedAttributes);

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

private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj)
  {
    if (obj != null)
    {
      v.add(new DERTaggedObject(true, tagNo, obj));
    }
  }
}

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

public void addAttribute(String oid, ASN1Encodable value) 
{
  attributes.add(new Attribute(new ASN1ObjectIdentifier(oid), new DERSet(value)));
}

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

public RevRepContentBuilder add(PKIStatusInfo status, CertId certId)
{
  if (this.status.size() != this.revCerts.size())
  {
    throw new IllegalStateException("status and revCerts sequence must be in common order");
  }
  this.status.add(status);
  this.revCerts.add(certId);
  return this;
}

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

/**
 * Create a sequence containing a vector of objects.
 * @param v the vector of objects to be put in the SEQUENCE
 */
protected ASN1Sequence(
  ASN1EncodableVector v)
{
  for (int i = 0; i != v.size(); i++)
  {
    seq.addElement(v.get(i));
  }
}

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

static BERSet createSet(ASN1EncodableVector v)
  {
    return v.size() < 1 ? EMPTY_SET : new BERSet(v);
  }
}

代码示例来源:origin: hierynomus/sshj

/**
   * Encodes the signature as a DER sequence (ASN.1 format).
   */
  private byte[] asnEncode(byte[] sigBlob) throws IOException {
    Buffer.PlainBuffer sigbuf = new Buffer.PlainBuffer(sigBlob);
    byte[] r = sigbuf.readBytes();
    byte[] s = sigbuf.readBytes();

    ASN1EncodableVector vector = new ASN1EncodableVector();
    vector.add(new ASN1Integer(r));
    vector.add(new ASN1Integer(s));

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ASN1OutputStream asnOS = new ASN1OutputStream(baos);

    asnOS.writeObject(new DERSequence(vector));
    asnOS.flush();

    return baos.toByteArray();
  }
}

代码示例来源:origin: JZ-Darkal/AndroidHttpCapture

generator.addExtension(Extension.keyUsage, false, usage);
ASN1EncodableVector purposes = new ASN1EncodableVector();
purposes.add(KeyPurposeId.id_kp_serverAuth);
purposes.add(KeyPurposeId.id_kp_clientAuth);
purposes.add(KeyPurposeId.anyExtendedKeyUsage);
generator.addExtension(Extension.extendedKeyUsage, false,
    new DERSequence(purposes));

代码示例来源:origin: stackoverflow.com

final X500Name issuerX500Name = new X509CertificateHolder(mycert.getEncoded()).getIssuer();
final GeneralName generalName = new GeneralName(issuerX500Name);
final GeneralNames generalNames = new GeneralNames(generalName);
final BigInteger serialNumber = mycert.getSerialNumber();
final IssuerSerial issuerSerial = new IssuerSerial(generalNames, serialNumber);

ESSCertIDv2 certid = new ESSCertIDv2(new AlgorithmIdentifier(new ASN1ObjectIdentifier("2.16.840.1.101.3.4.2.3")), this.digest(mycert.getEncoded()), issuerSerial);
SigningCertificateV2 sigcert = new SigningCertificateV2(certid);
final DERSet attrValues = new DERSet(sigcert);
Attribute attr = new Attribute(PKCSObjectIdentifiers.id_aa_signingCertificateV2, attrValues);
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(attr);

JcaSignerInfoGeneratorBuilder builder = new JcaSignerInfoGeneratorBuilder(new JcaDigestCalculatorProviderBuilder().setProvider("BC").build());
builder.setSignedAttributeGenerator(new DefaultSignedAttributeTableGenerator(new AttributeTable(v)));

相关文章

微信公众号

最新文章

更多