Now that you have created a public key and a private key, you are ready to sign the data. In this example you will sign the data contained in a file. GenSig gets the file name from the command line. A digital signature is created (or verified) using an instance of the Signature class. Using the KeyGenerator class and showing how to create a SecretKeySpec from an encoded key: 2. Key Generator Mac: 3. KeyPair Generator For Private Key: 4. KeyPair Generator For Public Key: 5. Wrap And Unwrap Key: 6. Generating a Public/Private Key Pair: 7. Generate a 576-bit DH key pair: 8. Generate a 1024-bit RSA key pair: 9. Getting the Bytes. The G Suite Single Sign-On service accepts public keys and certificates generated with either the RSA or DSA algorithm. To use the service, you need to generate the set of public and private keys and an X.509 certificate that contains the public key. Once you have a public key or certificate, you would then need to register it with Google.

The Digital Signature Algorithm (DSA) is a Federal Information Processing Standard for digital signatures, based on the mathematical concept of modular exponentiation and the discrete logarithm problem. DSA is a variant of the Schnorr and ElGamal signature schemes.: 486. The keysize for a DSA key generator is the key length (in bits), which you will set to 1024. The source of randomness must be an instance of the SecureRandom class that provides a cryptographically strong random number generator (RNG).

JavaScript is disabled on your browser.
  • Class

Interface DSAKeyPairGenerator


  • An interface to an object capable of generating DSA key pairs.

    The initialize methods may each be called any number of times. If no initialize method is called on a DSAKeyPairGenerator, the default is to generate 1024-bit keys, using precomputed p, q and g parameters and an instance of SecureRandom as the random bit source.

    Users wishing to indicate DSA-specific parameters, and to generate a key pair suitable for use with the DSA algorithm typically

    1. Get a key pair generator for the DSA algorithm by calling the KeyPairGenerator getInstance method with 'DSA' as its argument.
    2. Initialize the generator by casting the result to a DSAKeyPairGenerator and calling one of the initialize methods from this DSAKeyPairGenerator interface.
    3. Generate a key pair by calling the generateKeyPair method from the KeyPairGenerator class.

    Note: it is not always necessary to do do algorithm-specific initialization for a DSA key pair generator. That is, it is not always necessary to call an initialize method in this interface. Algorithm-independent initialization using the initializeOpenssl generate public private key. method in the KeyPairGenerator interface is all that is needed when you accept defaults for algorithm-specific parameters.

    See Also:
    KeyPairGenerator
    • Method Summary

      Methods
      Modifier and TypeMethod and Description
      voidinitialize(DSAParams params, SecureRandom random)
      Initializes the key pair generator using the DSA family parameters (p,q and g) and an optional SecureRandom bit source.
      voidinitialize(int modlen, boolean genParams, SecureRandom random)
      Initializes the key pair generator for a given modulus length (instead of parameters), and an optional SecureRandom bit source.
    • Method Detail

      • initialize

        Initializes the key pair generator using the DSA family parameters (p,q and g) and an optional SecureRandom bit source. If a SecureRandom bit source is needed but not supplied, i.e. null, a default SecureRandom instance will be used.
        Parameters:
        params - the parameters to use to generate the keys.
        random - the random bit source to use to generate key bits; can be null.
        Throws:
        InvalidParameterException - if the params value is invalid or null.
      • initialize

        Initializes the key pair generator for a given modulus length (instead of parameters), and an optional SecureRandom bit source. If a SecureRandom bit source is needed but not supplied, i.e. null, a default SecureRandom instance will be used.

        If genParams is true, this method generates new p, q and g parameters. If it is false, the method uses precomputed parameters for the modulus length requested. If there are no precomputed parameters for that modulus length, an exception will be thrown. It is guaranteed that there will always be default parameters for modulus lengths of 512 and 1024 bits.

        Parameters:
        modlen - the modulus length in bits. Valid values are any multiple of 8 between 512 and 1024, inclusive.
        random - the random bit source to use to generate key bits; can be null.
        genParams - whether or not to generate new parameters for the modulus length requested.
        Throws:
        InvalidParameterException - if modlen is not between 512 and 1024, or if genParams is false and there are no precomputed parameters for the requested modulus length.
  • Class
  • Summary:
  • Nested
  • Field
  • Constr
  • Detail:
  • Field
  • Constr

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2018, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.

  • Java Cryptography Tutorial

Generate Dsa Key

  • Message Digest and MAC
  • Keys and Key Store
  • Generating Keys
  • Digital Signature
  • Cipher Text
  • Java Cryptography Resources
  • Selected Reading

Java provides KeyGenerator class this class is used to generate secret keys and objects of this class are reusable.

To generate keys using the KeyGenerator class follow the steps given below.

Step 1: Create a KeyGenerator object

The KeyGenerator class provides getInstance() method which accepts a String variable representing the required key-generating algorithm and returns a KeyGenerator object that generates secret keys.

Create KeyGenerator object using the getInstance() method as shown below.

Step 2: Create SecureRandom object

Dsa Key Generation In Java Free

The SecureRandom class of the java.Security package provides a strong random number generator which is used to generate random numbers in Java. Instantiate this class as shown below.

Step 3: Initialize the KeyGenerator

The KeyGenerator class provides a method named init() this method accepts the SecureRandom object and initializes the current KeyGenerator.

Initialize the KeyGenerator object created in the previous step using the init() method.

Example

Following example demonstrates the key generation of the secret key using the KeyGenerator class of the javax.crypto package.

Output

The above program generates the following output −