throws UserAuthException {
PrivateKey key;
try {
key = kProv.getPrivate();
} catch (IOException ioe) {
throw new UserAuthException("Problem getting private key from " + kProv, ioe);
}
final String kt = KeyType.fromKey(key).toString();
Signature sigger = Factory.Named.Util.create(params.getTransport().getConfig().getSignatureFactories(), kt);
if (sigger == null)
throw new UserAuthException("Could not create signature instance for " + kt + " key");
sigger.init(null, key);
sigger.update(new Buffer.PlainBuffer()
.putString(params.getTransport().getSessionID())
.putBuffer(reqBuf) // & rest of the data for sig