Example usage for org.bouncycastle.asn1.x509 X509CertificateStructure getInstance

List of usage examples for org.bouncycastle.asn1.x509 X509CertificateStructure getInstance

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.x509 X509CertificateStructure getInstance.

Prototype

public static X509CertificateStructure getInstance(Object obj) 

Source Link

Usage

From source file:com.novosec.pkix.asn1.cmp.CAKeyUpdAnnContent.java

License:Open Source License

public CAKeyUpdAnnContent(ASN1Sequence seq) {
    this.oldWithNew = X509CertificateStructure.getInstance(seq.getObjectAt(0));
    this.newWithOld = X509CertificateStructure.getInstance(seq.getObjectAt(1));
    this.newWithNew = X509CertificateStructure.getInstance(seq.getObjectAt(2));
}

From source file:com.novosec.pkix.asn1.cmp.CertOrEncCert.java

License:Open Source License

public static CertOrEncCert getInstance(ASN1TaggedObject tagObj, boolean explicit) {
    int tag = tagObj.getTagNo();

    switch (tag) {
    case 0://from   ww w  .  j  a va  2  s.  com
        return new CertOrEncCert(X509CertificateStructure.getInstance(tagObj.getObject()), 0);
    case 1:
        return new CertOrEncCert(EncryptedValue.getInstance(tagObj.getObject()), 1);
    }

    throw new IllegalArgumentException("unknown tag: " + tag);
}

From source file:com.novosec.pkix.asn1.cmp.CertRepMessage.java

License:Open Source License

public CertRepMessage(ASN1Sequence seq) {
    Enumeration e = seq.getObjects();

    Object obj = e.nextElement();

    if (obj instanceof ASN1TaggedObject) {
        ASN1Sequence s = (ASN1Sequence) (((ASN1TaggedObject) obj).getObject());

        for (int i = 0; i < s.size(); i++) {
            caPubs.add(X509CertificateStructure.getInstance(s.getObjectAt(i)));
        }//from  w  w w.jav a2 s . c  o m

        obj = e.nextElement();
    }

    ASN1Sequence s = (ASN1Sequence) obj;

    for (int i = 0; i < s.size(); i++) {
        responses.add(CertResponse.getInstance(s.getObjectAt(i)));
    }
}

From source file:com.novosec.pkix.asn1.cmp.KeyRecRepContent.java

License:Open Source License

public KeyRecRepContent(ASN1Sequence seq) {
    Enumeration e = seq.getObjects();

    status = PKIStatusInfo.getInstance(e.nextElement());

    while (e.hasMoreElements()) {
        ASN1TaggedObject tagObj = (ASN1TaggedObject) e.nextElement();

        switch (tagObj.getTagNo()) {
        case 0:/*w w  w .  j a  va  2s .  c  om*/
            newSigCert = X509CertificateStructure.getInstance(tagObj.getObject());
            break;
        case 1: {
            ASN1Sequence s = (ASN1Sequence) tagObj.getObject();
            for (int i = 0; i < s.size(); i++) {
                caCerts.addElement(X509CertificateStructure.getInstance(s.getObjectAt(i)));
            }
        }
            break;
        case 2: {
            ASN1Sequence s = (ASN1Sequence) tagObj.getObject();
            for (int i = 0; i < s.size(); i++) {
                keyPairHists.addElement(CertifiedKeyPair.getInstance(s.getObjectAt(i)));
            }
        }
            break;
        }
    }
}

From source file:com.novosec.pkix.asn1.cmp.PKIBody.java

License:Open Source License

public static PKIBody getInstance(ASN1TaggedObject tagObj, boolean explicit) {
    int tag = tagObj.getTagNo();

    switch (tag) {
    case 0://  w ww  . j ava 2s.  c  o m
        return new PKIBody(CertReqMessages.getInstance(tagObj.getObject()), 0);
    case 1:
        return new PKIBody(CertRepMessage.getInstance(tagObj.getObject()), 1);
    case 2:
        return new PKIBody(CertReqMessages.getInstance(tagObj.getObject()), 2);
    case 3:
        return new PKIBody(CertRepMessage.getInstance(tagObj.getObject()), 3);
    case 4:
        return new PKIBody(tagObj.getObject(), 4);
    case 5:
        return new PKIBody(POPODecKeyChallContent.getInstance(tagObj.getObject()), 5);
    case 6:
        return new PKIBody(POPODecKeyRespContent.getInstance(tagObj.getObject()), 6);
    case 7:
        return new PKIBody(CertReqMessages.getInstance(tagObj.getObject()), 7);
    case 8:
        return new PKIBody(CertRepMessage.getInstance(tagObj.getObject()), 8);
    case 9:
        return new PKIBody(CertReqMessages.getInstance(tagObj.getObject()), 9);
    case 10:
        return new PKIBody(KeyRecRepContent.getInstance(tagObj.getObject()), 10);
    case 11:
        return new PKIBody(RevReqContent.getInstance(tagObj.getObject()), 11);
    case 12:
        return new PKIBody(RevRepContent.getInstance(tagObj.getObject()), 12);
    case 13:
        return new PKIBody(CertReqMessages.getInstance(tagObj.getObject()), 13);
    case 14:
        return new PKIBody(CertRepMessage.getInstance(tagObj.getObject()), 14);
    case 15:
        return new PKIBody(CAKeyUpdAnnContent.getInstance(tagObj.getObject()), 15);
    case 16:
        return new PKIBody(X509CertificateStructure.getInstance(tagObj.getObject()), 16);
    case 17:
        return new PKIBody(RevAnnContent.getInstance(tagObj.getObject()), 17);
    case 18:
        return new PKIBody(CRLAnnContent.getInstance(tagObj.getObject()), 18);
    case 19:
        return new PKIBody(tagObj.getObject(), 19);
    case 20:
        return new PKIBody(tagObj.getObject(), 20);
    case 21:
        return new PKIBody(GenMsgContent.getInstance(tagObj.getObject()), 21);
    case 22:
        return new PKIBody(GenRepContent.getInstance(tagObj.getObject()), 22);
    case 23:
        return new PKIBody(ErrorMsgContent.getInstance(tagObj.getObject()), 23);
    case 24:
        return new PKIBody(CertConfirmContent.getInstance(tagObj.getObject()), 24);
    }

    throw new IllegalArgumentException("unknown tag: " + tag);
}

From source file:com.novosec.pkix.asn1.cmp.PKIMessage.java

License:Open Source License

public PKIMessage(ASN1Sequence seq) {
    Enumeration e = seq.getObjects();

    /*/* w  w w.  j  av  a2  s  . com*/
          header     = PKIHeader.getInstance( e.nextElement() );
          body       = PKIBody.getInstance( (ASN1TaggedObject)e.nextElement() );
    */

    DEREncodable derHeader = (DEREncodable) e.nextElement();
    DEREncodable derBody = (DEREncodable) e.nextElement();

    try {
        //store protected part in unmodified form...
        ASN1EncodableVector v = new ASN1EncodableVector();
        v.add(derHeader);
        v.add(derBody);

        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        DEROutputStream out = new DEROutputStream(bao);
        out.writeObject(new DERSequence(v));

        protectedBytes = bao.toByteArray();
    } catch (Exception ex) {
    }

    header = PKIHeader.getInstance(derHeader);
    body = PKIBody.getInstance((ASN1TaggedObject) derBody);

    while (e.hasMoreElements()) {
        ASN1TaggedObject tagObj = (ASN1TaggedObject) e.nextElement();

        switch (tagObj.getTagNo()) {
        case 0:
            protection = DERBitString.getInstance(tagObj.getObject());
            break;
        case 1:
            ASN1Sequence s = (ASN1Sequence) tagObj.getObject();
            for (int i = 0; i < s.size(); i++) {
                extraCerts.addElement(X509CertificateStructure.getInstance(s.getObjectAt(i)));
            }
            break;
        }
    }
}

From source file:eu.europa.ec.markt.dss.validation.cades.CAdESCertificateSource.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public List<X509Certificate> getCertificates() {
    List<X509Certificate> list = new ArrayList<X509Certificate>();

    try {/*ww w  .  j  a va  2  s .  c o m*/

        if (!onlyExtended) {
            LOG.fine(cmsSignedData.getCertificates().getMatches(null).size() + " certificate in collection");
            for (X509CertificateHolder ch : (Collection<X509CertificateHolder>) cmsSignedData.getCertificates()
                    .getMatches(null)) {
                X509Certificate c = new X509CertificateObject(ch.toASN1Structure());
                LOG.fine("Certificate for subject " + c.getSubjectX500Principal());
                if (!list.contains(c)) {
                    list.add(c);
                }
            }
        }

        // Add certificates in CAdES-XL certificate-values inside SignerInfo attribute if present
        SignerInformation si = cmsSignedData.getSignerInfos().get(signerId);
        if (si != null && si.getUnsignedAttributes() != null
                && si.getUnsignedAttributes().get(PKCSObjectIdentifiers.id_aa_ets_certValues) != null) {

            DERSequence seq = (DERSequence) si.getUnsignedAttributes()
                    .get(PKCSObjectIdentifiers.id_aa_ets_certValues).getAttrValues().getObjectAt(0);

            for (int i = 0; i < seq.size(); i++) {
                X509CertificateStructure cs = X509CertificateStructure.getInstance(seq.getObjectAt(i));
                X509Certificate c = new X509CertificateObject(cs);
                if (!list.contains(c)) {
                    list.add(c);
                }
            }
        }
    } catch (CertificateParsingException e) {
        throw new RuntimeException(e);
    } catch (StoreException e) {
        throw new RuntimeException(e);
    }

    return list;
}

From source file:net.jradius.client.auth.EAPTLSAuthenticator.java

License:Open Source License

/**
 * Initializs the SSL layer./*  ww  w .j a v a 2  s  . co  m*/
 * @throws Exception 
 * @throws FileNotFoundException 
 */
public void init() throws RadiusException {
    try {
        if (getKeyFile() != null) {
            keyManagers = KeyStoreUtil.loadKeyManager(getKeyFileType(), new FileInputStream(getKeyFile()),
                    getKeyPassword());
        }

        if (getTrustAll().booleanValue()) {
            trustManagers = KeyStoreUtil.trustAllManager();
        } else if (getCaFile() != null) {
            trustManagers = KeyStoreUtil.loadTrustManager(getCaFileType(), new FileInputStream(getCaFile()),
                    getCaPassword());
        }

        tlsClient = new DefaultTlsClient(verifyer);

        try {
            if (keyManagers != null && keyManagers.length > 0) {
                X509CertificateStructure[] certs = null;
                X509Certificate[] certChain = ((X509KeyManager) keyManagers[0]).getCertificateChain("");
                PrivateKey key = ((X509KeyManager) keyManagers[0]).getPrivateKey("");
                Vector tmp = new Vector();

                for (X509Certificate cert : certChain) {
                    ByteArrayInputStream bis = new ByteArrayInputStream(cert.getEncoded());
                    ASN1InputStream ais = new ASN1InputStream(bis);
                    DERObject o = ais.readObject();
                    tmp.addElement(X509CertificateStructure.getInstance(o));
                    if (bis.available() > 0) {
                        throw new IllegalArgumentException(
                                "Sorry, there is garbage data left after the certificate");
                    }
                }
                certs = new X509CertificateStructure[tmp.size()];
                for (int i = 0; i < tmp.size(); i++) {
                    certs[i] = (X509CertificateStructure) tmp.elementAt(i);
                }

                tlsClient.enableClientAuthentication(new Certificate(certs), createKey(key.getEncoded()));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        handler.setSendCertificate(isCertificateRequired());
        handler.setKeyManagers(keyManagers);
        handler.setTrustManagers(trustManagers);
    } catch (Exception e) {
        e.printStackTrace();
    }

    /*
     try
     {
    KeyManager keyManagers[] = null;
    TrustManager trustManagers[] = null;
            
    if (getKeyFile() != null)
    {
        KeyStore ksKeys = KeyStore.getInstance(getKeyFileType());
        ksKeys.load(new FileInputStream(getKeyFile()), getKeyPassword().toCharArray());
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
        kmf.init(ksKeys, getKeyPassword().toCharArray());
                
        keyManagers = kmf.getKeyManagers();
    }
            
    if (getCaFile() != null)
    {
        KeyStore caKeys = KeyStore.getInstance(getCaFileType());
        caKeys.load(new FileInputStream(getCaFile()), getCaPassword().toCharArray());
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
        tmf.init(caKeys);
                
        trustManagers = tmf.getTrustManagers();
    }
    else 
    {
        if (getTrustAll().booleanValue()) 
        {
            trustManagers = new TrustManager[]{ new NoopX509TrustManager() };
        }
    }
     }
     catch (Exception e)
     {
    throw new RadiusException(e);
     }
     */
}

From source file:org.italiangrid.voms.asn1.VOMSACUtils.java

License:Apache License

/**
 * Deserializes the VOMS ACCerts extension
 * //from   w w  w.  jav a2s.c om
 * @param ac
 *          the VOMS {@link X509AttributeCertificateHolder}
 * @return the parsed array of {@link X509Certificate}
 */
private static X509Certificate[] deserializeACCerts(X509AttributeCertificateHolder ac) {

    List<X509Certificate> certs = new ArrayList<X509Certificate>();

    X509Extension e = ac.getExtension(VOMS_CERTS_OID);

    if (e == null)
        return null;

    ASN1Sequence certSeq = (ASN1Sequence) e.getParsedValue();
    if (certSeq.size() != 1)
        raiseACNonConformantError("unsupported accerts format.");

    // Down one level
    certSeq = (ASN1Sequence) certSeq.getObjectAt(0);

    @SuppressWarnings("unchecked")
    Enumeration<DERSequence> encodedCerts = certSeq.getObjects();

    CertificateFactory cf = null;

    try {
        cf = CertificateFactory.getInstance("X.509", BouncyCastleProvider.PROVIDER_NAME);
    } catch (Exception ex) {
        throw new VOMSError("Certificate factory creation error: " + ex.getMessage(), ex);
    }

    while (encodedCerts.hasMoreElements()) {

        DERSequence s = encodedCerts.nextElement();
        X509CertificateObject certObj = null;
        byte[] certData = null;
        X509Certificate theCert = null;

        try {

            certObj = new X509CertificateObject(
                    X509CertificateStructure.getInstance(ASN1Sequence.getInstance(s)));
            certData = certObj.getEncoded();
            theCert = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certData));

        } catch (CertificateParsingException ex) {
            throw new VOMSError("Certificate parsing error: " + ex.getMessage(), ex);
        } catch (CertificateEncodingException ex) {
            throw new VOMSError("Certificate encoding error: " + ex.getMessage(), ex);
        } catch (CertificateException ex) {
            throw new VOMSError("Error generating certificate from parsed data: " + ex.getMessage(), ex);
        }

        certs.add(theCert);
    }

    return certs.toArray(new X509Certificate[certs.size()]);
}

From source file:org.mailster.core.crypto.CertificateUtilities.java

License:Open Source License

public static X509Extensions getExtensions(X509Certificate cert) throws Exception {
    ByteArrayInputStream bis = new ByteArrayInputStream(cert.getEncoded());
    ASN1InputStream ais = new ASN1InputStream(bis);
    DERObject o = ais.readObject();// w  w w.  j  a  v a 2 s . c  o  m
    X509CertificateStructure struct = X509CertificateStructure.getInstance(o);

    return struct.getTBSCertificate().getExtensions();
}