Creating Key Objects from a Set of Digital Signature Algorithm (DSA) Parameters

The DSA requires three parameters to create a key pair – the prime (P), the subprime (Q), and the base (G). These three values are used to create a private key (called X) and a public key (called Y).

This example creates a PrivateKey and PublicKey from a set of DSA parameters.

try { // Obtain the DSA parameters; // see Getting the Digital Signature Algorithm (DSA) Parameters of a Key Pair BigInteger p = ...; BigInteger q = ...; BigInteger g = ...; BigInteger x = ...; BigInteger y = ...; // Create the DSA key factory KeyFactory keyFactory = KeyFactory.getInstance("DSA"); // Create the DSA private key KeySpec privateKeySpec = new DSAPrivateKeySpec(x, p, q, g); PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec); // Create the DSA public key KeySpec publicKeySpec = new DSAPublicKeySpec(y, p, q, g); PublicKey publicKey = keyFactory.generatePublic(publicKeySpec); } catch (InvalidKeySpecException e) { } catch (NoSuchAlgorithmException e) { }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.