@Override <S extends KeySpec> S getKeySpec(Class<S> keySpecType) throws InvalidKeySpecException { if (keySpecType.isAssignableFrom(DigestPasswordSpec.class)) { return keySpecType.cast(new DigestPasswordSpec(username, realm, digest.clone())); } throw new InvalidKeySpecException(); }
private static PasswordSpec decodeDigestPasswordSpec(ByteIterator iterator) { String username = iterator.drainToUtf8(iterator.getPackedBE32()); String realm = iterator.drainToUtf8(iterator.getPackedBE32()); byte[] digest = iterator.drain(); return new DigestPasswordSpec(username, realm, digest); }
passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed);
try { byte[] hashed = ByteIterator.ofBytes(accountEntry.getPasswordRepresentation().getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed); } catch (DecodeException e) { throw log.decodingHashedPasswordFromPropertiesRealmFailed(e);
final byte[] digest = decoder.decodeOctetString(); decoder.endSequence(); passwordSpec = new DigestPasswordSpec(username, realm, digest); break;
@Override <S extends KeySpec> S getKeySpec(Class<S> keySpecType) throws InvalidKeySpecException { if (keySpecType.isAssignableFrom(DigestPasswordSpec.class)) { return keySpecType.cast(new DigestPasswordSpec(username, realm, digest.clone())); } throw new InvalidKeySpecException(); }
@Override <S extends KeySpec> S getKeySpec(Class<S> keySpecType) throws InvalidKeySpecException { if (keySpecType.isAssignableFrom(DigestPasswordSpec.class)) { return keySpecType.cast(new DigestPasswordSpec(username, realm, digest.clone())); } throw new InvalidKeySpecException(); }
@Override <S extends KeySpec> S getKeySpec(Class<S> keySpecType) throws InvalidKeySpecException { if (keySpecType.isAssignableFrom(DigestPasswordSpec.class)) { return keySpecType.cast(new DigestPasswordSpec(username, realm, digest.clone())); } throw new InvalidKeySpecException(); }
} else { byte[] hashed = ByteIterator.ofBytes(password.getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(principal.getName(), realm, hashed);
} else { byte[] hashed = ByteIterator.ofBytes(password.getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(principal.getName(), realm, hashed);
@Override public boolean verifyEvidence(Evidence evidence) throws RealmUnavailableException { if (password == null || evidence instanceof PasswordGuessEvidence == false) { return false; } final char[] guess = ((PasswordGuessEvidence) evidence).getGuess(); final PasswordFactory passwordFactory; final PasswordSpec passwordSpec; final Password actualPassword; if (plainText) { passwordFactory = getPasswordFactory(ALGORITHM_CLEAR); passwordSpec = new ClearPasswordSpec(password.toCharArray()); } else { passwordFactory = getPasswordFactory(ALGORITHM_DIGEST_MD5); byte[] hashed = ByteIterator.ofBytes(password.getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(principal.getName(), realm, hashed); } try { actualPassword = passwordFactory.generatePassword(passwordSpec); return passwordFactory.verify(actualPassword, guess); } catch (InvalidKeySpecException | InvalidKeyException | IllegalStateException e) { throw new IllegalStateException(e); } }
private static PasswordSpec decodeDigestPasswordSpec(ByteIterator iterator) { String username = iterator.drainToUtf8(iterator.getPackedBE32()); String realm = iterator.drainToUtf8(iterator.getPackedBE32()); byte[] digest = iterator.drain(); return new DigestPasswordSpec(username, realm, digest); }
@Override public boolean verifyEvidence(Evidence evidence) throws RealmUnavailableException { if (password == null || evidence instanceof PasswordGuessEvidence == false) { return false; } final char[] guess = ((PasswordGuessEvidence) evidence).getGuess(); final PasswordFactory passwordFactory; final PasswordSpec passwordSpec; final Password actualPassword; if (plainText) { passwordFactory = getPasswordFactory(ALGORITHM_CLEAR); passwordSpec = new ClearPasswordSpec(password.toCharArray()); } else { passwordFactory = getPasswordFactory(ALGORITHM_DIGEST_MD5); byte[] hashed = ByteIterator.ofBytes(password.getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(principal.getName(), realm, hashed); } try { actualPassword = passwordFactory.generatePassword(passwordSpec); return passwordFactory.verify(actualPassword, guess); } catch (InvalidKeySpecException | InvalidKeyException | IllegalStateException e) { throw new IllegalStateException(e); } }
private static PasswordSpec decodeDigestPasswordSpec(ByteIterator iterator) { String username = iterator.drainToUtf8(iterator.getPackedBE32()); String realm = iterator.drainToUtf8(iterator.getPackedBE32()); byte[] digest = iterator.drain(); return new DigestPasswordSpec(username, realm, digest); }
private static PasswordSpec decodeDigestPasswordSpec(ByteIterator iterator) { String username = iterator.drainToUtf8(iterator.getPackedBE32()); String realm = iterator.drainToUtf8(iterator.getPackedBE32()); byte[] digest = iterator.drain(); return new DigestPasswordSpec(username, realm, digest); }
passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed);
passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed);
try { byte[] hashed = ByteIterator.ofBytes(accountEntry.getPasswordRepresentation().getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed); } catch (DecodeException e) { throw log.decodingHashedPasswordFromPropertiesRealmFailed(e);
try { byte[] hashed = ByteIterator.ofBytes(accountEntry.getPasswordRepresentation().getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed); } catch (DecodeException e) { throw log.decodingHashedPasswordFromPropertiesRealmFailed(e);
try { byte[] hashed = ByteIterator.ofBytes(accountEntry.getPasswordRepresentation().getBytes(StandardCharsets.UTF_8)).asUtf8String().hexDecode().drain(); passwordSpec = new DigestPasswordSpec(accountEntry.getName(), loadedState.getRealmName(), hashed); } catch (DecodeException e) { throw log.decodingHashedPasswordFromPropertiesRealmFailed(e);