List of usage examples for org.bouncycastle.asn1 ASN1EncodableVector ASN1EncodableVector
public ASN1EncodableVector()
From source file:org.glite.slcs.pki.CertificateExtensionFactory.java
License:eu-egee.org license
/** * /*w ww .j a va2 s .com*/ * @param policyOIDs * @param values * @return */ static protected CertificateExtension createCertificatePoliciesExtension(Vector policyOIDs, String values) { ASN1EncodableVector policyInformations = new ASN1EncodableVector(); Enumeration pOids = policyOIDs.elements(); while (pOids.hasMoreElements()) { String policyOid = (String) pOids.nextElement(); DERObjectIdentifier policyIdentifier = new DERObjectIdentifier(policyOid); PolicyInformation policyInformation = new PolicyInformation(policyIdentifier); policyInformations.add(policyInformation); } DERSequence certificatePolicies = new DERSequence(policyInformations); X509Extension certificatePoliciesExtension = new X509Extension(false, new DEROctetString(certificatePolicies)); return new CertificateExtension(X509Extensions.CertificatePolicies, "CertificatePolicies", certificatePoliciesExtension, values); }
From source file:org.glite.voms.ac.AttributeCertificate.java
License:eu-egee.org license
/** * Produce an object suitable for an ASN1OutputStream. * <pre>/*www. j a v a2s. c o m*/ * AttributeCertificate ::= SEQUENCE { * acinfo AttributeCertificateInfo, * signatureAlgorithm AlgorithmIdentifier, * signatureValue BIT STRING * } * </pre> */ public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(acInfo); v.add(signatureAlgorithm); v.add(signatureValue); return new DERSequence(v); }
From source file:org.glite.voms.ac.AttributeCertificateInfo.java
License:eu-egee.org license
/** * Produce an object suitable for an ASN1OutputStream. * * <pre>/* w ww .j a v a 2 s. c om*/ * * * * AttributeCertificateInfo ::= SEQUENCE { * version AttCertVersion -- version is v2, * holder Holder, * issuer AttCertIssuer, * signature AlgorithmIdentifier, * serialNumber CertificateSerialNumber, * attrCertValidityPeriod AttCertValidityPeriod, * attributes SEQUENCE OF Attribute, * issuerUniqueID UniqueIdentifier OPTIONAL, * extensions Extensions OPTIONAL * } * * AttCertVersion ::= INTEGER { v2(1) } * * * * </pre> */ public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(version); v.add(holder); v.add(issuer); v.add(signature); v.add(serialNumber); if (!badVomsEncoding) { v.add(attrCertValidityPeriod); } else { DEREncodableVector v2 = new DEREncodableVector(); v2.add(new DERTaggedObject(false, 0, new DEROctetString( (attrCertValidityPeriod.getNotBeforeTime().getTime().substring(0, 14) + "Z").getBytes()))); v2.add(new DERTaggedObject(false, 1, new DEROctetString( (attrCertValidityPeriod.getNotAfterTime().getTime().substring(0, 14) + "Z").getBytes()))); v.add(new DERSequence(v2)); } v.add(attributes); if (issuerUniqueID != null) { v.add(issuerUniqueID); } if (extensions != null) { v.add(extensions); } return new DERSequence(v); }
From source file:org.glite.voms.ac.Holder.java
License:eu-egee.org license
public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(); if (baseCertificateID != null) { v.add(new DERTaggedObject(false, 0, baseCertificateID)); }//w ww. j a va 2 s. c om if (entityName != null) { v.add(new DERTaggedObject(false, 1, entityName)); } if (objectDigestInfo != null) { v.add(new DERTaggedObject(false, 2, objectDigestInfo)); } return new DERSequence(v); }
From source file:org.glite.voms.ac.ObjectDigestInfo.java
License:eu-egee.org license
/** * Produce an object suitable for an ASN1OutputStream. * <pre>//from w w w . j a va2s . c o m * ObjectDigestInfo ::= SEQUENCE { * digestedObjectType ENUMERATED { * publicKey (0), * publicKeyCert (1), * otherObjectTypes (2) }, * -- otherObjectTypes MUST NOT * -- be used in this profile * otherObjectTypeID OBJECT IDENTIFIER OPTIONAL, * digestAlgorithm AlgorithmIdentifier, * objectDigest BIT STRING * } * </pre> */ public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(digestedObjectType); if (otherObjectTypeID != null) { v.add(otherObjectTypeID); } v.add(digestAlgorithm); v.add(objectDigest); return new DERSequence(v); }
From source file:org.glite.voms.ac.V2Form.java
License:eu-egee.org license
/** * Produce an object suitable for an ASN1OutputStream. * <pre>//from w w w.ja v a 2s. c o m * V2Form ::= SEQUENCE { * issuerName GeneralNames OPTIONAL, * baseCertificateID [0] IssuerSerial OPTIONAL, * objectDigestInfo [1] ObjectDigestInfo OPTIONAL * -- issuerName MUST be present in this profile * -- baseCertificateID and objectDigestInfo MUST NOT * -- be present in this profile * } * </pre> */ public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(); if (issuerName != null) { // IMPLICIT encoding of GeneralNames ... gosh, how I hate ASN.1 sometimes. v.add(((ASN1Sequence) issuerName.toASN1Primitive()).getObjectAt(0)); } if (baseCertificateID != null) { v.add(new DERTaggedObject(0, baseCertificateID)); } if (objectDigestInfo != null) { v.add(new DERTaggedObject(1, objectDigestInfo)); } return new DERSequence(v); }
From source file:org.glite.voms.contact.X509NameHelper.java
License:Apache License
/** * Appends the specified OID and value pair name component to the end of the * current name./*w w w .java 2 s .c o m*/ * * @param oid the name component oid, e.g. {@link X509Name#CN * X509Name.CN} * @param value the value (e.g. "proxy") */ public void add(DERObjectIdentifier oid, String value) { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(oid); v.add(new DERPrintableString(value)); add(new DERSet(new DERSequence(v))); }
From source file:org.glite.voms.contact.X509NameHelper.java
License:Apache License
/** * Appends the specified name component entry to the current name. This can * be used to add handle multiple AVAs in one name component. * * @param entry the name component to add. *//* w ww .j a v a 2 s . co m*/ public void add(ASN1Set entry) { ASN1EncodableVector v = new ASN1EncodableVector(); int size = seq.size(); for (int i = 0; i < size; i++) { v.add(seq.getObjectAt(i)); } v.add(entry); seq = new DERSequence(v); }
From source file:org.globus.gsi.bc.X500NameHelper.java
License:Apache License
/** * Appends the specified OID and value pair name component to the end of the * current name.// w w w. j av a 2 s . c om * * @param oid the name component oid, e.g. {@link X500Name#CN * X500Name.CN} * @param value the value (e.g. "proxy") */ public X500NameHelper add(ASN1ObjectIdentifier oid, String value) { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(oid); v.add(new DERPrintableString(value)); add(new DERSet(new DERSequence(v))); return this; }
From source file:org.globus.gsi.bc.X500NameHelper.java
License:Apache License
/** * Appends the specified name component entry to the current name. This can * be used to add handle multiple AVAs in one name component. * * @param entry the name component to add. *//*ww w. j av a2s . com*/ public X500NameHelper add(ASN1Set entry) { ASN1EncodableVector v = new ASN1EncodableVector(); int size = seq.size(); for (int i = 0; i < size; i++) { v.add(seq.getObjectAt(i)); } v.add(entry); seq = new DERSequence(v); return this; }