case SaslMechanismInformation.Names.SCRAM_SHA_1_PLUS: if (! bindingOk) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_1_PLUS.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_1: if (bindingRequired) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_1.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_256_PLUS: if (! bindingOk) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_256_PLUS.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_256: if (bindingRequired) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_256.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_384_PLUS: if (! bindingOk) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_384_PLUS.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_384: if (bindingRequired) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_384.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers
case SaslMechanismInformation.Names.SCRAM_SHA_1_PLUS: if (! bindingOk) return null; return new ScramSaslServer(mechanism, protocol, serverName, cbh, ScramMechanism.SCRAM_SHA_1_PLUS.createServer( cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers ), callback); case SaslMechanismInformation.Names.SCRAM_SHA_1: if (bindingRequired) return null; return new ScramSaslServer(mechanism, protocol, serverName, cbh, ScramMechanism.SCRAM_SHA_1.createServer( cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers ), callback); case SaslMechanismInformation.Names.SCRAM_SHA_256_PLUS: if (! bindingOk) return null; return new ScramSaslServer(mechanism, protocol, serverName, cbh, ScramMechanism.SCRAM_SHA_256_PLUS.createServer( cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers ), callback); case SaslMechanismInformation.Names.SCRAM_SHA_256: if (bindingRequired) return null; return new ScramSaslServer(mechanism, protocol, serverName, cbh, ScramMechanism.SCRAM_SHA_256.createServer( cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers ), callback); case SaslMechanismInformation.Names.SCRAM_SHA_384_PLUS: if (! bindingOk) return null; return new ScramSaslServer(mechanism, protocol, serverName, cbh, ScramMechanism.SCRAM_SHA_384_PLUS.createServer( cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers ), callback); case SaslMechanismInformation.Names.SCRAM_SHA_384: if (bindingRequired) return null; return new ScramSaslServer(mechanism, protocol, serverName, cbh, ScramMechanism.SCRAM_SHA_384.createServer( cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialResponse.getMechanism().toString()); throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialChallenge.getMechanism().toString()); final boolean plus = mechanism.isPlus(); callbackHandler, ScramDigestPassword.class, mechanism.getPasswordAlgorithm(), parameters, parameters, final Mac mac = Mac.getInstance(getMechanism().getHmacName()); final MessageDigest messageDigest = MessageDigest.getInstance(getMechanism().getMessageDigestName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), clientMessage.getMechanism().toString()); final Mac mac = Mac.getInstance(getMechanism().getHmacName()); final MessageDigest messageDigest = MessageDigest.getInstance(getMechanism().getMessageDigestName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), clientMessage.getMechanism().toString()); max(minimumIterationCount, min(maximumIterationCount, ScramDigestPassword.DEFAULT_ITERATION_COUNT)) ); final ScramDigestPassword password = MechanismUtil.getPasswordCredential(clientMessage.getAuthenticationName(), callbackHandler, ScramDigestPassword.class, mechanism.getPasswordAlgorithm(), null, generateParameters, providers, saslScram);
final ScramMechanism mechanism = initialResponse.getMechanism(); if (mechanism != initialChallenge.getMechanism()) { throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialChallenge.getMechanism().toString()); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING);
if (bindingData != null) { binding = true; if (mechanism.isPlus()) { encoded.append("p="); encoded.append(bindingType);
final Mac mac = Mac.getInstance(getMechanism().getHmacName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), clientMessage.getMechanism().toString()); final Mac mac = Mac.getInstance(getMechanism().getHmacName()); final MessageDigest messageDigest = MessageDigest.getInstance(getMechanism().getMessageDigestName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), clientMessage.getMechanism().toString()); max(minimumIterationCount, min(maximumIterationCount, ScramDigestPassword.DEFAULT_ITERATION_COUNT)) ); final ScramDigestPassword password = MechanismUtil.getPasswordCredential(clientMessage.getAuthenticationName(), callbackHandler, ScramDigestPassword.class, mechanism.getPasswordAlgorithm(), null, generateParameters, providers, saslScram);
final ScramMechanism mechanism = initialResponse.getMechanism(); if (mechanism != initialChallenge.getMechanism()) { throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialChallenge.getMechanism().toString()); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING);
if (! mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotSupported(), ScramServerErrorCode.SERVER_DOES_NOT_SUPPORT_CHANNEL_BINDING); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING);
final Mac mac = Mac.getInstance(getMechanism().getHmacName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialResponse.getMechanism().toString()); throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialChallenge.getMechanism().toString()); final boolean plus = mechanism.isPlus(); callbackHandler, ScramDigestPassword.class, mechanism.getPasswordAlgorithm(), parameters, parameters, final Mac mac = Mac.getInstance(getMechanism().getHmacName()); final MessageDigest messageDigest = MessageDigest.getInstance(getMechanism().getMessageDigestName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), clientMessage.getMechanism().toString()); final Mac mac = Mac.getInstance(getMechanism().getHmacName()); final MessageDigest messageDigest = MessageDigest.getInstance(getMechanism().getMessageDigestName());
throw saslScram.mechUnmatchedMechanism(mechanism.toString(), clientMessage.getMechanism().toString()); max(minimumIterationCount, min(maximumIterationCount, ScramDigestPassword.DEFAULT_ITERATION_COUNT)) ); final ScramDigestPassword password = MechanismUtil.getPasswordCredential(clientMessage.getAuthenticationName(), callbackHandler, ScramDigestPassword.class, mechanism.getPasswordAlgorithm(), null, generateParameters, providers, saslScram);
final ScramMechanism mechanism = initialResponse.getMechanism(); if (mechanism != initialChallenge.getMechanism()) { throw saslScram.mechUnmatchedMechanism(mechanism.toString(), initialChallenge.getMechanism().toString()); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING); if (mechanism.isPlus()) { throw new ScramServerException(saslScram.mechChannelBindingNotProvided(), ScramServerErrorCode.SERVER_DOES_SUPPORT_CHANNEL_BINDING);
if (bindingData != null) { binding = true; if (mechanism.isPlus()) { encoded.append("p="); encoded.append(bindingType);
final Mac mac = Mac.getInstance(getMechanism().getHmacName());
case SaslMechanismInformation.Names.SCRAM_SHA_1_PLUS: if (! bindingOk) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_1_PLUS.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_1: if (bindingRequired) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_1.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_256_PLUS: if (! bindingOk) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_256_PLUS.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_256: if (bindingRequired) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_256.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_384_PLUS: if (! bindingOk) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_384_PLUS.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers )); case SaslMechanismInformation.Names.SCRAM_SHA_384: if (bindingRequired) break; return new ScramSaslClient(mechanism, protocol, serverName, cbh, authorizationId, ScramMechanism.SCRAM_SHA_384.createClient( authorizationId, cbh, ScramUtil.getSecureRandom(props), callback, minimumIterationCount, maximumIterationCount, providers