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:ru.jts.gameserver.network.crypt.CryptEngine.java

License:Apache License

public byte[] decrypt(byte[] data, byte[] key, int padding) {
    try {/*from www  .j a  va 2 s .c  o  m*/
        Cipher rsa = Cipher.getInstance("Blowfish/ECB/NoPadding", BouncyCastleProvider.PROVIDER_NAME);
        SecretKeySpec keySpec = new SecretKeySpec(key, "Blowfish");
        rsa.init(Cipher.DECRYPT_MODE, keySpec);
        for (int i = 0; i < data.length; i += BLOCK_SIZE) {
            rsa.doFinal(data, i, BLOCK_SIZE, data, i);
            if (i > 0) {
                for (int j = i; j < i + BLOCK_SIZE; j++) {
                    data[j] ^= data[j - BLOCK_SIZE];
                }
            }
        }
        if (padding == RANDOM_BYTES_MODE) {
            data = removeRandomBytesAndCheckMagic(data);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return data;
}

From source file:sapotero.rxtest.services.MainService.java

private void checkPin(String password) {
    aliases(KeyStoreType.currentType(), ProviderType.currentProviderType());

    Timber.tag(TAG).d("aliasesList, %s", aliasesList);

    Observable.just(password).subscribeOn(Schedulers.io()).observeOn(Schedulers.computation())
            .subscribe(data -> {/*from w ww  .ja  v a 2 s  . c  om*/

                if (aliasesList.size() > 0) {
                    EventBus.getDefault().post(new AuthServiceAuthEvent(aliasesList.toString()));
                    ContainerAdapter adapter = new ContainerAdapter(aliasesList.get(0), null,
                            aliasesList.get(0), null);

                    adapter.setProviderType(ProviderType.currentProviderType());
                    adapter.setClientPassword(password.toCharArray());
                    adapter.setResources(getResources());

                    final String trustStorePath = this.getApplicationInfo().dataDir + File.separator
                            + BKSTrustStore.STORAGE_DIRECTORY + File.separator
                            + BKSTrustStore.STORAGE_FILE_TRUST;

                    Timber.e("DecisionResponce trust store: " + trustStorePath);

                    adapter.setTrustStoreProvider(BouncyCastleProvider.PROVIDER_NAME);
                    adapter.setTrustStoreType(BKSTrustStore.STORAGE_TYPE);

                    try {
                        adapter.setTrustStoreStream(new FileInputStream(trustStorePath));
                    } catch (FileNotFoundException e) {
                        Timber.e(e);
                    }
                    adapter.setTrustStorePassword(BKSTrustStore.STORAGE_PASSWORD);

                    PinCheck pinCheck = new PinCheck(adapter);
                    Boolean pinValid = pinCheck.check();

                    if (pinValid) {
                        CMSSignExample sign = new CMSSignExample(true, adapter);
                        try {
                            sign.getResult(null);
                        } catch (Exception e) {
                            Timber.e(e);
                        }

                        byte[] signature = sign.getSignature();
                        Encoder enc = new Encoder();
                        Timber.tag("CRT_BASE64").d(enc.encode(signature));

                        SIGN = enc.encode(signature);

                        settings.setSign(SIGN);
                        settings.setSignedWithDc(true);
                        settings.setPin(password);

                        dataLoaderInterface.tryToSignWithDc(SIGN);

                        //
                    } else {
                        EventBus.getDefault().post(new StepperDcCheckFailEvent("Pin is invalid"));
                    }
                } else {
                    settings.setPin("");
                    EventBus.getDefault().post(
                            new StepperDcCheckFailEvent("!  SD "));
                }

            }, Timber::e);
}

From source file:sapotero.rxtest.services.MainService.java

private void getSign(String password) throws Exception {

    ContainerAdapter adapter = new ContainerAdapter(aliasesList.get(0), null, aliasesList.get(0), null);

    adapter.setProviderType(ProviderType.currentProviderType());
    adapter.setClientPassword(password.toCharArray());
    adapter.setResources(getResources());

    final String trustStorePath = this.getApplicationInfo().dataDir + File.separator
            + BKSTrustStore.STORAGE_DIRECTORY + File.separator + BKSTrustStore.STORAGE_FILE_TRUST;

    adapter.setTrustStoreProvider(BouncyCastleProvider.PROVIDER_NAME);
    adapter.setTrustStoreType(BKSTrustStore.STORAGE_TYPE);

    adapter.setTrustStoreStream(new FileInputStream(trustStorePath));
    adapter.setTrustStorePassword(BKSTrustStore.STORAGE_PASSWORD);

    PinCheck pinCheck = new PinCheck(adapter);
    Boolean pinValid = pinCheck.check();

    if (pinValid) {
        CMSSign sign = new CMSSign(true, adapter, null);
        sign.getResult(null);//from  w  w w.  j a  v a  2 s.  c o  m

        byte[] signature = sign.getSignature();
        Encoder enc = new Encoder();
        Timber.tag("CRT_BASE64").d(enc.encode(signature));

        EventBus.getDefault().post(new SignDataResultEvent(enc.encode(signature)));

    } else {
        EventBus.getDefault().post(new SignDataWrongPinEvent("Pin is invalid"));
    }
}

From source file:sapotero.rxtest.services.MainService.java

public static String getFakeSign(String password, File file) throws Exception {

    ContainerAdapter adapter = new ContainerAdapter(aliasesList.get(0), null, aliasesList.get(0), null);

    adapter.setProviderType(ProviderType.currentProviderType());
    adapter.setClientPassword(password.toCharArray());
    adapter.setResources(EsdApplication.getApplication().getApplicationContext().getResources());

    String newtrustStorePath = EsdApplication.getApplication().getApplicationContext()
            .getApplicationInfo().dataDir + File.separator + BKSTrustStore.STORAGE_DIRECTORY + File.separator
            + BKSTrustStore.STORAGE_FILE_TRUST;

    adapter.setTrustStoreProvider(BouncyCastleProvider.PROVIDER_NAME);
    adapter.setTrustStoreType(BKSTrustStore.STORAGE_TYPE);

    adapter.setTrustStoreStream(new FileInputStream(newtrustStorePath));
    adapter.setTrustStorePassword(BKSTrustStore.STORAGE_PASSWORD);

    PinCheck pinCheck = new PinCheck(adapter);
    Boolean pinValid = pinCheck.check();

    String result = "";

    if (pinValid) {
        CMSSign sign = new CMSSign(true, adapter, file);
        sign.getResult(null);/*from  w  ww . j a va 2 s  . c om*/

        byte[] signature = sign.getSignature();
        Encoder enc = new Encoder();
        result = enc.encode(signature);
    }

    return result;

}

From source file:sernet.verinice.encryption.test.CryptoTest.java

License:Open Source License

X509Certificate generateCertificate(String dn, KeyPair pair, int days)
        throws GeneralSecurityException, IOException {
    PublicKey publicKey = pair.getPublic();
    PrivateKey privateKey = pair.getPrivate();
    if (publicKey instanceof RSAPublicKey) {
        RSAPublicKey rsaPk = (RSAPublicKey) publicKey;
        RSAPublicKeySpec rsaPkSpec = new RSAPublicKeySpec(rsaPk.getModulus(), rsaPk.getPublicExponent());
        try {//from ww  w.  j a  v  a2  s  . c  o  m
            publicKey = KeyFactory.getInstance("RSA").generatePublic(rsaPkSpec);
        } catch (InvalidKeySpecException e) {
            publicKey = pair.getPublic();
        }
    }
    if (privateKey instanceof RSAPrivateKey) {
        RSAPrivateKey rsaPk = (RSAPrivateKey) privateKey;
        RSAPrivateKeySpec rsaPkSpec = new RSAPrivateKeySpec(rsaPk.getModulus(), rsaPk.getPrivateExponent());
        try {
            privateKey = KeyFactory.getInstance("RSA").generatePrivate(rsaPkSpec);
        } catch (InvalidKeySpecException e) {
            privateKey = pair.getPrivate();
        }
    }

    X509V3CertificateGenerator certGen = new X509V3CertificateGenerator();
    String commonName = "CN=" + dn + ", OU=None, O=None L=None, C=None";
    X500Principal dnName = new X500Principal(commonName);
    certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
    certGen.setIssuerDN(dnName);
    certGen.addExtension(X509Extensions.BasicConstraints, true, new BasicConstraints(true));
    Calendar cal = Calendar.getInstance();
    certGen.setNotBefore(cal.getTime());
    cal.add(Calendar.YEAR, 5);
    certGen.setNotAfter(cal.getTime());
    certGen.setSubjectDN(dnName);
    certGen.setPublicKey(publicKey);
    certGen.setSignatureAlgorithm("MD5WithRSA");
    return certGen.generate(privateKey, BouncyCastleProvider.PROVIDER_NAME);
}

From source file:sernet.verinice.encryption.test.CryptoTest.java

License:Open Source License

KeyPair generateKeyPair() throws NoSuchAlgorithmException, NoSuchProviderException {
    KeyPairGenerator keyGen;//from   w w w. ja  v  a  2s .  c  o m
    keyGen = org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator.getInstance("RSA",
            BouncyCastleProvider.PROVIDER_NAME);
    keyGen.initialize(1024, new SecureRandom());
    return keyGen.generateKeyPair();
}

From source file:test.be.fedict.eid.applet.ChannelBindingConfigServlet.java

License:Open Source License

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Provider provider = null;//from  w  w  w  .ja  v  a 2s  . co m
    if (null == Security.getProvider(BouncyCastleProvider.PROVIDER_NAME)) {
        provider = new BouncyCastleProvider();
        Security.addProvider(provider);
    }
    String serverCertificatePem = request.getParameter("serverCertificate");
    PEMReader pemReader = new PEMReader(new StringReader(serverCertificatePem));
    Object object = pemReader.readObject();
    pemReader.close();
    if (object instanceof X509Certificate) {
        X509Certificate serverCertificate = (X509Certificate) object;
        HttpSession httpSession = request.getSession();
        httpSession.setAttribute("test.be.fedict.eid.applet.model.ChannelBindingServiceBean.serverCertificate",
                serverCertificate);
    }
    response.sendRedirect("channel-binding.jsp");
    if (null != provider) {
        Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
    }
}

From source file:test.be.fedict.eid.applet.model.BouncyCastleService.java

License:Open Source License

@PostConstruct
public void init() {
    if (null == Security.getProvider(BouncyCastleProvider.PROVIDER_NAME)) {
        this.provider = new BouncyCastleProvider();
        Security.addProvider(this.provider);
    }/*from   w  w w . ja  v  a2s  . co  m*/
}

From source file:test.be.fedict.eid.applet.model.BouncyCastleService.java

License:Open Source License

@PreDestroy
public void stop() {
    if (null != this.provider) {
        Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
        this.provider = null;
    }/*from   w w w.  j a va2s .  com*/
}

From source file:test.be.fedict.eid.applet.PkiTestUtils.java

License:Open Source License

public static OCSPResp createOcspResp(X509Certificate certificate, boolean revoked,
        X509Certificate issuerCertificate, X509Certificate ocspResponderCertificate,
        PrivateKey ocspResponderPrivateKey, String signatureAlgorithm) throws Exception {
    // request//from  ww w .  j  a v  a  2 s  .c o  m
    OCSPReqGenerator ocspReqGenerator = new OCSPReqGenerator();
    CertificateID certId = new CertificateID(CertificateID.HASH_SHA1, issuerCertificate,
            certificate.getSerialNumber());
    ocspReqGenerator.addRequest(certId);
    OCSPReq ocspReq = ocspReqGenerator.generate();

    BasicOCSPRespGenerator basicOCSPRespGenerator = new BasicOCSPRespGenerator(
            ocspResponderCertificate.getPublicKey());

    // request processing
    Req[] requestList = ocspReq.getRequestList();
    for (Req ocspRequest : requestList) {
        CertificateID certificateID = ocspRequest.getCertID();
        CertificateStatus certificateStatus;
        if (revoked) {
            certificateStatus = new RevokedStatus(new Date(), CRLReason.unspecified);
        } else {
            certificateStatus = CertificateStatus.GOOD;
        }
        basicOCSPRespGenerator.addResponse(certificateID, certificateStatus);
    }

    // basic response generation
    X509Certificate[] chain = null;
    if (!ocspResponderCertificate.equals(issuerCertificate)) {
        chain = new X509Certificate[] { ocspResponderCertificate, issuerCertificate };
    }

    BasicOCSPResp basicOCSPResp = basicOCSPRespGenerator.generate(signatureAlgorithm, ocspResponderPrivateKey,
            chain, new Date(), BouncyCastleProvider.PROVIDER_NAME);

    // response generation
    OCSPRespGenerator ocspRespGenerator = new OCSPRespGenerator();
    OCSPResp ocspResp = ocspRespGenerator.generate(OCSPRespGenerator.SUCCESSFUL, basicOCSPResp);

    return ocspResp;
}