Java Code To Generate Public And Private Keys

gistfile1.java

Java Code To Generate Public And Private Keys List

importjava.security.KeyPairGenerator;
importjava.security.KeyPair;
importjava.security.PrivateKey;
importjava.security.PublicKey;
importjava.security.KeyFactory;
importjava.security.spec.EncodedKeySpec;
importjava.security.spec.PKCS8EncodedKeySpec;
importjava.security.spec.X509EncodedKeySpec;
importjava.security.spec.InvalidKeySpecException;
importjava.security.NoSuchAlgorithmException;
importcom.sun.jersey.core.util.Base64;
publicclassGeneratePublicPrivateKeys {
privatestaticvoidgenerateKeys(StringkeyAlgorithm, intnumBits) {
try {
// Get the public/private key pair
KeyPairGenerator keyGen =KeyPairGenerator.getInstance(keyAlgorithm);
keyGen.initialize(numBits);
KeyPair keyPair = keyGen.genKeyPair();
PrivateKey privateKey = keyPair.getPrivate();
PublicKey publicKey = keyPair.getPublic();
System.out.println('n'+'Generating key/value pair using '+ privateKey.getAlgorithm() +' algorithm');
// Get the bytes of the public and private keys
byte[] privateKeyBytes = privateKey.getEncoded();
byte[] publicKeyBytes = publicKey.getEncoded();
// Get the formats of the encoded bytes
String formatPrivate = privateKey.getFormat(); // PKCS#8
String formatPublic = publicKey.getFormat(); // X.509
System.out.println('Private Key : '+Base64.encode(String.valueOf(privateKeyBytes)));
System.out.println('Public Key : '+Base64.encode(String.valueOf(publicKeyBytes)));
// The bytes can be converted back to public and private key objects
KeyFactory keyFactory =KeyFactory.getInstance(keyAlgorithm);
EncodedKeySpec privateKeySpec =newPKCS8EncodedKeySpec(privateKeyBytes);
PrivateKey privateKey2 = keyFactory.generatePrivate(privateKeySpec);
EncodedKeySpec publicKeySpec =newX509EncodedKeySpec(publicKeyBytes);
PublicKey publicKey2 = keyFactory.generatePublic(publicKeySpec);
// The original and new keys are the same
System.out.println(' Are both private keys equal? '+ privateKey.equals(privateKey2));
System.out.println(' Are both public keys equal? '+ publicKey.equals(publicKey2));
} catch (InvalidKeySpecException specException) {
System.out.println('Exception');
System.out.println('Invalid Key Spec Exception');
} catch (NoSuchAlgorithmException e) {
System.out.println('Exception');
System.out.println('No such algorithm: '+ keyAlgorithm);
}
}
publicstaticvoidmain(String[] args) {
// Generate a 1024-bit Digital Signature Algorithm (DSA) key pair
generateKeys('DSA', 1024);
// Generate a 576-bit DH key pair
generateKeys('DH', 576);
// Generate a 1024-bit RSA key pair
generateKeys('RSA', 1024);
}
}

(Java) Generate RSA SSH Key. Generates an RSA SSH key and saves to various public and private key file formats (OpenSSH and PuTTY). Java: Generate Public/Private Keys. GitHub Gist: instantly share code, notes, and snippets. Nov 10, 2011  How to Generate A Public/Private SSH Key Linux By Damien – Posted on Nov 10, 2011 Nov 18, 2011 in Linux If you are using SSH frequently to connect to a remote host, one of the way to secure the connection is to use a public/private SSH key so no password is transmitted over the network and it can prevent against brute force attack. I'm looking for a java library or code to generate certificates, public and private keys on the fly without to use third party programs (such as openssl). I think something that is doeing keytool+openssl but from Java code. Consider a java servlet based web application secured with ssl and client authentification.

Java Code To Generate Public And Private Keys Free

commented Mar 14, 2018

Java Code To Generate Public And Private Keys In Linux

Hi

You post is interestnig , is there away I can create a privatre key instance via a signature given stiring?

I have pub/private keys generated already

KeyPairGenerator keyPairGenerator is going to createa key pair, but in my case I alrady have it and then further want to use them for signign.

e.g

//ecdsaSign.initSign(keyPair.getPrivate());
byte[] pkInfo = '51114cac71a9575bc1b39104d176a39d81bd1a705b9a1ad32efd2222f13e59ad'.getBytes();
// PrivateKey pvtKey = DSAPrivateKey <<<<< create a private key here via above string. instead of keyPair created above.
ecdsaSign.initSign(pvtKey);
//byte[] publicKeyBytes = keyPair.getPublic().getEncoded();
byte[] publicKeyBytes = '025fe2d166a5a8ff005eb0c799a474174f5d061de266438c69d36c2032c6bff51a'.getBytes();

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment