As far as I know, PBKDF2 uses andan underlying pseudorandom function in order to generate a hash (like SHA256) so as far I understood PBKDF2 is basically a hash function that uses an underlying function in order to generate a hash but what I don't understand is that what's the point of hmac here?
I expected to use something like PBKDF2WithSHA512 instead of PBKDF2WithHmacSHA512 and I really can't understand what's the point of HMAC.