Example usage for org.bouncycastle.asn1 ASN1Encoding DER

List of usage examples for org.bouncycastle.asn1 ASN1Encoding DER

Introduction

In this page you can find the example usage for org.bouncycastle.asn1 ASN1Encoding DER.

Prototype

String DER

To view the source code for org.bouncycastle.asn1 ASN1Encoding DER.

Click Source Link

Document

DER - distinguished encoding rules.

Usage

From source file:bluecrystal.bcdeps.helper.DerEncoder.java

License:Open Source License

public static byte[] encodeDigest(DigestInfo dInfo) throws IOException {
    return dInfo.getEncoded(ASN1Encoding.DER);
}

From source file:com.aqnote.shared.cryptology.cert.io.PKCSTransformer.java

License:Open Source License

public static String getP12FileString(PKCS12PfxPdu pfxPdu, char[] passwd) throws Exception {
    return Base64.encodeBase64String(pfxPdu.getEncoded(ASN1Encoding.DER));
}

From source file:com.aqnote.shared.cryptology.cert.io.PKCSWriter.java

License:Open Source License

public static void storePKCS12File(X509Certificate[] chain, PrivateKey key, char[] pwd, OutputStream ostream)
        throws Exception {
    if (chain == null || key == null || ostream == null)
        return;/*from   w ww .j ava  2s.c  o  m*/

    PKCS12SafeBag[] certSafeBags = new PKCS12SafeBag[chain.length];
    for (int i = chain.length - 1; i > 0; i--) {
        PKCS12SafeBagBuilder safeBagBuilder = new JcaPKCS12SafeBagBuilder(chain[i]);
        safeBagBuilder.addBagAttribute(PKCS12SafeBag.friendlyNameAttribute,
                new DERBMPString(CertificateUtil.getSubjectCN(chain[i])));
        certSafeBags[i] = safeBagBuilder.build();
    }

    X509Certificate cert = chain[0];
    String subjectCN = CertificateUtil.getSubjectCN(cert);
    SubjectKeyIdentifier pubKeyId = new JcaX509ExtensionUtils().createSubjectKeyIdentifier(cert.getPublicKey());

    PKCS12SafeBagBuilder safeBagBuilder = new JcaPKCS12SafeBagBuilder(cert);
    safeBagBuilder.addBagAttribute(PKCS12SafeBag.friendlyNameAttribute, new DERBMPString(subjectCN));
    safeBagBuilder.addBagAttribute(PKCS12SafeBag.localKeyIdAttribute, pubKeyId);
    certSafeBags[0] = safeBagBuilder.build();

    PKCS12PfxPduBuilder pfxPduBuilder = new PKCS12PfxPduBuilder();
    // desEDE/id_aes256_CBC
    OutputEncryptor oKeyEncryptor = new JcePKCSPBEOutputEncryptorBuilder(pbeWithSHAAnd3_KeyTripleDES_CBC)
            .setProvider(JCE_PROVIDER).build(pwd);
    PKCS12SafeBagBuilder keySafeBagBuilder = new JcaPKCS12SafeBagBuilder(key, oKeyEncryptor);
    keySafeBagBuilder.addBagAttribute(PKCS12SafeBag.friendlyNameAttribute, new DERBMPString(subjectCN));
    keySafeBagBuilder.addBagAttribute(PKCS12SafeBag.localKeyIdAttribute, pubKeyId);
    pfxPduBuilder.addData(keySafeBagBuilder.build());

    OutputEncryptor oCertEncryptor = new JcePKCSPBEOutputEncryptorBuilder(pbeWithSHAAnd40BitRC2_CBC)
            .setProvider(JCE_PROVIDER).build(pwd);
    pfxPduBuilder.addEncryptedData(oCertEncryptor, certSafeBags);

    // PKCS12PfxPdu pfxPdu = pfxPduBuilder.build(new JcePKCS12MacCalculatorBuilder(idSHA1), pwd);
    BcPKCS12MacCalculatorBuilder builder = new BcPKCS12MacCalculatorBuilder(new SHA1Digest(),
            new AlgorithmIdentifier(OIWObjectIdentifiers.idSHA1, DERNull.INSTANCE));
    PKCS12PfxPdu pfxPdu = pfxPduBuilder.build(builder, pwd);

    ostream.write(pfxPdu.getEncoded(ASN1Encoding.DER));
    ostream.close();
}

From source file:com.aqnote.shared.cryptology.cert.io.PKCSWriter.java

License:Open Source License

public static void storePKCS12File(PKCS12PfxPdu pfxPdu, OutputStream ostream) throws Exception {
    if (pfxPdu == null || ostream == null)
        return;/*from  w ww. j a v a2s .c o  m*/

    ostream.write(pfxPdu.getEncoded(ASN1Encoding.DER));
    ostream.close();
}

From source file:com.aqnote.shared.encrypt.cert.bc.cover.PKCSWriter.java

License:Open Source License

public static void storePKCS12File(X509Certificate[] chain, PrivateKey key, char[] pwd, OutputStream ostream)
        throws Exception {
    if (chain == null || key == null || ostream == null)
        return;/*from w w w. jav a2  s.c  o m*/

    PKCS12SafeBag[] certSafeBags = new PKCS12SafeBag[chain.length];
    for (int i = chain.length - 1; i > 0; i--) {
        PKCS12SafeBagBuilder safeBagBuilder = new JcaPKCS12SafeBagBuilder(chain[i]);
        safeBagBuilder.addBagAttribute(PKCS12SafeBag.friendlyNameAttribute,
                new DERBMPString(CertificateUtil.getSubjectCN(chain[i])));
        certSafeBags[i] = safeBagBuilder.build();
    }

    X509Certificate cert = (X509Certificate) chain[0];
    String subjectCN = CertificateUtil.getSubjectCN(cert);
    SubjectKeyIdentifier pubKeyId = new JcaX509ExtensionUtils().createSubjectKeyIdentifier(cert.getPublicKey());

    PKCS12SafeBagBuilder safeBagBuilder = new JcaPKCS12SafeBagBuilder(cert);
    safeBagBuilder.addBagAttribute(PKCS12SafeBag.friendlyNameAttribute, new DERBMPString(subjectCN));
    safeBagBuilder.addBagAttribute(PKCS12SafeBag.localKeyIdAttribute, pubKeyId);
    certSafeBags[0] = safeBagBuilder.build();

    PKCS12PfxPduBuilder pfxPduBuilder = new PKCS12PfxPduBuilder();
    // desEDE/id_aes256_CBC
    OutputEncryptor oKeyEncryptor = new JcePKCSPBEOutputEncryptorBuilder(pbeWithSHAAnd3_KeyTripleDES_CBC)
            .setProvider(JCE_PROVIDER).build(pwd);
    PKCS12SafeBagBuilder keySafeBagBuilder = new JcaPKCS12SafeBagBuilder(key, oKeyEncryptor);
    keySafeBagBuilder.addBagAttribute(PKCS12SafeBag.friendlyNameAttribute, new DERBMPString(subjectCN));
    keySafeBagBuilder.addBagAttribute(PKCS12SafeBag.localKeyIdAttribute, pubKeyId);
    pfxPduBuilder.addData(keySafeBagBuilder.build());

    OutputEncryptor oCertEncryptor = new JcePKCSPBEOutputEncryptorBuilder(pbeWithSHAAnd40BitRC2_CBC)
            .setProvider(JCE_PROVIDER).build(pwd);
    pfxPduBuilder.addEncryptedData(oCertEncryptor, certSafeBags);

    // PKCS12PfxPdu pfxPdu = pfxPduBuilder.build(new
    // JcePKCS12MacCalculatorBuilder(idSHA1), pwd);
    PKCS12PfxPdu pfxPdu = pfxPduBuilder.build(new BcPKCS12MacCalculatorBuilder(), pwd);

    ostream.write(pfxPdu.getEncoded(ASN1Encoding.DER));
    ostream.close();
}

From source file:com.guardtime.asn1.Accuracy.java

License:Apache License

/**
 * Returns the DER representation of the {@code Accuracy}.
 *
 * @return a DER byte array, or {@code null} on error.
 *//* w  ww. j  av  a 2 s .  co  m*/
public byte[] getDerEncoded() {
    try {
        return accuracy.getEncoded(ASN1Encoding.DER);
    } catch (IOException e) {
        return null;
    }
}

From source file:com.guardtime.asn1.CertToken.java

License:Apache License

/**
 * Returns the DER representation of the {@code CertToken}.
 *
 * @return a DER byte array, or {@code null} on error.
 */// w w w.j  a  va  2s .  c  o  m
public byte[] getDerEncoded() {
    try {
        return certToken.getEncoded(ASN1Encoding.DER);
    } catch (IOException e) {
        return null;
    }
}

From source file:com.guardtime.asn1.CertToken.java

License:Apache License

/**
 * Class constructor./*ww w.  java  2  s. co  m*/
 *
 * @param obj ASN.1 representation of certification token.
 */
CertToken(ASN1Encodable obj) throws Asn1FormatException {
    try {
        certToken = Asn1CertToken.getInstance(obj);

        version = certToken.getVersion().getValue().intValue();
        if (version != VERSION) {
            throw new Asn1FormatException("invalid cert token version: " + version);
        }

        history = certToken.getHistory().getOctets();

        publishedData = new PublishedData(certToken.getPublishedData());

        ASN1Set pubRefs = certToken.getPubReference();
        if (pubRefs != null) {
            pubReferences = new ArrayList();
            Enumeration e = pubRefs.getObjects();
            while (e.hasMoreElements()) {
                Object nextElement = e.nextElement();
                if (!(nextElement instanceof DERNull)) {
                    pubReferences.add(((ASN1OctetString) nextElement).getOctets());
                }
            }
        }

        Extensions exts = certToken.getExtensions();
        if (exts != null) {
            // check for critical extensions
            Asn1Util.checkExtensions(exts);
            extensions = exts.getEncoded(ASN1Encoding.DER);
        }
    } catch (Asn1FormatException e) {
        throw e;
    } catch (Exception e) {
        throw new Asn1FormatException("cert token has invalid format", e);
    }
}

From source file:com.guardtime.asn1.CertTokenRequest.java

License:Apache License

/**
 * Returns the DER representation of the {@code CertTokenRequest}.
 *
 * @return a DER byte array, or {@code null} on error.
 *//*from www .j a  v  a  2 s.  c om*/
public byte[] getDerEncoded() {
    try {
        return request.getEncoded(ASN1Encoding.DER);
    } catch (IOException e) {
        return null;
    }
}

From source file:com.guardtime.asn1.CertTokenResponse.java

License:Apache License

/**
 * Returns the DER representation of the {@code CertTokenResponse}.
 *
 * @return a DER byte array, or {@code null} on error.
 *///from  w ww . j  a v a2 s  . com
public byte[] getDerEncoded() {
    try {
        return response.getEncoded(ASN1Encoding.DER);
    } catch (IOException e) {
        return null;
    }
}