Class KeyToolUtils

  • All Implemented Interfaces:

    
    public class KeyToolUtils
    
                        

    Utilities for working with Java keytool

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      static void genkeypair(File keystore, String alias, String password, int validity, String dname, String ext) Generate a self-signed keypair using the algorithm "RSA".
      static void generateProxyCA(File keystore, String password, int validity) Creates a self-signed Root CA certificate and an intermediate CA certificate (signed by the Root CA certificate) that can be used to sign server certificates.
      static void generateHostCert(File keystore, String password, String host, int validity) Create a host certificate signed with the CA certificate.
      static String list(File keystore, String storePass) List the contents of a keystore
      static Array<String> getCAaliases() Returns a list of the CA aliases that should be in the keystore.
      static String getRootCAalias() Get the root CA alias; needed to check the serial number and fingerprint
      static boolean haveKeytool() Returns true if KeyToolUtils#KEYTOOL_PATH is configured
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • genkeypair

         static void genkeypair(File keystore, String alias, String password, int validity, String dname, String ext)

        Generate a self-signed keypair using the algorithm "RSA".

        Parameters:
        keystore - the keystore; if it already contains the alias the command will fail
        alias - the alias to use, not null
        password - the password to use for the store and the key
        validity - the validity period in days, greater than 0
        dname - the distinguished name value, if omitted use "cn=JMeter Proxy (DO NOT TRUST)"
        ext - if not null, the extension (-ext) to add (e.g.
      • generateProxyCA

         static void generateProxyCA(File keystore, String password, int validity)

        Creates a self-signed Root CA certificate and an intermediate CA certificate (signed by the Root CA certificate) that can be used to sign server certificates. The Root CA certificate file is exported to the same directory as the keystore in formats suitable for Firefox/Chrome/IE (.crt) and Opera (.usr).

        Parameters:
        keystore - the keystore in which to store everything
        password - the password for keystore and keys
        validity - the validity period in days, must be greater than 0
      • generateHostCert

         static void generateHostCert(File keystore, String password, String host, int validity)

        Create a host certificate signed with the CA certificate.

        Parameters:
        keystore - the keystore to use
        password - the password to use for the keystore and keys
        host - the host, e.g.
        validity - the validity period for the generated keypair
      • list

         static String list(File keystore, String storePass)

        List the contents of a keystore

        Parameters:
        keystore - the keystore file
        storePass - the keystore password
        Returns:

        the output from the command "keytool -list -v"

      • getCAaliases

         static Array<String> getCAaliases()

        Returns a list of the CA aliases that should be in the keystore.

        Returns:

        the aliases that are used for the keystore

      • getRootCAalias

         static String getRootCAalias()

        Get the root CA alias; needed to check the serial number and fingerprint

        Returns:

        the alias

      • haveKeytool

         static boolean haveKeytool()

        Returns true if KeyToolUtils#KEYTOOL_PATH is configured

        Returns:

        flag whether KeyToolUtils#KEYTOOL_PATH is configured (is not null)