![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e199. Getting the Bytes of a Generated Key Pairtry { String algorithm = "DSA"; // or RSA, DH, etc. // Generate a 1024-bit Digital Signature Algorithm (DSA) key pair KeyPairGenerator keyGen = KeyPairGenerator.getInstance(algorithm); keyGen.initialize(1024); KeyPair keypair = keyGen.genKeyPair(); PrivateKey privateKey = keypair.getPrivate(); PublicKey publicKey = keypair.getPublic(); // 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 format = privateKey.getFormat(); // PKCS#8 format = publicKey.getFormat(); // X.509 // The bytes can be converted back to public and private key objects KeyFactory keyFactory = KeyFactory.getInstance(algorithm); EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(privateKeyBytes); PrivateKey privateKey2 = keyFactory.generatePrivate(privateKeySpec); EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyBytes); PublicKey publicKey2 = keyFactory.generatePublic(publicKeySpec); // The orginal and new keys are the same boolean same = privateKey.equals(privateKey2); // true same = publicKey.equals(publicKey2); // true } catch (InvalidKeySpecException e) { } catch (NoSuchAlgorithmException e) { }
e198. Generating a Public/Private Key Pair e200. Getting the Digital Signature Algorithm (DSA) Parameters of a Key Pair e201. Creating Key Objects from a Set of Digital Signature Algorithm (DSA) Parameters
© 2002 Addison-Wesley. |