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

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

Introduction

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

Prototype

String PROVIDER_NAME

To view the source code for org.bouncycastle.jce.provider BouncyCastleProvider PROVIDER_NAME.

Click Source Link

Usage

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

License:Apache License

public static void signManifestFile(final File temporaryPassDirectory, final File manifestJSONFile,
        final PKSigningInformation signingInformation) throws Exception {

    if (temporaryPassDirectory == null || manifestJSONFile == null || signingInformation == null
            || !signingInformation.isValid()) {
        throw new IllegalArgumentException("Null params are not supported");
    }//from  ww  w .j a va  2 s.  c om
    addBCProvider();

    CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
    ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA1withRSA")
            .setProvider(BouncyCastleProvider.PROVIDER_NAME).build(signingInformation.getSigningPrivateKey());

    generator.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(
            new JcaDigestCalculatorProviderBuilder().setProvider(BouncyCastleProvider.PROVIDER_NAME).build())
                    .build(sha1Signer, signingInformation.getSigningCert()));

    List<X509Certificate> certList = new ArrayList<X509Certificate>();
    certList.add(signingInformation.getAppleWWDRCACert());
    certList.add(signingInformation.getSigningCert());

    Store certs = new JcaCertStore(certList);

    generator.addCertificates(certs);

    CMSSignedData sigData = generator.generate(new CMSProcessableFile(manifestJSONFile), false);
    byte[] signedDataBytes = sigData.getEncoded();

    File signatureFile = new File(temporaryPassDirectory.getAbsolutePath() + File.separator + "signature");
    FileOutputStream signatureOutputStream = new FileOutputStream(signatureFile);
    signatureOutputStream.write(signedDataBytes);
    signatureOutputStream.close();
}

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

License:Apache License

public static KeyStore loadPKCS12File(final String filePath, final String password) throws IOException,
        NoSuchAlgorithmException, CertificateException, KeyStoreException, NoSuchProviderException {
    addBCProvider();/*from  w  w w .  ja v  a 2 s  .  c o  m*/
    KeyStore keystore = KeyStore.getInstance("PKCS12", BouncyCastleProvider.PROVIDER_NAME);

    keystore.load(new FileInputStream(filePath), password.toCharArray());
    return keystore;
}

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

License:Apache License

public static X509Certificate loadDERCertificate(final String filePath)
        throws IOException, CertificateException {
    FileInputStream certificateFileInputStream = null;
    try {// ww  w  .ja v  a 2  s  .  c om
        certificateFileInputStream = new FileInputStream(filePath);
        CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509",
                BouncyCastleProvider.PROVIDER_NAME);
        Certificate certificate = certificateFactory.generateCertificate(certificateFileInputStream);
        if (certificate instanceof X509Certificate) {
            return (X509Certificate) certificate;
        }
        throw new IOException("The key from '" + filePath + "' could not be decrypted");
    } catch (IOException ex) {
        throw new IOException("The key from '" + filePath + "' could not be decrypted", ex);
    } catch (NoSuchProviderException ex) {
        throw new IOException("The key from '" + filePath + "' could not be decrypted", ex);
    } finally {
        IOUtils.closeQuietly(certificateFileInputStream);
    }
}

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  a v  a  2s  .  c o  m

}

From source file:de.carne.certmgr.store.provider.bouncycastle.BouncyCastlePKCS10Object.java

License:Open Source License

@Override
public String getSigAlgName() {
    Provider bouncyCastleProvider = Security.getProvider(BouncyCastleProvider.PROVIDER_NAME);
    String sigAlgOID = this.pkcs10Object.getSignatureAlgorithm().getAlgorithm().toString();
    String sigAlgNameKey = "Alg.Alias.Signature." + sigAlgOID;
    String sigAlgName = null;//from w  w  w .  j ava  2  s.c o m

    if (bouncyCastleProvider != null) {
        sigAlgName = bouncyCastleProvider.getProperty(sigAlgNameKey);
    }
    if (sigAlgName == null) {
        for (Provider provider : Security.getProviders()) {
            if (provider.equals(bouncyCastleProvider)) {
                continue;
            }
            sigAlgName = provider.getProperty(sigAlgNameKey);
            if (sigAlgName != null) {
                break;
            }
        }
    }
    return (sigAlgName != null ? sigAlgName : sigAlgOID);
}

From source file:de.carne.certmgr.store.provider.bouncycastle.BouncyCastleStoreProvider.java

License:Open Source License

@Override
protected String getDefaultSecurityProvider() {
    return BouncyCastleProvider.PROVIDER_NAME;
}

From source file:de.carne.certmgr.store.provider.bouncycastle.PKCS12Decoder.java

License:Open Source License

public void decodeKeyBag(PrivateKeyInfo bagValue, Attribute[] bagAttributes) {
    try {/*from w w w  .ja  v  a2  s.com*/
        KeyFactory keyFactory = KeyFactory.getInstance(bagValue.getPrivateKeyAlgorithm().getAlgorithm().getId(),
                BouncyCastleProvider.PROVIDER_NAME);
        PrivateKey privateKey = keyFactory.generatePrivate(new PKCS8EncodedKeySpec(bagValue.getEncoded()));

        for (Attribute bagAttribute : bagAttributes) {
            if (bagAttribute.getAttrType().equals(PKCS12SafeBag.localKeyIdAttribute)) {
                decodeKey(bagAttribute.getAttributeValues()[0], privateKey);
                break;
            }
        }
    } catch (Exception e) {
        LOG.info(e, null, "Unable to decode key data from PKCS#12 bag");
    }
}

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 {/*from   w  ww . j a  v a  2s.  c o  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();
    }
}

From source file:de.loercher.geomodule.commons.SecurityHelper.java

License:Apache License

public String unobfuscateString(String input) {
    StandardPBEStringEncryptor enc = new StandardPBEStringEncryptor();

    enc.setProviderName(BouncyCastleProvider.PROVIDER_NAME);
    enc.setPassword(OBFUSCATION_KEY);//from   ww  w. j  ava2  s  . co m

    return enc.decrypt(input);
}

From source file:de.loercher.geomodule.commons.SecurityHelper.java

License:Apache License

public String obfuscateString(String input) {
    StandardPBEStringEncryptor enc = new StandardPBEStringEncryptor();

    enc.setProviderName(BouncyCastleProvider.PROVIDER_NAME);
    enc.setPassword(OBFUSCATION_KEY);/*from  w ww .  j  a v  a2 s. co m*/

    return enc.encrypt(input);
}