/** * Get the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number. * * @param algorithm the algorithm * @param seed the seed * @param sequenceNumber the sequence number * @return the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number */ public static OneTimePasswordAlgorithmSpec getOTPParameterSpec(final String algorithm, final String seed, final int sequenceNumber) { return new OneTimePasswordAlgorithmSpec(algorithm, seed, sequenceNumber); }
protected void engineEncode(final ASN1Encoder encoder, final OneTimePasswordAlgorithmSpec parameterSpec) { encoder.startSequence(); encoder.encodeOctetString(parameterSpec.getAlgorithm()); encoder.encodeIA5String(parameterSpec.getSeed()); encoder.encodeInteger(parameterSpec.getSequenceNumber()); encoder.endSequence(); }
OneTimePasswordImpl(final String algorithm, final char[] password, final OneTimePasswordAlgorithmSpec spec) throws SaslException { this(algorithm, generateOTP(algorithm, getNormalizedPasswordBytes(password), spec.getSeed().toLowerCase(Locale.ENGLISH), spec.getSequenceNumber() ), spec.getSeed(), spec.getSequenceNumber()); }
OneTimePasswordImpl(final String algorithm, final char[] password, final OneTimePasswordAlgorithmSpec spec) throws SaslException { this(algorithm, generateOTP(algorithm, getNormalizedPasswordBytes(password), spec.getSeed().toLowerCase(Locale.ENGLISH), spec.getSequenceNumber() ), spec.getSeed(), spec.getSequenceNumber()); }
throw saslOTP.mechNoPasswordGiven().toSaslException(); newAlgorithm = algorithmSpec.getAlgorithm(); validateAlgorithm(newAlgorithm); newSequenceNumber = algorithmSpec.getSequenceNumber(); validateSequenceNumber(newSequenceNumber); newSeed = algorithmSpec.getSeed(); validateSeed(newSeed); break;
private byte[] generateOtpHash(final String algorithm, final String passPhrase, final String seed, final int newSequenceNumber) throws NoSuchAlgorithmException, InvalidKeySpecException { PasswordFactory otpFactory = PasswordFactory.getInstance(algorithm, providers); OneTimePasswordAlgorithmSpec otpSpec = new OneTimePasswordAlgorithmSpec(algorithm, seed, newSequenceNumber); EncryptablePasswordSpec passwordSpec = new EncryptablePasswordSpec(passPhrase.toCharArray(), otpSpec); OneTimePassword otPassword = (OneTimePassword) otpFactory.generatePassword(passwordSpec); return otPassword.getHash(); } }
OneTimePasswordImpl(final String algorithm, final char[] password, final OneTimePasswordAlgorithmSpec spec) throws SaslException { this(algorithm, generateOTP(algorithm, getNormalizedPasswordBytes(password), spec.getSeed().toLowerCase(Locale.ENGLISH), spec.getSequenceNumber() ), spec.getSeed(), spec.getSequenceNumber()); }
protected void engineEncode(final ASN1Encoder encoder, final OneTimePasswordAlgorithmSpec parameterSpec) { encoder.startSequence(); encoder.encodeOctetString(parameterSpec.getAlgorithm()); encoder.encodeIA5String(parameterSpec.getSeed()); encoder.encodeInteger(parameterSpec.getSequenceNumber()); encoder.endSequence(); }
default OneTimePasswordAlgorithmSpec getParameterSpec() { return new OneTimePasswordAlgorithmSpec(getAlgorithm(), getSeed(), getSequenceNumber()); }
OneTimePasswordImpl(final String algorithm, final char[] password, final OneTimePasswordAlgorithmSpec spec) throws SaslException { this(algorithm, generateOTP(algorithm, getNormalizedPasswordBytes(password), spec.getSeed().toLowerCase(Locale.ENGLISH), spec.getSequenceNumber() ), spec.getSeed(), spec.getSequenceNumber()); }
protected void engineEncode(final ASN1Encoder encoder, final OneTimePasswordAlgorithmSpec parameterSpec) { encoder.startSequence(); encoder.encodeOctetString(parameterSpec.getAlgorithm()); encoder.encodeIA5String(parameterSpec.getSeed()); encoder.encodeInteger(parameterSpec.getSequenceNumber()); encoder.endSequence(); }
protected OneTimePasswordAlgorithmSpec engineDecode(final ASN1Decoder decoder) { decoder.startSequence(); final String algorithm = decoder.decodeOctetStringAsString(); final String seed = decoder.decodeIA5String(); final int sequenceNumber = decoder.decodeInteger().intValue(); decoder.endSequence(); return new OneTimePasswordAlgorithmSpec(algorithm, seed, sequenceNumber); } }
protected void engineEncode(final ASN1Encoder encoder, final OneTimePasswordAlgorithmSpec parameterSpec) { encoder.startSequence(); encoder.encodeOctetString(parameterSpec.getAlgorithm()); encoder.encodeIA5String(parameterSpec.getSeed()); encoder.encodeInteger(parameterSpec.getSequenceNumber()); encoder.endSequence(); }
parameterCallback.setParameterSpec(new OneTimePasswordAlgorithmSpec(algorithm, seed, sequenceNumber)); handleCallbacks(nameCallback, parameterCallback, passwordCallback); otp = getOTP(passwordCallback);
throw saslOTP.mechNoPasswordGiven().toSaslException(); newAlgorithm = algorithmSpec.getAlgorithm(); validateAlgorithm(newAlgorithm); newSequenceNumber = algorithmSpec.getSequenceNumber(); validateSequenceNumber(newSequenceNumber); newSeed = algorithmSpec.getSeed(); validateSeed(newSeed); break;
/** * Get the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number. * * @param algorithm the algorithm * @param seed the seed * @param sequenceNumber the sequence number * @return the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number */ public static OneTimePasswordAlgorithmSpec getOTPParameterSpec(final String algorithm, final String seed, final int sequenceNumber) { return new OneTimePasswordAlgorithmSpec(algorithm, seed, sequenceNumber); }
throw saslOTP.mechNoPasswordGiven().toSaslException(); newAlgorithm = algorithmSpec.getAlgorithm(); validateAlgorithm(newAlgorithm); newSequenceNumber = algorithmSpec.getSequenceNumber(); validateSequenceNumber(newSequenceNumber); newSeed = algorithmSpec.getSeed(); validateSeed(newSeed); break;
/** * Get the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number. * * @param algorithm the algorithm * @param seed the seed * @param sequenceNumber the sequence number * @return the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number */ public static OneTimePasswordAlgorithmSpec getOTPParameterSpec(final String algorithm, final String seed, final int sequenceNumber) { return new OneTimePasswordAlgorithmSpec(algorithm, seed, sequenceNumber); }
throw saslOTP.mechNoPasswordGiven().toSaslException(); newAlgorithm = algorithmSpec.getAlgorithm(); validateAlgorithm(newAlgorithm); newSequenceNumber = algorithmSpec.getSequenceNumber(); validateSequenceNumber(newSequenceNumber); newSeed = algorithmSpec.getSeed(); validateSeed(newSeed); break;
/** * Get the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number. * * @param algorithm the algorithm * @param seed the seed * @param sequenceNumber the sequence number * @return the parameter specification for a one-time password generated using the given algorithm, seed, and sequence number */ public static OneTimePasswordAlgorithmSpec getOTPParameterSpec(final String algorithm, final String seed, final int sequenceNumber) { return new OneTimePasswordAlgorithmSpec(algorithm, seed, sequenceNumber); }