Hi,
I haven't looked into the code, but just some advice from someone who has previously implemented PSS: It's easy to get the support for unusual keysizes wrong. I'd recommend adding test cases for key sizes like 2049 bits, 2047 bits that are not divisible by 8. Such keys aren't common, but they do sometimes appear in the wild in TLS certificates. So this could easily lead to bugs that rarely show up and are hard to debug.