Example usage for java.security KeyPair getPublic

List of usage examples for java.security KeyPair getPublic

Introduction

In this page you can find the example usage for java.security KeyPair getPublic.

Prototype

public PublicKey getPublic() 

Source Link

Document

Returns a reference to the public key component of this key pair.

Usage

From source file:com.bluepixel.security.manager.Server.java

private void generateKey() {
    try {/*from   w  ww  .ja v  a2  s. co m*/
        KeyPairGenerator keyGen = KeyPairGenerator.getInstance(DEFAULT_ALGORITHM);
        keyGen.initialize(DEFAULT_KEY_LENGTH);
        KeyPair keypair = keyGen.generateKeyPair();
        PublicKey pbKey = keypair.getPublic();
        PrivateKey piKey = keypair.getPrivate();

        publicKey = Base64.encodeWebSafe(pbKey.getEncoded(), false);
        privateKey = Base64.encodeWebSafe(piKey.getEncoded(), false);

        Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

        cipher.init(Cipher.ENCRYPT_MODE, piKey);

        secretKeys = new ConcurrentHashMap<String, String>();
        String[] randomKeys = generateRandomWords(10);
        for (String key : randomKeys) {
            String cipherText = Base64.encodeWebSafe(cipher.doFinal(key.getBytes()), false);
            secretKeys.put(key, cipherText);
        }
    } catch (NoSuchAlgorithmException e) {
    } catch (InvalidKeyException e) {
    } catch (NoSuchPaddingException e) {
    } catch (IllegalBlockSizeException e) {
    } catch (BadPaddingException e) {
    }
}

From source file:com.formkiq.core.service.crypto.SecureTokenServiceImpl.java

@Override
public Pair<RSAPublicKey, RSAPrivateKey> initializeToken(final int keysize) throws NoSuchAlgorithmException {

    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    kpg.initialize(keysize);// w w  w.j ava2s. co m

    KeyPair kp = kpg.genKeyPair();
    RSAPublicKey publicKey = (RSAPublicKey) kp.getPublic();
    RSAPrivateKey privateKey = (RSAPrivateKey) kp.getPrivate();

    return Pair.of(publicKey, privateKey);
}

From source file:edu.vt.middleware.crypt.asymmetric.AsymmetricAlgorithmTest.java

/**
 * @param  asymmetric  A symmetric crypt algorithm to test.
 * @param  keys  Key pair used for encryption/decryption.
 *
 * @throws  Exception  On test failure./*from   www  . j  ava  2 s . com*/
 */
@Test(groups = { "functest", "asymmetric" }, dataProvider = "testdata")
public void testAsymmetricAlgorithm(final AsymmetricAlgorithm asymmetric, final KeyPair keys) throws Exception {
    logger.info("Testing symmetric algorithm " + asymmetric);

    asymmetric.setKey(keys.getPublic());
    asymmetric.initEncrypt();

    final byte[] ciphertext = asymmetric.encrypt(CLEARTEXT.getBytes());
    asymmetric.setKey(keys.getPrivate());
    asymmetric.initDecrypt();
    AssertJUnit.assertEquals(CLEARTEXT.getBytes(), asymmetric.decrypt(ciphertext));
}

From source file:org.sipfoundry.sipxconfig.cert.CertificateGenerator.java

@Override
public X509Certificate createCertificate() throws GeneralSecurityException {
    try {/*  w ww.  ja  va 2  s.c o  m*/
        KeyPair pair = getKeyPair();
        X509v3CertificateBuilder gen = createCertificateGenerator(m_issuer, pair.getPublic());
        gen.addExtension(X509Extension.subjectKeyIdentifier, false,
                new SubjectKeyIdentifierStructure(pair.getPublic()));
        gen.addExtension(X509Extension.basicConstraints, false, new BasicConstraints(false));

        List<GeneralName> names = new ArrayList<GeneralName>();
        if (StringUtils.isNotBlank(m_sipDomain)) {
            names.add(new GeneralName(GeneralName.uniformResourceIdentifier, format("sip:%s", m_sipDomain)));
        }
        names.add(new GeneralName(GeneralName.dNSName, getCommonName()));
        gen.addExtension(X509Extension.subjectAlternativeName, false,
                new GeneralNames((GeneralName[]) names.toArray(new GeneralName[names.size()])));

        return CertificateUtils.generateCert(gen, getAlgorithm(), getAuthorityPrivateKey());
    } catch (CertIOException e) {
        throw new GeneralSecurityException(e);
    }
}

From source file:com.kuzumeji.platform.standard.SecurityServiceTest.java

@Test
public void testKeyPair() {
    // RSA???/*  w w  w.ja  v  a2s. co  m*/
    final KeyPair keyPair = testee.generateKeyPair();
    final RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
    final RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
    LOG.debug("?->{}", dumpKeyPair(publicKey));
    LOG.debug("?->{}", dumpKeyPair(privateKey));
    // RSA???/
    testee.saveKeyPair("testee", keyPair);
    final KeyPair keyPair2 = testee.loadKeyPair("testee");
    assertThat(keyPair2.getPublic().getAlgorithm(), is(publicKey.getAlgorithm()));
    assertThat(keyPair2.getPublic().getFormat(), is(publicKey.getFormat()));
    assertThat(keyPair2.getPublic().getEncoded(), is(publicKey.getEncoded()));
    assertThat(keyPair2.getPrivate().getAlgorithm(), is(privateKey.getAlgorithm()));
    assertThat(keyPair2.getPrivate().getFormat(), is(privateKey.getFormat()));
    assertThat(keyPair2.getPrivate().getEncoded(), is(privateKey.getEncoded()));
    // ???(??)
    final File file = testee.savePublicKeyFile(publicKey);
    LOG.debug("? : {}", file.getPath());
}

From source file:com.formkiq.core.service.propertystore.PropertyStoreDatabase.java

@Override
public void storeKeyPair(final KeyPair key) {

    KeyGenerator keygen = new KeyGenerator();
    String pubkey = keygen.toString(key.getPublic());
    String privkey = keygen.toString(key.getPrivate());

    this.propertyService.save(null, PUBLIC_KEY, pubkey);
    this.propertyService.save(null, PRIVATE_KEY, privkey);
}

From source file:org.signserver.server.cryptotokens.CryptoTokenHelper.java

private static X509Certificate getSelfCertificate(String myname, long validity, String sigAlg, KeyPair keyPair,
        String provider) throws OperatorCreationException, CertificateException {
    final long currentTime = new Date().getTime();
    final Date firstDate = new Date(currentTime - 24 * 60 * 60 * 1000);
    final Date lastDate = new Date(currentTime + validity * 1000);

    // Add all mandatory attributes
    if (LOG.isDebugEnabled()) {
        LOG.debug("keystore signing algorithm " + sigAlg);
    }/*from   www. ja  v  a  2 s  .c om*/

    final PublicKey publicKey = keyPair.getPublic();
    if (publicKey == null) {
        throw new IllegalArgumentException("Public key is null");
    }

    X509v3CertificateBuilder cg = new JcaX509v3CertificateBuilder(new X500Principal(myname),
            BigInteger.valueOf(firstDate.getTime()), firstDate, lastDate, new X500Principal(myname), publicKey);
    final JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(sigAlg);
    contentSignerBuilder.setProvider(provider);

    final ContentSigner contentSigner = contentSignerBuilder.build(keyPair.getPrivate());

    return new JcaX509CertificateConverter().getCertificate(cg.build(contentSigner));
}

From source file:com.kuzumeji.platform.standard.SecurityHelperTest.java

@Test
public void testSignature() {
    final byte[] message = "?????????????".getBytes();
    final KeyPair keyPair = SecurityHelper.generateKeyPair();
    final byte[] signature = SecurityHelper.signature(keyPair.getPrivate(), message);
    assertThat(SecurityHelper.verify(keyPair.getPublic(), signature, message), is(true));
}

From source file:de.dennishoersch.web.chat.Encryption.java

/**
 * @param keyPair//from  w  w w.jav a 2 s  .  c  o m
 * @return the public key
 */
public String transformToPublicKey(KeyPair keyPair) {
    String key = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded()));

    return (String) _getPublicKey.call(key);
}

From source file:com.hyeb.front.controller.CommonController.java

/**
 * //  w  w w .  j ava 2 s  .  co  m
 */
@RequestMapping(value = "/public_key", method = RequestMethod.GET)
public @ResponseBody Map<String, String> publicKey(HttpServletRequest request) {
    Assert.notNull(request);
    KeyPair keyPair = RSAUtils.generateKeyPair();
    RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
    RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
    HttpSession session = request.getSession();
    session.setAttribute(PRIVATE_KEY_ATTRIBUTE_NAME, privateKey);

    Map<String, String> data = new HashMap<String, String>();
    data.put("modulus", Base64.encodeBase64String(publicKey.getModulus().toByteArray()));
    data.put("exponent", Base64.encodeBase64String(publicKey.getPublicExponent().toByteArray()));
    return data;
}