return decodeDHPrivateKey(input);
log.exiting(this.getClass().getName(), "engineGeneratePrivate()", result); return result;
  protected PrivateKey engineGeneratePrivate(KeySpec keySpec)      throws InvalidKeySpecException  {    if (keySpec instanceof DSAPrivateKeySpec)      return decodeDSSPrivateKey((DSAPrivateKeySpec) keySpec);    if (keySpec instanceof RSAPrivateCrtKeySpec)      return decodeRSAPrivateKey((RSAPrivateCrtKeySpec) keySpec);    if (keySpec instanceof DHPrivateKeySpec)      return decodeDHPrivateKey((DHPrivateKeySpec) keySpec);    if (! (keySpec instanceof PKCS8EncodedKeySpec))      throw new InvalidKeySpecException("Unsupported key specification");    byte[] input = ((PKCS8EncodedKeySpec) keySpec).getEncoded();    // try DSS    try      {        return DSSPrivateKey.valueOf(input);      }    catch (InvalidParameterException ignored)      {      }    // try RSA    try    {      return GnuRSAPrivateKey.valueOf(input);    }  catch (InvalidParameterException ignored)    {    }    // try DH    return decodeDHPrivateKey(input);  }