Example usage for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider

List of usage examples for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider

Introduction

In this page you can find the example usage for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider.

Prototype

public BouncyCastleProvider() 

Source Link

Document

Construct a new provider.

Usage

From source file:de.brendamour.jpasskit.server.PKRestletServerResourceFactory.java

License:Apache License

private void loadKeysAndCerts() throws IOException, NoSuchAlgorithmException, CertificateException,
        KeyStoreException, NoSuchProviderException, UnrecoverableKeyException {
    Security.addProvider(new BouncyCastleProvider());

    KeyStore pkcs12KeyStore = readPKCS12File(PKCS12_FILE_PATH, PKCS12_FILE_PASSWORD);
    Enumeration<String> aliases = pkcs12KeyStore.aliases();
    while (aliases.hasMoreElements()) {
        String aliasName = aliases.nextElement();

        Key key = pkcs12KeyStore.getKey(aliasName, PKCS12_FILE_PASSWORD.toCharArray());
        if (key instanceof PrivateKey) {
            signingPrivateKey = (PrivateKey) key;
            Object cert = pkcs12KeyStore.getCertificate(aliasName);
            if (cert instanceof X509Certificate) {
                signingCert = (X509CertificateObject) cert;
                break;
            }//from   ww  w  . j a va2 s  .co m
        }
    }

    appleWWDRCACert = (X509CertificateObject) readKeyPair(APPLE_WWDRCA_CERT_PATH);
}

From source file:de.brendamour.jpasskit.signing.PKFileBasedSigningUtil.java

License:Apache License

private void addBCProvider() {
    if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
        Security.addProvider(new BouncyCastleProvider());
    }/*from  w w  w .j  a va  2s  .c  o  m*/

}

From source file:de.brendamour.jpasskit.signing.PKFileBasedSigningUtilTest.java

License:Apache License

@Test
public void testManifest() throws IOException, Exception {

    Security.addProvider(new BouncyCastleProvider());
    File temporaryPassDir = new File("target/");
    File manifestJSONFile = new File(getPathFromClasspath("pass2.json"));

    PKSigningInformation pkSigningInformation = new PKSigningInformationUtil()
            .loadSigningInformationFromPKCS12AndIntermediateCertificate(keyStorePath, keyStorePassword,
                    appleWWDRCA);/*from ww w .ja v  a 2s  .  co m*/
    PKFileBasedSigningUtil pkSigningUtil = new PKFileBasedSigningUtil(new ObjectMapper());
    pkSigningUtil.signManifestFileAndWriteToDirectory(temporaryPassDir, manifestJSONFile, pkSigningInformation);
}

From source file:de.brendamour.jpasskit.signing.PKFileBasedSigningUtilTest.java

License:Apache License

@Test
public void testPassZipGeneration() throws IOException, Exception {

    Security.addProvider(new BouncyCastleProvider());
    IPKSigningUtil pkSigningUtil = new PKFileBasedSigningUtil(new ObjectMapper());

    ObjectMapper jsonObjectMapper = new ObjectMapper();
    PKPass pass = jsonObjectMapper.readValue(new File(getPathFromClasspath("pass2.json")), PKPass.class);
    pass.setRelevantDate(new Date());
    pass.getBarcodes().get(0).setMessageEncoding(Charset.forName("utf-8"));
    pass.setUserInfo(ImmutableMap.<String, Object>of("name", "John Doe"));

    PKSigningInformation pkSigningInformation = new PKSigningInformationUtil()
            .loadSigningInformationFromPKCS12AndIntermediateCertificate(keyStorePath, keyStorePassword,
                    appleWWDRCA);/*w  ww  .j a va 2  s .c om*/
    PKPassTemplateFolder passTemplate = new PKPassTemplateFolder(getPassFolderPath());
    byte[] signedAndZippedPkPassArchive = pkSigningUtil.createSignedAndZippedPkPassArchive(pass, passTemplate,
            pkSigningInformation);
    ByteArrayInputStream inputStream = new ByteArrayInputStream(signedAndZippedPkPassArchive);

    File passZipFile = new File("target/passZIP.zip");
    if (passZipFile.exists()) {
        passZipFile.delete();
    }
    IOUtils.copy(inputStream, new FileOutputStream(passZipFile));
    Assert.assertTrue(passZipFile.exists());
    Assert.assertTrue(passZipFile.length() > 0);
}

From source file:de.brendamour.jpasskit.signing.PKFileBasedSigningUtilTest.java

License:Apache License

@Test
public void testJson() throws IOException, Exception {
    Security.addProvider(new BouncyCastleProvider());

    PKBarcode barcode = new PKBarcode();
    barcode.setFormat(PKBarcodeFormat.PKBarcodeFormatQR);
    barcode.setMessage("abcdefg");
    barcode.setMessageEncoding(Charset.forName("UTF-8"));

    PKPass pass = new PKPass();
    pass.setBarcodes(Arrays.asList(barcode));
    pass.setPassTypeIdentifier("pti");
    pass.setTeamIdentifier("ti");

    PKSigningInformation pkSigningInformation = new PKSigningInformationUtil()
            .loadSigningInformationFromPKCS12AndIntermediateCertificate(keyStorePath, keyStorePassword,
                    appleWWDRCA);/*from   www . j  a  va  2 s .  c  o  m*/
    byte[] signedAndZippedPkPassArchive = new PKFileBasedSigningUtil(new ObjectMapper())
            .createSignedAndZippedPkPassArchive(pass, new PKPassTemplateFolder(getPassFolderPath()),
                    pkSigningInformation);
    ByteArrayInputStream inputStream = new ByteArrayInputStream(signedAndZippedPkPassArchive);

    File passJsonFile = new File("target/passJson.zip");
    if (passJsonFile.exists()) {
        passJsonFile.delete();
    }
    IOUtils.copy(inputStream, new FileOutputStream(passJsonFile));
    Assert.assertTrue(passJsonFile.exists());
    Assert.assertTrue(passJsonFile.length() > 0);
}

From source file:de.brendamour.jpasskit.signing.PKInMemorySigningUtilTest.java

License:Apache License

@BeforeClass
public void beforeClass() {
    Security.addProvider(new BouncyCastleProvider());

}

From source file:de.brendamour.jpasskit.signing.PKSigningUtil.java

License:Apache License

private static void addBCProvider() {
    if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
        Security.addProvider(new BouncyCastleProvider());
    }/* w ww  .j  av a2  s .c o  m*/

}

From source file:de.brendamour.jpasskit.signing.PKSigningUtilTest.java

License:Apache License

public void testManifest() throws IOException, Exception {

    Security.addProvider(new BouncyCastleProvider());
    File temporaryPassDir = new File("/Users/patrice/Documents/bitzeche/Projects/passkit/");
    File manifestJSONFile = new File(
            "/Users/patrice/Downloads/passbook/Passes/BoardingPass.zip Folder/manifest.json");

    PKSigningInformation pkSigningInformation = PKSigningUtil
            .loadSigningInformationFromPKCS12FileAndIntermediateCertificateFile(keyStorePath, keyStorePassword,
                    appleWWDRCA);//from  w  w w . j  a  v  a2  s.  c  om
    PKSigningUtil.signManifestFile(temporaryPassDir, manifestJSONFile, pkSigningInformation);
}

From source file:de.brendamour.jpasskit.signing.PKSigningUtilTest.java

License:Apache License

public void testPassZipGeneration() throws IOException, Exception {

    Security.addProvider(new BouncyCastleProvider());

    ObjectMapper jsonObjectMapper = new ObjectMapper();
    PKPass pass = jsonObjectMapper.readValue(new File("/Users/patrice/Downloads/passbook/Passes/pass2.json"),
            PKPass.class);
    pass.setRelevantDate(new Date());

    PKSigningInformation pkSigningInformation = PKSigningUtil
            .loadSigningInformationFromPKCS12FileAndIntermediateCertificateFile(keyStorePath, keyStorePassword,
                    appleWWDRCA);//  ww w.jav  a 2  s .c  o  m
    byte[] signedAndZippedPkPassArchive = PKSigningUtil.createSignedAndZippedPkPassArchive(pass,
            "/Users/patrice/Downloads/passbook/Passes/bitzecheCoupons.raw", pkSigningInformation);
    ByteArrayInputStream inputStream = new ByteArrayInputStream(signedAndZippedPkPassArchive);
    IOUtils.copy(inputStream, new FileOutputStream("/Users/patrice/Downloads/pass.zip"));
}

From source file:de.christofreichardt.crypto.schnorrsignature.SignatureUnit.java

@Test
public void skeinDigest() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException,
        InvalidKeyException, SignatureException {
    AbstractTracer tracer = getCurrentTracer();
    tracer.entry("void", this, "skeinDigest()");

    try {//  www .  j a  va2s.co  m
        Security.addProvider(new BouncyCastleProvider());
        java.security.Provider provider = Security.getProvider(de.christofreichardt.crypto.Provider.NAME);
        String algorithmName = provider
                .getProperty("de.christofreichardt.crypto.schnorrsignature.messageDigest", "SHA-256");
        provider.put("de.christofreichardt.crypto.schnorrsignature.messageDigest", "Skein-1024-1024");

        try {
            java.security.KeyPairGenerator keyPairGenerator = java.security.KeyPairGenerator
                    .getInstance(this.keyPairAlgorithmName);
            KeyPair keyPair = keyPairGenerator.generateKeyPair();

            java.security.Signature signature = java.security.Signature
                    .getInstance(this.signatureAlgorithmName);
            signature.initSign(keyPair.getPrivate());
            signature.update(this.msgBytes, 0, this.msgBytes.length);
            byte[] signatureBytes = signature.sign();

            tracer.out().printfIndentln("--- Signature(%d Bytes) ---", signatureBytes.length);
            traceBytes(signatureBytes);

            signature.initVerify(keyPair.getPublic());
            signature.update(this.msgBytes, 0, this.msgBytes.length);
            boolean verified = signature.verify(signatureBytes);

            Assert.assertTrue("Expected a valid signature.", verified);

            signature.initVerify(keyPair.getPublic());
            signature.update(this.spoiledMsgBytes, 0, this.spoiledMsgBytes.length);
            verified = signature.verify(signatureBytes);

            Assert.assertTrue("Expected an invalid signature.", !verified);
        } finally {
            Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
            provider.put("de.christofreichardt.crypto.schnorrsignature.messageDigest", algorithmName);
        }
    } finally {
        tracer.wayout();
    }
}