FileBasedKeyManagerProvider.containsKeyWithAlias() iterates over the enumeration of aliases in keystore and compares present aliases with the parameter using equals.
http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html claims that if the aliases are case sensitive or not, is implementation dependent. Default JKS implementation uses case insensitive aliases (that are converted to lower case internally for storage and comparison). If the keyAlias in server configuration does contain uppercase letters, it will be not found although one can find it by the exact same string using keytool.
Java KeyStore API has methods like containsAlias(), isKeyAlias() and entryInstanceOf() that could be used instead of iterating aliases?