Hi Reece,
thanks for looking into failures on Vista.
To me, without understanding this in any more detail, it looks as if Vista is broken here (and thus the Vista return parts should be marked as broken()). However, Vista may be doing the right thing, and thus the behaviour in these cases has changed between XP and Vista. The latter seems more likely, but I do not have any experience in this area, nor understand these tests well enough to say one way or the other.
I think you're probably right that Vista's changed. By definition, that makes it "right." I suspect what it's doing is guessing that something is base64-encoded even if it doesn't begin with the "-----BEGIN CERTIFICATE-----" or whatever header. It'd be interesting to see what format Vista guesses the encoded data was in when the encoded data have no header. I don't have access to a Vista machine myself, so it'd be hard for me to fix it.
Would you mind having a go? Thanks, --Juan