This package implements the Snowflake-over-RMI authorization protocol. It is a very simple protocol: The server rejects any request for which it cannot verify the client's authority using a {@link SfNeedAuthorizationException}. The exception carries information to the client about the proof it needs. The client's stubs use the {@link InvokeHack#invoke} method to invoke services; that method catches the SfNeedAuthorizationException, uses a Prover to prove the client's authority, and sends the proof back to the server by calling a method on the exception object itself. Then the invoke method retries the remote call; if it fails again, the exception is passed back into the client code for the application programmer to handle. @pkgHide SfServerRef @pkgHide SfUnicastRef