Example usage for org.bouncycastle.cert.jcajce JcaX509v1CertificateBuilder JcaX509v1CertificateBuilder

List of usage examples for org.bouncycastle.cert.jcajce JcaX509v1CertificateBuilder JcaX509v1CertificateBuilder

Introduction

In this page you can find the example usage for org.bouncycastle.cert.jcajce JcaX509v1CertificateBuilder JcaX509v1CertificateBuilder.

Prototype

public JcaX509v1CertificateBuilder(X500Principal issuer, BigInteger serial, Date notBefore, Date notAfter,
        X500Principal subject, PublicKey publicKey) 

Source Link

Document

Initialise the builder using X500Principal objects and a PublicKey.

Usage

From source file:CA.java

License:Apache License

private static Certificate build(ContentSigner sigGen, X500Principal issuer, BigInteger serial, Date notBefore,
        Date notAfter, X500Principal subject, PublicKey publicKey) throws Exception {
    X509v1CertificateBuilder certBuilder = new JcaX509v1CertificateBuilder(issuer, serial, notBefore, notAfter,
            subject, publicKey);//w ww .ja va 2  s  .  c om

    X509CertificateHolder certHolder = certBuilder.build(sigGen);
    JcaX509CertificateConverter converter = new JcaX509CertificateConverter();
    Certificate cert = null;
    cert = converter.getCertificate(certHolder);
    return cert;
}

From source file:ataraxis.crypt.UBERKeyStoreHandlerTest.java

License:Open Source License

public static X509Certificate generateX509V3Cert(KeyPair keyPair) throws Exception {
    X509v1CertificateBuilder certBldr = new JcaX509v1CertificateBuilder(new X500Name("CN=Root"),
            BigInteger.valueOf(1), new Date(System.currentTimeMillis()),
            new Date(System.currentTimeMillis() + 1000 * 3600 * 24), new X500Name("CN=Root"),
            keyPair.getPublic());//from   w w w  .ja va  2s .c  o  m

    ContentSigner signer = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC")
            .build(keyPair.getPrivate());

    return new JcaX509CertificateConverter().setProvider("BC").getCertificate(certBldr.build(signer));
}

From source file:co.runrightfast.core.security.cert.X509V1CertRequest.java

License:Apache License

public X509v1CertificateBuilder x509v1CertificateBuilder() {
    return new JcaX509v1CertificateBuilder(issuerPrincipal, serialNumber, Date.from(notBefore),
            Date.from(notAfter), subjectPrincipal, subjectPublicKey);
}

From source file:com.aaasec.sigserv.cscommon.EntityKeyStore.java

License:EUPL

public X509Certificate generateV1Certificate(KeyPair pair)
        throws OperatorCreationException, IOException, CertificateException, KeyStoreException {

    BigInteger certSerial = BigInteger.valueOf(System.currentTimeMillis());
    X500Name issuerDN = new X500Name("CN=" + subject);
    X500Name subjectDN = new X500Name("CN=" + subject);
    Calendar startTime = Calendar.getInstance();
    startTime.setTime(new Date());
    startTime.add(Calendar.HOUR, -2);
    Calendar expiryTime = Calendar.getInstance();
    expiryTime.setTime(new Date());
    expiryTime.add(Calendar.YEAR, 10);
    Date notBefore = startTime.getTime();
    Date notAfter = expiryTime.getTime();
    PublicKey pubKey = (pair.getPublic());
    X509v1CertificateBuilder certGen = new JcaX509v1CertificateBuilder(issuerDN, certSerial, notBefore,
            notAfter, subjectDN, pubKey);

    ContentSigner signer = new JcaContentSignerBuilder("SHA1withRSA").build(pair.getPrivate());
    byte[] encoded = certGen.build(signer).getEncoded();
    CertificateFactory fact = CertificateFactory.getInstance("X.509");
    InputStream is = new ByteArrayInputStream(encoded);
    X509Certificate generateCertificate = (X509Certificate) fact.generateCertificate(is);
    is.close();//  ww w .j av a  2s .  c  om

    // set the CA cert as trusted root
    X509Certificate[] chain = new X509Certificate[] { generateCertificate };
    addToKeyStore(pair, chain, ROOT);

    String certStr = generateCertificate.toString();

    return generateCertificate;
}

From source file:com.aaasec.sigserv.cssigapp.KeyStoreFactory.java

License:EUPL

public X509Certificate generateV1Certificate(String subject, char[] ksPass, KeyStore keyStore)
        throws OperatorCreationException, IOException, CertificateException, KeyStoreException,
        NoSuchAlgorithmException {
    KeyPair pair = generateKeyPair();

    BigInteger certSerial = BigInteger.valueOf(System.currentTimeMillis());
    X500Name issuerDN = new X500Name("CN=" + subject);
    X500Name subjectDN = new X500Name("CN=" + subject);
    Date notBefore = new Date(System.currentTimeMillis() - 10000);
    Date notAfter = new Date(System.currentTimeMillis() + 10000);
    PublicKey pubKey = (pair.getPublic());
    X509v1CertificateBuilder certGen = new JcaX509v1CertificateBuilder(issuerDN, certSerial, notBefore,
            notAfter, subjectDN, pubKey);

    ContentSigner signer = new JcaContentSignerBuilder("SHA1withRSA").build(pair.getPrivate());
    byte[] encoded = certGen.build(signer).getEncoded();
    CertificateFactory fact = CertificateFactory.getInstance("X.509");
    InputStream is = new ByteArrayInputStream(encoded);
    X509Certificate generateCertificate = (X509Certificate) fact.generateCertificate(is);
    is.close();/*from w ww  .  j  av a2  s.co m*/

    // set the CA cert as trusted root
    X509Certificate[] chain = new X509Certificate[] { generateCertificate };
    addToKeyStore(pair, chain, K_NAME, keyStore, ksPass);

    String certStr = generateCertificate.toString();

    return generateCertificate;
}

From source file:com.aaasec.sigserv.csspsupport.models.SupportModel.java

License:EUPL

public static X509Certificate generateV1Certificate(String subject, KeyPair pair, SigAlgorithms algorithm)
        throws OperatorCreationException, IOException, CertificateException, KeyStoreException,
        NoSuchAlgorithmException {

    BigInteger certSerial = BigInteger.valueOf(System.currentTimeMillis());
    X500Name issuerDN = new X500Name("CN=" + subject);
    X500Name subjectDN = new X500Name("CN=" + subject);
    Calendar startTime = Calendar.getInstance();
    startTime.setTime(new Date());
    startTime.add(Calendar.HOUR, -2);
    Calendar expiryTime = Calendar.getInstance();
    expiryTime.setTime(new Date());
    expiryTime.add(Calendar.YEAR, 10);
    Date notBefore = startTime.getTime();
    Date notAfter = expiryTime.getTime();
    PublicKey pubKey = (pair.getPublic());
    X509v1CertificateBuilder certGen = new JcaX509v1CertificateBuilder(issuerDN, certSerial, notBefore,
            notAfter, subjectDN, pubKey);

    ContentSigner signer = new JcaContentSignerBuilder(algorithm.getDummyCertAlgo()).build(pair.getPrivate());
    byte[] encoded = certGen.build(signer).getEncoded();
    CertificateFactory fact = CertificateFactory.getInstance("X.509");
    InputStream is = new ByteArrayInputStream(encoded);
    X509Certificate generateCertificate = (X509Certificate) fact.generateCertificate(is);
    is.close();/*from  w w w  .j ava 2  s .c  o m*/

    String certStr = generateCertificate.toString();
    //        strb.append("Certificate:\n").append(certStr).append("\n");

    return generateCertificate;
}

From source file:com.aqnote.shared.cryptology.cert.gen.SingleX509V1Creator.java

License:Open Source License

public static X509Certificate generate(CertObject certObject, KeyPair keyPair) throws CertException {

    try {/*w w  w  .  j  a  v a 2 s.  c o  m*/
        X509v1CertificateBuilder certBuilder = new JcaX509v1CertificateBuilder(
                new X500Name(certObject.getIssuer()), BigInteger.valueOf(System.currentTimeMillis()),
                certObject.getNotBefore(), certObject.getNotAfter(), new X500Name(certObject.getSubject()),
                keyPair.getPublic());

        ContentSigner signer = new JcaContentSignerBuilder(ALG_SIG_SHA256_RSA).setProvider(JCE_PROVIDER)
                .build(keyPair.getPrivate());
        return new JcaX509CertificateConverter().setProvider(JCE_PROVIDER)
                .getCertificate(certBuilder.build(signer));
    } catch (CertificateEncodingException e) {
        throw new CertException(e);
    } catch (IllegalStateException e) {
        throw new CertException(e);
    } catch (OperatorCreationException e) {
        throw new CertException(e);
    } catch (CertificateException e) {
        throw new CertException(e);
    }
}

From source file:com.aqnote.shared.encrypt.cert.gen.SingleX509V1Creator.java

License:Open Source License

public static X509Certificate generate(MadCertificateObject certObject, KeyPair keyPair) throws CertException {

    try {/*ww w .  ja  v a2s .co  m*/
        X509v1CertificateBuilder certBuilder = new JcaX509v1CertificateBuilder(
                new X500Name(certObject.getIssuer()), BigInteger.valueOf(System.currentTimeMillis()),
                certObject.getNotBefore(), certObject.getNotAfter(), new X500Name(certObject.getSubject()),
                keyPair.getPublic());

        ContentSigner signer = new JcaContentSignerBuilder(ALG_SIG_SHA256_RSA).setProvider(JCE_PROVIDER)
                .build(keyPair.getPrivate());
        return new JcaX509CertificateConverter().setProvider(JCE_PROVIDER)
                .getCertificate(certBuilder.build(signer));
    } catch (CertificateEncodingException e) {
        throw new CertException(e);
    } catch (IllegalStateException e) {
        throw new CertException(e);
    } catch (OperatorCreationException e) {
        throw new CertException(e);
    } catch (CertificateException e) {
        throw new CertException(e);
    }
}

From source file:com.helger.security.keystore.KeyStoreHelperTest.java

License:Apache License

private static X509Certificate _createX509V1Certificate(final KeyPair aKeyPair) throws Exception {
    // generate the certificate
    final PublicKey aPublicKey = aKeyPair.getPublic();
    final PrivateKey aPrivateKey = aKeyPair.getPrivate();
    final ContentSigner aContentSigner = new JcaContentSignerBuilder("SHA256WithRSA")
            .setProvider(BouncyCastleProvider.PROVIDER_NAME).build(aPrivateKey);

    final X509CertificateHolder aCertHolder = new JcaX509v1CertificateBuilder(
            new X500Principal("CN=Test Certificate"), BigInteger.valueOf(System.currentTimeMillis()),
            new Date(System.currentTimeMillis() - 50000), new Date(System.currentTimeMillis() + 50000),
            new X500Principal("CN=Test Certificate"), aPublicKey).build(aContentSigner);
    // Convert to JCA X509Certificate
    return new JcaX509CertificateConverter().getCertificate(aCertHolder);
}

From source file:com.helger.xmldsig.XMLDSigCreatorTest.java

License:Apache License

/**
 * Create a new dummy certificate based on the passed key pair
 *
 * @param kp//from   w w w .ja v a  2 s  . co m
 *        KeyPair to use. May not be <code>null</code>.
 * @return A {@link X509Certificate} for further usage
 */
@Nonnull
private X509Certificate _createCert(@Nonnull final KeyPair kp) throws Exception {
    final PublicKey aPublicKey = kp.getPublic();
    final PrivateKey aPrivateKey = kp.getPrivate();
    final ContentSigner aContentSigner = new JcaContentSignerBuilder("SHA1withRSA")
            .setProvider(PBCProvider.getProvider()).build(aPrivateKey);

    // Form yesterday
    final Date aStartDate = new Date(System.currentTimeMillis() - 24 * CGlobal.MILLISECONDS_PER_HOUR);
    // For one year from now
    final Date aEndDate = new Date(System.currentTimeMillis() + 365 * 24 * CGlobal.MILLISECONDS_PER_HOUR);

    final X509v1CertificateBuilder aCertBuilder = new JcaX509v1CertificateBuilder(
            new X500Principal("CN=TestIssuer"), BigInteger.ONE, aStartDate, aEndDate,
            new X500Principal("CN=TestSubject"), aPublicKey);
    final X509CertificateHolder aCertHolder = aCertBuilder.build(aContentSigner);
    // Convert to JCA X509Certificate
    return new JcaX509CertificateConverter().setProvider(PBCProvider.getProvider()).getCertificate(aCertHolder);
}