Search in sources :

Example 96 with ASN1EncodableVector

use of org.bouncycastle.asn1.ASN1EncodableVector in project xipki by xipki.

the class IssuerAndSubject method toASN1Primitive.

@Override
public // CHECKSTYLE:SKIP
ASN1Primitive toASN1Primitive() {
    ASN1EncodableVector vec = new ASN1EncodableVector();
    vec.add(issuer);
    vec.add(subject);
    return new DERSequence(vec);
}
Also used : DERSequence(org.bouncycastle.asn1.DERSequence) ASN1EncodableVector(org.bouncycastle.asn1.ASN1EncodableVector)

Example 97 with ASN1EncodableVector

use of org.bouncycastle.asn1.ASN1EncodableVector in project xipki by xipki.

the class ExtensionExistence method toASN1Primitive.

// constructor
@Override
public ASN1Primitive toASN1Primitive() {
    ASN1EncodableVector vector = new ASN1EncodableVector();
    if (CollectionUtil.isNonEmpty(needExtensions)) {
        ASN1EncodableVector vec = new ASN1EncodableVector();
        for (ASN1ObjectIdentifier m : needExtensions) {
            vec.add(m);
        }
        vector.add(new DERTaggedObject(true, 0, new DERSequence(vec)));
    }
    if (CollectionUtil.isNonEmpty(wantExtensions)) {
        ASN1EncodableVector vec = new ASN1EncodableVector();
        for (ASN1ObjectIdentifier m : wantExtensions) {
            vec.add(m);
        }
        vector.add(new DERTaggedObject(true, 1, new DERSequence(vec)));
    }
    return new DERSequence(vector);
}
Also used : DERSequence(org.bouncycastle.asn1.DERSequence) DERTaggedObject(org.bouncycastle.asn1.DERTaggedObject) ASN1EncodableVector(org.bouncycastle.asn1.ASN1EncodableVector) ASN1ObjectIdentifier(org.bouncycastle.asn1.ASN1ObjectIdentifier)

Example 98 with ASN1EncodableVector

use of org.bouncycastle.asn1.ASN1EncodableVector in project xipki by xipki.

the class P12ComplexCsrGenCmd method getSubject.

@Override
protected X500Name getSubject(String subject) {
    X500Name name = new X500Name(subject);
    List<RDN> list = new LinkedList<>();
    RDN[] rs = name.getRDNs();
    for (RDN m : rs) {
        list.add(m);
    }
    ASN1ObjectIdentifier id;
    // dateOfBirth
    if (complexSubject.booleanValue()) {
        id = ObjectIdentifiers.DN_DATE_OF_BIRTH;
        RDN[] rdns = name.getRDNs(id);
        if (rdns == null || rdns.length == 0) {
            ASN1Encodable atvValue = new DERGeneralizedTime("19950102120000Z");
            RDN rdn = new RDN(id, atvValue);
            list.add(rdn);
        }
    }
    // postalAddress
    if (complexSubject.booleanValue()) {
        id = ObjectIdentifiers.DN_POSTAL_ADDRESS;
        RDN[] rdns = name.getRDNs(id);
        if (rdns == null || rdns.length == 0) {
            ASN1EncodableVector vec = new ASN1EncodableVector();
            vec.add(new DERUTF8String("my street 1"));
            vec.add(new DERUTF8String("12345 Germany"));
            ASN1Sequence atvValue = new DERSequence(vec);
            RDN rdn = new RDN(id, atvValue);
            list.add(rdn);
        }
    }
    // DN_UNIQUE_IDENTIFIER
    id = ObjectIdentifiers.DN_UNIQUE_IDENTIFIER;
    RDN[] rdns = name.getRDNs(id);
    if (rdns == null || rdns.length == 0) {
        DERUTF8String atvValue = new DERUTF8String("abc-def-ghi");
        RDN rdn = new RDN(id, atvValue);
        list.add(rdn);
    }
    return new X500Name(list.toArray(new RDN[0]));
}
Also used : DERUTF8String(org.bouncycastle.asn1.DERUTF8String) ASN1Sequence(org.bouncycastle.asn1.ASN1Sequence) DERSequence(org.bouncycastle.asn1.DERSequence) DERGeneralizedTime(org.bouncycastle.asn1.DERGeneralizedTime) ASN1EncodableVector(org.bouncycastle.asn1.ASN1EncodableVector) X500Name(org.bouncycastle.asn1.x500.X500Name) ASN1Encodable(org.bouncycastle.asn1.ASN1Encodable) RDN(org.bouncycastle.asn1.x500.RDN) LinkedList(java.util.LinkedList) ASN1ObjectIdentifier(org.bouncycastle.asn1.ASN1ObjectIdentifier)

Example 99 with ASN1EncodableVector

use of org.bouncycastle.asn1.ASN1EncodableVector in project keepass2android by PhilippC.

the class RC2CBCParameter method toASN1Object.

public DERObject toASN1Object() {
    ASN1EncodableVector v = new ASN1EncodableVector();
    if (version != null) {
        v.add(version);
    }
    v.add(iv);
    return new DERSequence(v);
}
Also used : DERSequence(org.bouncycastle.asn1.DERSequence) ASN1EncodableVector(org.bouncycastle.asn1.ASN1EncodableVector)

Example 100 with ASN1EncodableVector

use of org.bouncycastle.asn1.ASN1EncodableVector in project keepass2android by PhilippC.

the class RSAPrivateKeyStructure method toASN1Object.

/**
 * This outputs the key in PKCS1v2 format.
 * <pre>
 *      RSAPrivateKey ::= SEQUENCE {
 *                          version Version,
 *                          modulus INTEGER, -- n
 *                          publicExponent INTEGER, -- e
 *                          privateExponent INTEGER, -- d
 *                          prime1 INTEGER, -- p
 *                          prime2 INTEGER, -- q
 *                          exponent1 INTEGER, -- d mod (p-1)
 *                          exponent2 INTEGER, -- d mod (q-1)
 *                          coefficient INTEGER, -- (inverse of q) mod p
 *                          otherPrimeInfos OtherPrimeInfos OPTIONAL
 *                      }
 *
 *      Version ::= INTEGER { two-prime(0), multi(1) }
 *        (CONSTRAINED BY {-- version must be multi if otherPrimeInfos present --})
 * </pre>
 * <p>
 * This routine is written to output PKCS1 version 2.1, private keys.
 */
public DERObject toASN1Object() {
    ASN1EncodableVector v = new ASN1EncodableVector();
    // version
    v.add(new DERInteger(version));
    v.add(new DERInteger(getModulus()));
    v.add(new DERInteger(getPublicExponent()));
    v.add(new DERInteger(getPrivateExponent()));
    v.add(new DERInteger(getPrime1()));
    v.add(new DERInteger(getPrime2()));
    v.add(new DERInteger(getExponent1()));
    v.add(new DERInteger(getExponent2()));
    v.add(new DERInteger(getCoefficient()));
    if (otherPrimeInfos != null) {
        v.add(otherPrimeInfos);
    }
    return new DERSequence(v);
}
Also used : DERSequence(org.bouncycastle.asn1.DERSequence) ASN1EncodableVector(org.bouncycastle.asn1.ASN1EncodableVector) DERInteger(org.bouncycastle.asn1.DERInteger)

Aggregations

ASN1EncodableVector (org.bouncycastle.asn1.ASN1EncodableVector)250 DERSequence (org.bouncycastle.asn1.DERSequence)199 ASN1Integer (org.bouncycastle.asn1.ASN1Integer)56 IOException (java.io.IOException)47 ASN1ObjectIdentifier (org.bouncycastle.asn1.ASN1ObjectIdentifier)44 DERTaggedObject (org.bouncycastle.asn1.DERTaggedObject)42 DEROctetString (org.bouncycastle.asn1.DEROctetString)32 BigInteger (java.math.BigInteger)24 ASN1Sequence (org.bouncycastle.asn1.ASN1Sequence)24 X509Certificate (java.security.cert.X509Certificate)22 DERUTF8String (org.bouncycastle.asn1.DERUTF8String)21 DLSequence (org.bouncycastle.asn1.DLSequence)21 ArrayList (java.util.ArrayList)20 ASN1OctetString (org.bouncycastle.asn1.ASN1OctetString)18 DERSet (org.bouncycastle.asn1.DERSet)18 DERBitString (org.bouncycastle.asn1.DERBitString)17 AlgorithmIdentifier (org.bouncycastle.asn1.x509.AlgorithmIdentifier)16 GeneralName (org.bouncycastle.asn1.x509.GeneralName)16 List (java.util.List)15 BERSequence (org.bouncycastle.asn1.BERSequence)14