List of usage examples for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider
public BouncyCastleProvider()
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(); } }