The following example demonstrates how to generate a DSS keypair.
IKeyPairGenerator kpg = KeyPairGeneratorFactory.getInstance(Registry.DSS_KPG); HashMap map = new HashMap(); map.put(DSSKeyPairGenerator.MODULUS_LENGTH, new Integer(512)); map.put(DSSKeyPairGenerator.USE_DEFAULTS, new Boolean(false)); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger p1 = ((DSAPublicKey) kp.getPublic()).getParams().getP(); BigInteger p2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getP(); BigInteger q1 = ((DSAPublicKey) kp.getPublic()).getParams().getQ(); BigInteger q2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getQ(); BigInteger g1 = ((DSAPublicKey) kp.getPublic()).getParams().getG(); BigInteger g2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getG();