throw new InvalidKeySpecException();
return decodeDHPrivateKey(input);
  protected PrivateKey engineGeneratePrivate(KeySpec keySpec)      throws InvalidKeySpecException  {    if (! (keySpec instanceof PKCS8EncodedKeySpec))      throw new InvalidKeySpecException("only supports PKCS8 key specs");    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)    {    }    // FIXME: try DH    throw new InvalidKeySpecException();  }