Hello everyone,
I had the same problem and fixed it a few days ago. Everything seems to work since.
I'll explain my solution, and if you think it's a good one, I'll do a pull request.
Problem : When the “case insensitive” option was activated, secret answers containing a capital letter didn't work.
Cause: When the secret question is compared to “case insensitive”, it is lower-cased (with toLowerCase()), then salted and hashed. But when it's saved, it's not lower-cased. As a result, it will never match.
Code : The “ldapchai” library has changed version. In it, you'll find the comparison and recording of questions. I captured these images in debug mode. So you can see the variable values at the end of the lines.
Solution: I downloaded the code from the “ldapchai” project, git checkout the 8.0.5 branch used by pwm 2.0.6. I added the line that allows lower-casing when “case insensitive” is enabled:
final String casedAnswer = this.caseInsensitive ? answer.toLowerCase() : answer;
And replaced the variable in the next line:
this.hashedAnswer = hashValue( casedAnswer );

Then I compiled it with maven (mvn clean install), replaced the old version of pwm with this one, and compiled pwm with maven