This the wrong way to do this. You will have to wait until I return, however if 
you want to get started here is the way to go:

- Define SignatureFactoriesManager interface that has get/setSignatureFactories 
factories methods
- Remove the definitions of these methods from their current interface and make 
that interface extend the new one.
- Define UserAuthPubkeyFactory and its created UserAuthPublicKey instances  as 
implementing this interface (both client and server side)
- Overwrite each factory's create function to set the created 
UserAuthPublicKey's signature factories with its own.
- Overwrite the default factory instance setter to throw 
UnsupportedOperationException if invoked
- In each UserAuthPublicKey (client or server) instance use a 
resolveSignatureFactoried method that checks if the set ones are not 
null/empty..
    If null or empty the use the session's factories
- Write a unit test - e.g. in the ServerTest class that demonstrates this 
capability.

There are a lot more details, so if you cannot figure them out your pull 
request will not do the necessary job.

Reply via email to